public async Task <ActionResult> PostApplicant( [FromServices] DataContext context, [ModelBinder(BinderType = typeof(JsonWithFilesFormDataModelBinder))] AdoptionApplicant model, IFormFile fileObligationDocument) { if (ModelState.IsValid) { AdoptionProcess process = new AdoptionProcess(); DateTime date = DateTime.Now; process.CreatedOn = model.ModifiedOn; process.ModifiedOn = model.ModifiedOn; process.IsPendent = true; process.Protocol = String.Format("{0:yyyyMMddHHmmss}", date); process.AdoptionTechnicalAnalysis = new AdoptionTechnicalAnalysis(); process.AdoptionAdequacy = new AdoptionAdequacy(); process.Task = ProcessTasks.TechnicalAnalysis; process.Condition = ProcessConditions.Active; process.CreatedBy = model.ModifiedBy; model.AdoptionObligation.DocumentsAttachmentPath = await AddFileAttachment(fileObligationDocument, process.Protocol); process.AdoptionApplicant = model; context.AdoptionProcesses.Add(process); context.AdoptionApplicants.Add(model); await context.SaveChangesAsync(); EmailSenderAdoption.SendEmail(model.AdoptionInterlocutor.Email, "*****@*****.**", $"Notificação do Banco de Áreas PCJ - Adoção (Processo {process.Protocol})", model.AdoptionInterlocutor.FullName, EmailTypes.Begin); return(Ok()); } else { return(BadRequest(ModelState)); } }
public async Task <bool> UpdateApplicant( [FromServices] DataContext context, [ModelBinder(BinderType = typeof(JsonWithFilesFormDataModelBinder))] AdoptionApplicant model, IFormFile fileObligationDocument) { var applicant = await context.AdoptionApplicants .AsNoTracking() .FirstOrDefaultAsync(x => x.AdoptionApplicantId == model.AdoptionApplicantId); var process = await context.AdoptionProcesses .AsNoTracking() .FirstOrDefaultAsync(x => x.AdoptionApplicantId == model.AdoptionApplicantId); if (fileObligationDocument != null) { model.AdoptionObligation.DocumentsAttachmentPath = await AddFileAttachment(fileObligationDocument, process.Protocol); } applicant = model; context.Update(applicant); return((await context.SaveChangesAsync()) > 0); }