09-01-2024
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using EnvelopeGenerator.Web.Models;
|
||||
using EnvelopeGenerator.Web.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Primitives;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace EnvelopeGenerator.Web.Controllers
|
||||
@@ -10,7 +11,7 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
{
|
||||
private readonly EnvelopeService _envelopeService;
|
||||
|
||||
public HomeController(DatabaseService database, LoggingService logging, EnvelopeService envelopeService): base(database, logging)
|
||||
public HomeController(DatabaseService databaseService, LoggingService loggingService, EnvelopeService envelopeService): base(databaseService, loggingService)
|
||||
{
|
||||
_envelopeService = envelopeService;
|
||||
}
|
||||
@@ -28,12 +29,83 @@ namespace EnvelopeGenerator.Web.Controllers
|
||||
[HttpGet]
|
||||
[Route("/EnvelopeKey/{EnvelopeReceiverId}")]
|
||||
public IActionResult ShowEnvelope()
|
||||
{
|
||||
string envelopeKey = (string)HttpContext.Request.RouteValues["EnvelopeReceiverId"];
|
||||
|
||||
EnvelopeResponse response = _envelopeService.LoadEnvelope(envelopeKey);
|
||||
string accessCode = response.Receiver.AccessCode;
|
||||
|
||||
if (!String.IsNullOrEmpty(accessCode))
|
||||
{
|
||||
bool accessCodeAlreadyRequested = database.Models.receiverModel.AccessCodeAlreadyRequested(response.Receiver.Email, response.Envelope.Id);
|
||||
|
||||
if (!accessCodeAlreadyRequested)
|
||||
{
|
||||
// Send email with password
|
||||
bool actionResult = database.Services.actionService.RequestAccessCode(response.Envelope, response.Receiver);
|
||||
bool result = database.Services.emailService.SendDocumentAccessCodeReceivedEmail(response.Envelope, response.Receiver);
|
||||
}
|
||||
|
||||
return Redirect($"/EnvelopeKey/{envelopeKey}/Locked");
|
||||
}
|
||||
else
|
||||
{
|
||||
ViewData["EnvelopeKey"] = envelopeKey;
|
||||
return View();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("/EnvelopeKey/{EnvelopeReceiverId}/Locked")]
|
||||
public IActionResult ShowEnvelopePost()
|
||||
{
|
||||
string envelopeKey = (string)HttpContext.Request.RouteValues["EnvelopeReceiverId"];
|
||||
|
||||
StringValues accessCodeFromForm = HttpContext.Request.Form["access_code"];
|
||||
|
||||
if (accessCodeFromForm.Count == 0)
|
||||
{
|
||||
return Redirect($"/EnvelopeKey/{envelopeKey}/Locked");
|
||||
}
|
||||
|
||||
if (accessCodeFromForm.Count > 1)
|
||||
{
|
||||
return Redirect($"/EnvelopeKey/{envelopeKey}/Locked");
|
||||
}
|
||||
|
||||
EnvelopeResponse response = _envelopeService.LoadEnvelope(envelopeKey);
|
||||
string accessCode = response.Receiver.AccessCode;
|
||||
|
||||
if (string.IsNullOrEmpty(accessCodeFromForm[0]))
|
||||
{
|
||||
return Redirect($"/EnvelopeKey/{envelopeKey}/Locked");
|
||||
}
|
||||
|
||||
if (accessCode.Equals(accessCodeFromForm[0], StringComparison.Ordinal))
|
||||
{
|
||||
bool actionResult = database.Services.actionService.EnterCorrectAccessCode(response.Envelope, response.Receiver);
|
||||
ViewData["EnvelopeKey"] = envelopeKey;
|
||||
return View("ShowEnvelope");
|
||||
}
|
||||
else
|
||||
{
|
||||
bool actionResult = database.Services.actionService.EnterIncorrectAccessCode(response.Envelope, response.Receiver);
|
||||
return Redirect($"/EnvelopeKey/{envelopeKey}/Locked");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("/EnvelopeKey/{EnvelopeReceiverId}/Locked")]
|
||||
public IActionResult EnvelopeLocked()
|
||||
{
|
||||
ViewData["EnvelopeKey"] = HttpContext.Request.RouteValues["EnvelopeReceiverId"];
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
|
||||
|
||||
[HttpGet]
|
||||
[Route("/EnvelopeKey/{EnvelopeReceiverId}/Success")]
|
||||
public IActionResult EnvelopeSigned()
|
||||
|
||||
Reference in New Issue
Block a user