public async Task <IActionResult> ConfirmarCorreo(string guuid, int id) { ConfirmacionProspecto confirmacionProspecto = await _context.ConfirmacionProspectos.SingleOrDefaultAsync(x => x.Id == id); if (confirmacionProspecto.Guuid == guuid) { confirmacionProspecto.IsConfirmed = true; confirmacionProspecto.FechaConfirmacion = DateTime.Now; confirmacionProspecto.IdEstado = (int)Constants.EstadosProspectos.Confirmado; await _context.SaveChangesAsync(); ViewData["IsConfirmed"] = true; // Auditoría 2019-06-29 AuditoriaProspectos auditor = new AuditoriaProspectos { FechaRegistro = DateTime.Now, IdProspecto = confirmacionProspecto.Prospecto.IdProspecto, IPRegistro = HttpContext.Connection.RemoteIpAddress.ToString(), TipoDeMovimiento = "Confirmación de correo por parte del cliente", UsuarioRegistrante = "Acción iniciada por el cliente", DatosNuevos = "N/A", DatosPrevios = "N/A" }; _context.Add(auditor); await _context.SaveChangesAsync(); } else { ViewData["IsConfirmed"] = false; } return(View()); }
public async Task <IActionResult> Create(IFormCollection form) { int.TryParse(s: form["NumeroDocumento"], result: out int documentoIdentidad); /*if (documentoIdentidad == 0 || _context.Prospectos.Count(x => x.NumeroDocumento == documentoIdentidad) > 0 || _context.Prospectos.Count(x => x.Email == form["email"].ToString().ToUpper()) > 0) * { * return RedirectToAction("Create", new { e = (int)Constants.ErrorList.CedulaCorreoDuplicado}); * } */ Prospecto prospecto = _utilities.FillProspecto(form); _context.Prospectos.Add(prospecto); await _context.SaveChangesAsync(); ConfirmacionProspecto confirmacionProspecto = new ConfirmacionProspecto() { IdProspecto = prospecto.IdProspecto, Guuid = Guid.NewGuid().ToString(), IsConfirmed = false, Agencia = int.Parse(form["Agencia"]), DescripcionAgencia = form["AgenciaDescripcion"], TipoMedio = int.Parse(form["TipoMedio"]), DescripcionTipoMedio = form["TipoMedioDescripcion"], Medio = int.Parse(form["TipoMedioAgencia"]), DescripcionMedio = form["TipoMedioAgenciaDescripcion"], TipoCliente = int.Parse(form["TipoCliente"]), DescripcionTipoCliente = form["TipoClienteDescripcion"], UserId = _userManager.GetUserId(User), IdEstado = (int)Constants.EstadosProspectos.PorConfirmarCorreo, FechaCreacion = DateTime.Now, Observaciones = form["observaciones"], Asesor = int.Parse(form["asesores"]) }; _context.ConfirmacionProspectos.Add(confirmacionProspecto); await _context.SaveChangesAsync(); try { } catch (Exception ex) { string value = ex.Message; } EmailService emailService = new EmailService(_emailConfiguration); EmailMessage emailMessage = new EmailMessage(); CanonicalUrlService urlService = new CanonicalUrlService(_canonicalUrlConfiguration); string src = ""; if (prospecto.IdCompania.Equals(Constants.GuuidElectro)) { emailMessage.FromAddresses = new List <EmailAddress>() { new EmailAddress { Name = "Qurii", Address = "*****@*****.**" } }; emailMessage.ToAddresses = new List <EmailAddress>() { new EmailAddress { Name = prospecto.PrimerNombre + " " + prospecto.SegundoNombre + " " + prospecto.PrimerApellido + " " + prospecto.SegundoApellido, Address = prospecto.Email } }; emailMessage.Subject = "[Qurii] Verificación de correo electrónico"; switch (prospecto.Marca_exclusiva_bien) { case "YAMAHA": src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailMotoMas.html"; break; case "AUTECO - BAJAJ": src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailBajaj.html"; break; case "AUTECO - KAWASAKI": src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailKawasaki.html"; break; case "AUTECO - KTM": src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailKtm.html"; break; default: src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailElectroplan.html"; break; } } else { emailMessage.FromAddresses = new List <EmailAddress>() { new EmailAddress { Name = "Qurii", Address = "*****@*****.**" } }; emailMessage.ToAddresses = new List <EmailAddress>() { new EmailAddress { Name = prospecto.PrimerNombre + " " + prospecto.SegundoNombre + " " + prospecto.PrimerApellido + " " + prospecto.SegundoApellido, Address = prospecto.Email } }; emailMessage.Subject = "[Qurii] Verificación de correo electrónico"; switch (prospecto.Marca_exclusiva_bien) { case "KIA": src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailKiaPlan.html"; break; case "HYUNDAI": src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailAutokoreana.html"; break; case "VOLKSWAGEN": src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailAutofinanciera.html"; break; default: src = _hostingEnvironment.WebRootPath + "/emailtemplates/ConfirmacionCorreo/ConfirmacionEmailAutofinanciera.html"; break; } } emailMessage.Content = String.Format( _utilities.GetTemplate(src), urlService.GetCanonicalUrl() + "Prospectos/confirmarcorreo/?guuid=" + confirmacionProspecto.Guuid + "&id=" + confirmacionProspecto.Id); try { emailService.Send(emailMessage); TempData["EmailResult"] = "Success"; } catch (Exception ex) { TempData["EmailResult"] = "Ha ocurrido un error: " + ex.Message; } TempData.Keep("EmailREsult"); // Auditoría 2019-06-29 AuditoriaProspectos auditor = new AuditoriaProspectos { FechaRegistro = DateTime.Now, IdProspecto = prospecto.IdProspecto, IPRegistro = HttpContext.Connection.RemoteIpAddress.ToString(), TipoDeMovimiento = "Creación de prospecto", UsuarioRegistrante = prospecto.ConfirmacionProspecto.UserId, DatosNuevos = _utilities.GetDatosJson(prospecto), DatosPrevios = "N/A" }; _context.Add(auditor); await _context.SaveChangesAsync(); return(RedirectToAction("Details", "Prospectos", new { id = prospecto.IdProspecto })); }