public async Task MarkWorkflowStarted( [ActivityTrigger] Guid requestId) { SigningRequest request = await _db.Requests.SingleAsync(r => r.Id == requestId); request.WorkflowStartedAt = DateTimeOffset.UtcNow; await _db.SaveChangesAsync(); }
public async Task SetEventOrchestratorInfo( [ActivityTrigger] SetEventOrchestratorInfoParameters parameters) { Signer signer = await _db.Signers.SingleAsync(s => s.Email == parameters.SignerEmail && s.RequestId == parameters.RequestId && s.WaitForSignatureInstanceId == null); signer.WaitForSignatureInstanceId = parameters.InstanceId; await _db.SaveChangesAsync(); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } if (!Model.Document.FileName.EndsWith(".pdf", StringComparison.OrdinalIgnoreCase)) { ModelState.AddModelError("Document", "Must send PDF file"); return(Page()); } var id = Guid.NewGuid(); string[] signerEmails = Model.SignerEmails .Split(',', StringSplitOptions.RemoveEmptyEntries) .ToArray(); var req = new SigningRequest { Id = id, Subject = Model.Subject, Message = Model.Message, DocumentName = $"{Guid.NewGuid()}.pdf", Signers = signerEmails .Select(email => new Signer { Email = email.Trim() }) .ToList() }; _db.Requests.Add(req); await UploadAttachmentAsync(req.Id); await _db.SaveChangesAsync(); await StartWorkflowAsync(req, signerEmails); return(RedirectToPage("Status", new { id = id.ToString() })); }