public async Task <IActionResult> OnPostAsync()
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(Input.Email);

                if (user != null)
                {
                    var code = await _userManager.GeneratePasswordResetTokenAsync(user);

                    PlantillaCorreoElectronico correo = new PlantillaCorreoElectronico();
                    correo = _context.PlantillaCorreoElectronico.SingleOrDefault(p => p.Asunto.Contains("Recuperar Contrasenia"));
                    string cuerpo  = FuncionesEmail.RecuperarContrasenia(correo.Cuerpo, user.Email, user.UserName, user.Password);
                    string message = await FuncionesEmail.EnviarEmail(_emailSender, Input.Email, correo.Asunto, cuerpo);

                    ModelState.AddModelError(string.Empty, message);
                    return(RedirectToPage("./ForgotPasswordConfirmation"));
                }
                else
                {
                    string message = "Correo electrónico no registrado.";
                    ModelState.AddModelError(string.Empty, message);
                    return(Page());
                }
            }

            return(Page());
        }
Example #2
0
        public async Task <IActionResult> Create(PacienteBecaVulnerabilidad pacienteBecaVulnerabilidad)
        {
            if (ModelState.IsValid)
            {
                PlantillaCorreoElectronico correo = new PlantillaCorreoElectronico();
                correo = _context.PlantillaCorreoElectronico.SingleOrDefault(p => p.Asunto.Contains("Campaña Informativa"));

                List <PacienteBecaVulnerabilidad> pacienteLista = new List <PacienteBecaVulnerabilidad>();
                pacienteLista = _context.PacienteBecaVulnerabilidad.Where(p => p.Grupo == pacienteBecaVulnerabilidad.Grupo).ToList();

                String correosLista = string.Empty;

                foreach (var Paciente in pacienteLista)
                {
                    correosLista = correosLista + Paciente.EmailPersonal + ",";
                }

                string cuerpo = "";
                cuerpo = FuncionesEmail.RecuperarMensajeCampania1(correo.Cuerpo);


                //string message = await FuncionesEmail.EnviarEmail(_emailSender, correosLista, correo.Asunto, cuerpo);
                string message = await FuncionesEmail.EnviarEmail(_emailSender, "*****@*****.**", correo.Asunto, cuerpo);

                ModelState.AddModelError(string.Empty, message);


                //actualizar los datos


                // return RedirectToAction(nameof(Index));
            }
            return(View(pacienteBecaVulnerabilidad));
        }
Example #3
0
        public async Task <IActionResult> Edit(PlantillaCorreoElectronico plantillaCorreoElectronico)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            plantillaCorreoElectronico.Codigo = Encriptacion.Decrypt(plantillaCorreoElectronico.Codigo);
                            _context.Update(plantillaCorreoElectronico);
                            await _context.SaveChangesAsync();

                            await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "PlantillaCorreoElectronico", plantillaCorreoElectronico.Codigo, "U");

                            ViewBag.Message = "Save";

                            return(View(plantillaCorreoElectronico));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    return(View(plantillaCorreoElectronico));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;

                    return(View(plantillaCorreoElectronico));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Example #4
0
        public ObjectResult Post([FromForm] WebAPIEvent apiEvent)
        {
            var   newEvent  = (CitaOdontologica)apiEvent;
            var   i         = (ClaimsIdentity)User.Identity;
            Int64 maxCodigo = 0;

            maxCodigo                     = Convert.ToInt64(_context.CitaOdontologica.Max(f => f.Codigo));
            maxCodigo                    += 1;
            newEvent.Codigo               = maxCodigo.ToString("D8");
            newEvent.CodigoPaciente       = apiEvent.paciente;
            newEvent.CodigoPersonal       = apiEvent.doctor;
            newEvent.FechaCreacion        = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
            newEvent.Observaciones        = apiEvent.observaciones;
            newEvent.FechaInicio          = Convert.ToDateTime(apiEvent.start_date);
            newEvent.FechaFin             = Convert.ToDateTime(apiEvent.end_date); //Convert.ToDateTime(apiEvent.end_date);
            newEvent.HoraInicio           = new TimeSpan(newEvent.FechaInicio.Hour, newEvent.FechaInicio.Minute, newEvent.FechaInicio.Second);
            newEvent.HoraFin              = new TimeSpan(newEvent.FechaFin.Hour, newEvent.FechaFin.Minute, newEvent.FechaFin.Second);
            newEvent.Estado               = "C";
            newEvent.UsuarioCreacion      = i.Name;
            newEvent.RegistroRecetaMedica = false;
            _context.CitaOdontologica.Add(newEvent);
            _context.SaveChanges();

            //enviar el mail

            PlantillaCorreoElectronico correo = new PlantillaCorreoElectronico();

            correo = _context.PlantillaCorreoElectronico.SingleOrDefault(p => p.Asunto.Contains("Cita"));
            var paciente  = _context.Paciente.Where(p => p.Codigo == apiEvent.paciente).FirstOrDefault();
            var doctor    = _context.Personal.Where(d => d.Codigo == apiEvent.doctor).FirstOrDefault();
            var soloFecha = (newEvent.FechaInicio.ToString("dd/MM/yyyy")); ///Convert.ToDateTime(newEvent.FechaInicio.ToString("dd/MM/yyyy"));
            //var fechaLarga = soloFecha.ToLongDateString();
            var hora = newEvent.FechaInicio.ToString("HH:mm");             // newEvent.FechaInicio.TimeOfDay.ToString();//newEvent.FechaInicio.Hour.ToString() + ":" + newEvent.FechaInicio.Minute.ToString();//newEvent.FechaInicio.ToString("hh:mm");

            //envio del email
            string cuerpo = FuncionesEmail.AsuntoCitaOdontologica(correo.Cuerpo,
                                                                  paciente.NombreCompleto, soloFecha, hora, doctor.NombreCompleto);

            var correoMensaje = FuncionesEmail.EnviarEmail(_emailSender, paciente.MailEpn + ',' + paciente.MailPersonal, correo.Asunto, cuerpo);


            return(Ok(new
            {
                tid = newEvent.Codigo,
                action = "inserted"
            }));
        }
Example #5
0
        public async Task <IActionResult> Create(PlantillaCorreoElectronico plantillaCorreoElectronico)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        Int64 maxCodigo = 0;
                        maxCodigo  = Convert.ToInt64(_context.PlantillaCorreoElectronico.Max(f => f.Codigo));
                        maxCodigo += 1;
                        plantillaCorreoElectronico.Codigo = maxCodigo.ToString("D4");
                        _context.Add(plantillaCorreoElectronico);
                        await _context.SaveChangesAsync();

                        string clave = plantillaCorreoElectronico.Asunto;
                        if (clave.Length > 54)
                        {
                            clave.Substring(0, 53);
                        }

                        await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "PlantillaCorreoElectronico", clave, "I");

                        ViewBag.Message = "Save";
                        return(View(plantillaCorreoElectronico));
                    }
                    return(View(plantillaCorreoElectronico));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;
                    return(View(plantillaCorreoElectronico));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }