Пример #1
0
        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());
        }
Пример #2
0
        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));
        }
        public async Task <IActionResult> Create(CapacitacionesCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                //var files = HttpContext.Request.Form.Files;
                List <ArchivoCapacitaciones> archivoCapacitacionesList = new List <ArchivoCapacitaciones>();

                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, "Capacitaciones");

                    extension = Path.GetExtension(file.FileName);

                    var archivoCapacitaciones = new ArchivoCapacitaciones
                    {
                        //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)
                    };
                    archivoCapacitacionesList.Add(archivoCapacitaciones);
                }



                var user = await _userHelper.GetUserAsync(this.User.Identity.Name);



                var capacitacion = new Capacitacion
                {
                    Fecha = DateTime.Now,
                    Link  = model.Link,
                    Test  = model.Test,
                    tipoCapacitacionId    = model.tipoCapacitacionId,
                    archivoCapacitaciones = archivoCapacitacionesList,
                    user = user
                };

                _dataContext.capacitaciones.Add(capacitacion);
                await _dataContext.SaveChangesAsync();

                await _logRepository.SaveLogs("Crear", "Crea Capacitaciones id: " + capacitacion.Id.ToString(), "Capacitaciones", User.Identity.Name);

                //enviar correo
                //var datos = await _datosRepository.GetDatosCliente(model.cedula);
                var tipoCapacitacion = await _dataContext.tipoCapacitaciones.FindAsync(model.tipoCapacitacionId);

                //var emails = "*****@*****.**";
                //var datos = await _userHelper.GetUserByCedulaAsync(model.cedula);
                var emails = user.Email;

                //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" + " />" +
                                               $"<title>" +
                                               $"</title>" +
                                               $"</head>" +
                                               $"<body>" +
                                               //$"<h1>Plataforma Clientes Nueva Capacitación</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 una nueva Capacitación:" +

                                               $"<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'>Tipo</td><td>{tipoCapacitacion.Tipo}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Capacitación</td><td>{model.Link}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Test</td><td>{model.Test}</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>{capacitacion.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>Call Center: 1-800 RENTING(736846)<br>" +
                                               $"<p>E-Mail: [email protected]<br>" +
                                               $"<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(model));
            }
            //Alert("No se pudo agregar el cliente, revise los datos", Enum.Enum.NotificationType.error);
            //return View(model);
            return(BadRequest(model));
        }
Пример #4
0
        public async Task <IActionResult> Create(NovedadesCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                List <ArchivoNovedades> archivoNovedadesList = new List <ArchivoNovedades>();

                foreach (IFormFile file in model.Files)
                {
                    var path      = string.Empty;
                    var extension = string.Empty;

                    path = await _fileHelper.UploadFileAsync(file, "Novedades");

                    extension = Path.GetExtension(file.FileName);

                    var archivoNovedades = new ArchivoNovedades
                    {
                        //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)
                    };
                    archivoNovedadesList.Add(archivoNovedades);
                }
                var user = await _userHelper.GetUserAsync(this.User.Identity.Name);

                var novedad = new Novedad
                {
                    Cedula           = model.cedula,
                    EstadoSolucion   = "PENDIENTE",
                    Fecha            = DateTime.Now,
                    Observaciones    = model.Observaciones,
                    Placa            = model.PlacaId,
                    Motivo           = model.MotivoId,
                    SubMotivo        = model.SubMotivoId,
                    ViaIngreso       = model.ViaIngresoId,
                    archivoNovedades = archivoNovedadesList,
                    user             = user
                };

                _dataContext.novedades.Add(novedad);
                await _dataContext.SaveChangesAsync();

                await _logRepository.SaveLogs("Crear", "Crea Novedades id: " + novedad.Id.ToString(), "Novedades", User.Identity.Name);

                var lognovedad = new LogNovedad
                {
                    Estado        = "PENDIENTE",
                    Fecha         = DateTime.Now,
                    Usuario       = user,
                    novedad       = novedad,
                    Observaciones = model.Observaciones,
                };
                _dataContext.logNovedades.Add(lognovedad);
                await _dataContext.SaveChangesAsync();

                //enviar correo
                //var datos = await _datosRepository.GetDatosCliente(model.cedula);
                //var tipoAnalisis = await _dataContext.TiposAnalisis.FindAsync(model.TipoAnalisisId);

                //var emails = "*****@*****.**";
                var datos = await _userHelper.GetUserByCedulaAsync(model.cedula);

                var emails = user.Email + ',' + datos.Email;

                //TODO: cambiar direccion de correo
                _mailHelper.SendMailAttachment(emails, "SoftCRP Nueva Novedad 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>SoftCRP Nuevo Novedad</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'>Motivo</td><td>{model.MotivoId}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>SubMotivo</td><td>{model.SubMotivoId}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Vía Ingreso</td><td>{model.ViaIngresoId}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Fecha</td><td>{novedad.Fecha}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Creador por</td><td>{user.FullName}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Observación</td><td>{model.Observaciones}</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));
        }