public async Task <IActionResult> AddFile(ArchivoAnalisisViewModel model) { if (ModelState.IsValid) { var path = string.Empty; var extension = string.Empty; if (model.Archivo != null) { path = await _fileHelper.UploadFileAsync(model.Archivo, "Analisis"); extension = Path.GetExtension(model.Archivo.FileName); var archivoAnalisis = new ArchivoAnalisis { analisis = await _dataContext.Analises.FindAsync(model.Id), ArchivoPath = path, user = await _userHelper.GetUserAsync(this.User.Identity.Name), Fecha = DateTime.Now, tamanio = model.Archivo.Length, TipoArchivo = extension, //Property = await _dataContext.Properties.FindAsync(model.Id) }; _dataContext.ArchivosAnalisis.Add(archivoAnalisis); await _dataContext.SaveChangesAsync(); await _logRepository.SaveLogs("Guarda", "Archivo Análisis Id: " + archivoAnalisis.Id.ToString(), "Análisis", User.Identity.Name); //return RedirectToAction($"{nameof(Retorno)}/{archivoAnalisis.analisis.Cedula}"); return(RedirectToAction(nameof(Edit), new { id = model.Id })); } } return(View(model)); }
public async Task <IActionResult> CreateAsyncAnalisis([FromForm] AnalisisRequest model) { if (!ModelState.IsValid) { return(BadRequest()); } List <ArchivoAnalisis> archivoAnalises = new List <ArchivoAnalisis>(); var user = await _userHelper.GetUserByIdAsync(model.JsonAnalisis.UserId.ToString()); if (user == null) { return(BadRequest()); } foreach (IFormFile file in model.Files) { //var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images", photo.FileName); //var stream = new FileStream(path, FileMode.Create); //photo.CopyToAsync(stream); //product.Photos.Add(photo.FileName); var path = string.Empty; var extension = string.Empty; path = await _fileHelper.UploadFileAsync(file, "Analisis"); extension = Path.GetExtension(file.FileName); var archivoAnalisis = new ArchivoAnalisis { //capacitacion = await _dataContext.capacitaciones.FindAsync(model.Id), ArchivoPath = path, user = user, Fecha = DateTime.Now, tamanio = file.Length, TipoArchivo = extension, //Property = await _dataContext.Properties.FindAsync(model.Id) }; archivoAnalises.Add(archivoAnalisis); } var analisis = new Analisis { Cedula = model.JsonAnalisis.cedula, Fecha = DateTime.Now, Observaciones = model.JsonAnalisis.Observaciones, Placa = model.JsonAnalisis.PlacaId, tipoAnalisisId = model.JsonAnalisis.TipoAnalisisId, ArchivosAnalisis = archivoAnalises, user = user }; _dataContext.Analises.Add(analisis); await _dataContext.SaveChangesAsync(); //enviar correo await _logRepository.SaveLogs("API Crear", "Crea Análisis Id: " + analisis.Id.ToString(), "Análisis", user.UserName); var tipoAnalisis = await _dataContext.TiposAnalisis.FindAsync(model.JsonAnalisis.TipoAnalisisId); //var emails = "*****@*****.**"; var datos = await _userHelper.GetUserByCedulaAsync(model.JsonAnalisis.cedula); var emails = user.Email.Trim() + ',' + datos.Email.Trim(); //TODO: cambiar direccion de correo _mailHelper.SendMailAttachment(emails, "Plataforma Clientes", $"<html xmlns='http://www.w3.org/1999/xhtml'>" + $"<head>" + $"<meta http-equiv='Content-Type' content='text/html; charset = UTF-8'/>" + $"<meta content = 'text/html; charset=utf-8'/>" + $"<title>" + $"</title>" + $"</head>" + $"<body>" + //$"<h1>Plataforma Clientes Nuevo Análisis</h1>" + $"<hr width=100% align='center' size=30 color='#002D73' style='margin:0px;padding:0px'>" + $"<hr width=100% align='center' size=5 color='#F2AE0B' style='margin:0px;padding:0px'>" + $"<br><br>" + $"<p>Estimado Cliente" + $"<p>Renting Pichincha comunica que se ha cargado en la plataforma de clientes un nuevo Análisis perteneciente al vehículo:" + $"<table border='0' cellpadding='0' cellspacing='0' height='100%' width='100%' style='border-collapse:collapse; max-width:600px!important; width:100%; margin: auto'>" + $"<tr><td style='font-weight:bold'>Placa</td><td>{model.JsonAnalisis.PlacaId}</td></tr>" + $"<tr><td style='font-weight:bold'>Tipo</td><td>{tipoAnalisis.Tipo}</td></tr>" + $"<tr><td style='font-weight:bold'>Observación</td><td>{model.JsonAnalisis.Observaciones}</td></tr>" + $"<tr><td style='font-weight:bold'>Creador por</td><td>{user.FullName}</td></tr>" + $"<tr><td style='font-weight:bold'>Fecha</td><td>{analisis.Fecha}</td></tr></table>" + $"<br><br>" + $"<p>Para poder revisar la información de su plataforma ingrese a su cuenta con su usuario y contraseña." + $"<div align='center'><a href='https://clientes.rentingpichincha.com'><img src='https://clientes.rentingpichincha.com/images/email1.png' align='center'></a></div>" + $"<br><br>" + $"<p>Es un placer estar en contacto.<br>" + $"<p>Saludos cordiales<br>" + $"<br><br>" + $"<p>Consorcio Pichincha S.A CONDELPI<br>" + $"<p>Av.González Suárez N32-346 y Coruña<br>" + $"<p><img src='https://clientes.rentingpichincha.com/images/call.png' width=30px>Call Center: 1-800 RENTING(736846)<br>" + $"<p><img src='https://clientes.rentingpichincha.com/images/email.png' width=25px>E-Mail: [email protected]<br>" + $"<p><img src='https://clientes.rentingpichincha.com/images/whatsapp.jpg' width=25px>WhatsApp: 0997652137" + $"<p>Quito-Ecuador" + $"<br><br>" + $"<img src='https://clientes.rentingpichincha.com/images/email2.png' width=200px>" + $"<hr width=100% align='center' size=30 color='#002D73' style='margin:0px;padding:0px'>" + $"<hr width=100% align='center' size=5 color='#F2AE0B' style='margin:0px;padding:0px'></body></html>" , model.Files); return(Ok()); }
public async Task <IActionResult> Create(AnalisisCreateViewModel model) { if (ModelState.IsValid) { List <ArchivoAnalisis> archivoAnalises = new List <ArchivoAnalisis>(); foreach (IFormFile file in model.Files) { //var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/images", photo.FileName); //var stream = new FileStream(path, FileMode.Create); //photo.CopyToAsync(stream); //product.Photos.Add(photo.FileName); var path = string.Empty; var extension = string.Empty; path = await _fileHelper.UploadFileAsync(file, "Analisis"); extension = Path.GetExtension(file.FileName); var archivoAnalisis = new ArchivoAnalisis { //capacitacion = await _dataContext.capacitaciones.FindAsync(model.Id), ArchivoPath = path, user = await _userHelper.GetUserAsync(this.User.Identity.Name), Fecha = DateTime.Now, tamanio = file.Length, TipoArchivo = extension, //Property = await _dataContext.Properties.FindAsync(model.Id) }; archivoAnalises.Add(archivoAnalisis); } var user = await _userHelper.GetUserAsync(this.User.Identity.Name); var analisis = new Analisis { Cedula = model.cedula, Fecha = DateTime.Now, Observaciones = model.Observaciones, Placa = model.PlacaId, tipoAnalisisId = model.TipoAnalisisId, ArchivosAnalisis = archivoAnalises, user = user }; _dataContext.Analises.Add(analisis); await _dataContext.SaveChangesAsync(); await _logRepository.SaveLogs("Crear", "Crea Análisis Id: " + analisis.Id.ToString(), "Análisis", User.Identity.Name); //enviar correo //var datos = await _datosRepository.GetDatosCliente(model.cedula); var datos = await _userHelper.GetUserByCedulaAsync(model.cedula); var tipoAnalisis = await _dataContext.TiposAnalisis.FindAsync(model.TipoAnalisisId); //var emails = "*****@*****.**"; var emails = user.Email; //TODO: cambiar direccion de correo _mailHelper.SendMailAttachment(emails, "Plataforma Clientes Nuevo Analisis Creado", $"<html xmlns='http://www.w3.org/1999/xhtml'>" + $"<head>" + $"<meta http-equiv=" + "Content-Type" + " content=" + "text/html; charset = UTF-8" + " />" + $"<title>" + $"</title>" + $"</head>" + $"<body>" + $"<h1>Plataforma Clientes Nuevo Analisis</h1>" + $"<table border='0' cellpadding='0' cellspacing='0' height='100%' width='100%' style='border-collapse:collapse; max-width:600px!important; width:100%; margin: auto'>" + $"<tr><td style='font-weight:bold'>Placa</td><td>{model.PlacaId}</td></tr>" + $"<tr><td style='font-weight:bold'>Tipo</td><td>{tipoAnalisis.Tipo}</td></tr>" + $"<tr><td style='font-weight:bold'>Observación</td><td>{model.Observaciones}</td></tr>" + $"<tr><td style='font-weight:bold'>Creador por</td><td>{user.FullName}</td></tr>" + $"<tr><td style='font-weight:bold'>Fecha</td><td>{analisis.Fecha}</td></tr></table></body></html>", model.Files); return(Ok(model)); } //Alert("No se pudo agregar el cliente, revise los datos", Enum.Enum.NotificationType.error); //return View(model); return(BadRequest(model)); }