示例#1
0
        public async Task <IActionResult> Crear(TramitesCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                List <ArchivoTramites> archivoTramitesList = new List <ArchivoTramites>();
                var validez = "NO AVISO";
                if (model.validez == "1")
                {
                    validez = "AVISO";
                }
                string[] fechas      = model.fechas.Split('-');
                var      fechainicio = Convert.ToDateTime(fechas[0]);
                var      fechafin    = Convert.ToDateTime(fechas[1]);

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

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

                        extension = Path.GetExtension(file.FileName);

                        var archivoTramites = new ArchivoTramites
                        {
                            //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)
                        };
                        archivoTramitesList.Add(archivoTramites);
                    }
                }

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

                var tramite = new Tramite
                {
                    Cedula          = model.cedula,
                    Fecha           = DateTime.Now,
                    Observaciones   = model.Observaciones,
                    Placa           = model.PlacaId,
                    tipoTramiteId   = model.TipoTramiteId,
                    Anio            = model.AnioId,
                    Mes             = model.MesId,
                    archivoTramites = archivoTramitesList,
                    user            = user,
                    Ciudad          = model.CiudadId,
                    Dia             = Convert.ToInt32(model.DiaId),
                    Estado          = validez,
                    Desde           = fechainicio,
                    Hasta           = fechafin,
                };

                _dataContext.tramites.Add(tramite);
                await _dataContext.SaveChangesAsync();

                await _logRepository.SaveLogs("Crear", "Crea Trámites Id: " + tramite.Id.ToString(), "Trámites", User.Identity.Name);

                //enviar correo
                //var datos = await _datosRepository.GetDatosCliente(model.cedula);
                var tipoTramite = await _dataContext.tipoTramites.FindAsync(model.TipoTramiteId);

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

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

                //v2 email conductores
                var emailsdrivers = await _datosRepository.GetEmailConductorAsync(model.PlacaId);

                if (!string.IsNullOrEmpty(emailsdrivers))
                {
                    emails = emails + ',' + emailsdrivers;
                }

                //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 Nuevo Trámite</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 Trámite 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.PlacaId}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Tipo</td><td>{tipoTramite.Tipo}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Año</td><td>{model.AnioId}</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Mes</td><td>{model.MesId}</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>{tramite.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(model));
            }
            //Alert("No se pudo agregar el cliente, revise los datos", Enum.Enum.NotificationType.error);
            //return View(model);
            return(BadRequest(model));
        }
示例#2
0
        public async Task <IActionResult> Crear(AnalisisCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                List <ArchivoAnalisis> archivoAnalises = new List <ArchivoAnalisis>();
                if (model.Files != null)
                {
                    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();

                //enviar correo
                await _logRepository.SaveLogs("Crear", "Crea Análisis Id: " + analisis.Id.ToString(), "Análisis", User.Identity.Name);

                var tipoAnalisis = await _dataContext.TiposAnalisis.FindAsync(model.TipoAnalisisId);

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

                var emails = user.Email.Trim() + ',' + datos.Email.Trim();

                //v2 email conductores
                var emailsdrivers = await _datosRepository.GetEmailConductorAsync(model.PlacaId);

                if (!string.IsNullOrEmpty(emailsdrivers))
                {
                    emails = emails + ',' + emailsdrivers;
                }



                _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.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>" +
                                               $"<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(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> Crear(NovedadesCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                List <ArchivoNovedades> archivoNovedadesList = new List <ArchivoNovedades>();
                if (model.Files != null)
                {
                    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);


                //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;


                var idMotivo = await _datosRepository.GetTipoIncidenciaIdAsync(model.MotivoId);

                var idSubmotivo = await _datosRepository.GetSubMotivosIncidenciaIdAsync(model.SubMotivoId);

                var incidencia = new IncidenciaCreateViewModel
                {
                    Placa     = novedad.Placa,
                    submotivo = idSubmotivo.Id,
                    motivo    = idMotivo.Id.ToString(),
                    //usuario = user.UserName,
                    usuario          = "RENTING",
                    observacion      = novedad.Observaciones,
                    usuario_solucion = idSubmotivo.Usuario_asesor
                };
                var registroincidencia = await _datosRepository.IngresoIncidencia(incidencia);

                if (idSubmotivo.Correo_solucionadores != "")
                {
                    emails = emails + ',' + idSubmotivo.Correo_solucionadores;
                }

                //v2 email conductores
                var emailsdrivers = await _datosRepository.GetEmailConductorAsync(model.PlacaId);

                if (!string.IsNullOrEmpty(emailsdrivers))
                {
                    emails = emails + ',' + emailsdrivers;
                }
                ///
                var lognovedad = new LogNovedad
                {
                    Estado        = "PENDIENTE",
                    Fecha         = DateTime.Now,
                    Usuario       = user,
                    novedad       = novedad,
                    Observaciones = model.Observaciones,
                };
                _dataContext.logNovedades.Add(lognovedad);
                await _dataContext.SaveChangesAsync();


                //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>SoftCRP Nuevo Novedad</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 Novedad 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.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'>SLA</td><td>{idSubmotivo.Dias_sla} Días</td></tr>" +
                                               $"<tr><td style='font-weight:bold'>Estado</td><td>PENDIENTE</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>" +
                                               $"<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(model));
            }
            //Alert("No se pudo agregar el cliente, revise los datos", Enum.Enum.NotificationType.error);
            //return View(model);
            return(BadRequest(model));
        }