public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await UserManager.FindByNameAsync(model.Email);

            if (user == null)
            {
                // No revelar que el usuario no existe
                return(RedirectToAction("ResetPasswordConfirmation", "Account"));
            }
            var VerificacionCodigo = RecuperacionContrasenaControlador.ConsultaRecuperacionContrasena(user.Id, model.Code);

            if (VerificacionCodigo != null)
            {
                var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password);

                if (result.Succeeded)
                {
                    RecuperacionContrasenaControlador.EliminarRecuperacion(user.Id);
                    GestorCorreo.EmailCambioContrasena(model.Email);
                    return(RedirectToAction("ResetPasswordConfirmation", "Account"));
                }
                AddErrors(result);
            }

            return(View());
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    model.IdUser = user.Id;
                    UsuarioControlador.NuevoUsuario(model);
                    GestorCorreo.EmailCuentaNueva(model.Email, model.Password);
                    //await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);

                    // Para obtener más información sobre cómo habilitar la confirmación de cuentas y el restablecimiento de contraseña, visite https://go.microsoft.com/fwlink/?LinkID=320771
                    // Enviar correo electrónico con este vínculo
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirmar cuenta", "Para confirmar la cuenta, haga clic <a href=\"" + callbackUrl + "\">aquí</a>");

                    return(RedirectToAction("ListaUsuario", "Account"));
                }
                AddErrors(result);
            }
            CargarFormulario();
            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            return(View(model));
        }
        public async Task <ActionResult> ForgotPassword(ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByNameAsync(model.Email);

                if (user != null)
                {
                    //Para obtener más información sobre cómo habilitar la confirmación de cuentas y el restablecimiento de contraseña, visite https://go.microsoft.com/fwlink/?LinkID=320771
                    //Enviar correo electrónico con este vínculo
                    string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);

                    RecuperacionContrasenaViewModel Recuperacion = new RecuperacionContrasenaViewModel();
                    Recuperacion.IdUser = user.Id;
                    Recuperacion.Token  = code;
                    RecuperacionContrasenaControlador.NuevaRecuperacionContrasena(Recuperacion);
                    var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    GestorCorreo.EmailRecuperacionContrasena(model.Email, callbackUrl);
                    //await UserManager.SendEmailAsync(user.Id, "Restablecer contraseña", "Para restablecer la contraseña, haga clic <a href=\"" + callbackUrl + "\">aquí</a>");

                    // No revelar que el usuario no existe o que no está confirmado
                    //return View("ForgotPasswordConfirmation");
                }
                return(RedirectToAction("ForgotPasswordConfirmation", "Account"));
            }

            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            return(View(model));
        }
Esempio n. 4
0
        public void ProcesarEnvioAAgencias(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay)
        {
            var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();

            var lclientes = lboletosDeudaPendiente.GroupBy(p => new { p.IdCliente }).Select(s => s.Key.IdCliente).ToList();

            lclientes.ForEach(lcliente =>
            {
                var lboletosPorCliente = lboletosDeudaPendiente.Where(boleto => boleto.IdCliente == lcliente).ToList();
                var lencabezado        = string.Format("Estimado Cliente : {0}, ", lboletosPorCliente[0].NombreCliente);
                var lcorreoAsunto      = string.Format(asunto, lboletosPorCliente[0].NombreCliente, lboletosPorCliente[0].IdCliente);

                lcorreoDisplay     = string.Format("{0} - Robot Anulaciones Avisos - Agencia", Configuracion.Gds);
                var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCliente);
                var lcorreoBody    = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString());


                var lscorreo = new GestorCorreo
                {
                    EmailFrom    = lcorreoFrom,
                    EmailTo      = lboletosPorCliente[0].CorreoCliente,
                    EmailCC      = (string.IsNullOrEmpty(lboletosPorCliente[0].CorreoPromotor) ? Configuracion.correo_EmailPromotorAlternativo : lboletosPorCliente[0].CorreoPromotor) + ";" + Configuracion.correo_EmailCoordConsolidador,
                    EmailDisplay = lcorreoDisplay,
                    EmailBody    = lcorreoBody,
                    EmailSubject = lcorreoAsunto
                };
                lscorreo.Enviar();
            });
        }
        // POST: api/Publish
        public string Post([FromBody] RequestPub requestPub)
        {
            HttpClient clienteHttp = new HttpClient();

            //Abrir conexion
            CorePOSApi.Business.Data.context.DataModelService da = new CorePOSApi.Business.Data.context.DataModelService();
            string     cadena  = "SP_CONSULTAR_PROVEEDORES";
            SqlCommand comando = new SqlCommand(cadena, da._connection);
            //Ejecuto consulta de proveedores
            SqlDataReader registros = comando.ExecuteReader();

            while (registros.Read())
            {
                string url_consumo = registros["URL_CONSUMO"].ToString();
                //Si esta subscrito
                if (url_consumo != "")
                {
                    requestPub.Codigo_proveedor = registros["CODIGO"].ToString();
                    var request = clienteHttp.PostAsync(url_consumo, requestPub, new JsonMediaTypeFormatter());
                    request.Wait();
                    GestorCorreo gestor = new GestorCorreo();
                    gestor.EnviarCorreo(registros["CORREO"].ToString(), "Cotización",
                                        "Cotización - Codigo Despacho: " + requestPub.Codigo_despacho + " - Volumen: " + requestPub.Volumen + " - Peso: " + requestPub.Peso + " - Direccion_origen: " + requestPub.Direccion_origen + " - Direccion_destino: " + requestPub.Direccion_destino);
                }
            }
            da._connection.Close();

            return("Oferta enviada");
        }
Esempio n. 6
0
        public void ProcesarEnvioACajas(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay)
        {
            var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();
            var lcajas      = lboletosDeudaPendiente.GroupBy(p => new { p.CorreoCaja }).Select(s => s.Key.CorreoCaja).ToList();

            lcajas.ForEach(lcaja =>
            {
                var lboletosPorCaja = lboletosDeudaPendiente.Where(boleto => boleto.CorreoCaja.Equals(lcaja)).ToList();
                var lencabezado     = string.Format("Caja: {0}, ", lboletosPorCaja[0].DescripcionSucursal);
                var factoryReporte  = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCaja);
                var lcorreoBody     = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString());
                var lcorreoAsunto   = string.Format(asunto, lboletosPorCaja[0].DescripcionSucursal);

                var lscorreo = new GestorCorreo
                {
                    EmailFrom    = lcorreoFrom,
                    EmailTo      = lboletosPorCaja[0].CorreoCaja,
                    EmailCC      = "*****@*****.**",
                    EmailBCC     = Configuracion.correo_EmailRobotAlertas,
                    EmailDisplay = lcorreoDisplay,
                    EmailBody    = lcorreoBody,
                    EmailSubject = lcorreoAsunto
                };
                lscorreo.Enviar();
            });
        }
Esempio n. 7
0
        public void ProcesarEnvioAVendedores(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay)
        {
            var lcorreoFrom = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();
            var lvendedores = lboletosDeudaPendiente.GroupBy(p => new { p.IdVendedor }).Select(s => s.Key.IdVendedor).ToList();

            lvendedores.ForEach(lvendedor =>
            {
                var lboletosPorVendedor = lboletosDeudaPendiente.Where(boleto => boleto.IdVendedor.Equals(lvendedor)).ToList();

                var lencabezado = string.Format("Estimado(a): {0}, ", lboletosPorVendedor[0].Vendedor.Nombre);

                var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorVendedor);
                var lcorreoBody    = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString());
                var lcorreoAsunto  = string.Format(asunto, lboletosPorVendedor[0].Vendedor.Nombre);

                var lscorreo = new GestorCorreo
                {
                    EmailFrom    = lcorreoFrom,
                    EmailTo      = lboletosPorVendedor[0].Vendedor.Correo,
                    EmailCC      = (string.IsNullOrEmpty(lboletosPorVendedor[0].CorreoPromotor) ? Configuracion.correo_EmailPromotorAlternativo : lboletosPorVendedor[0].CorreoPromotor),
                    EmailDisplay = lcorreoDisplay,
                    EmailBody    = lcorreoBody,
                    EmailSubject = lcorreoAsunto
                };
                lscorreo.Enviar();
            });
        }
Esempio n. 8
0
 static void Main(string[] args)
 {
     try
     {
         GestorCorreo gestor = new GestorCorreo();
         MailMessage  correo = new MailMessage("*****@*****.**", "*****@*****.**", "Reporte Mensual.", "Por favor ve el reporte adjunto.");
         gestor.EnviarCorreo(correo);
         gestor.EnviarCorreo("*****@*****.**", "Prueba", "Mensaje en texto plano");
         gestor.EnviarCorreo("*****@*****.**", "Prueba", "<h1>Mensaje en HTML<h1><p><s>Super Awesome html Message.</s></p>", true);
     }
     catch (System.Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
Esempio n. 9
0
        private void btEnviar_Click(object sender, EventArgs e)
        {
            //EJEMPLO DE ENVIO
            //GestorCorreo gc = new GestorCorreo("*****@*****.**", "Eskpe1234", GestorCorreo.TipoServidor.Otro);
            //gc.NuevoCorreo("*****@*****.**", "Asuntooo", "Cuerpo del menesja", false);
            //MessageBox.Show(gc.EnviarCorreo());

            GestorCorreo gc = new GestorCorreo(correoQuienEnvia, Password, GestorCorreo.TipoServidor.Otro);

            List <string> archivos = new List <string>();

            archivos = adjuntos.Union(adjuntostemp).ToList();

            gc.NuevoCorreo(emails.Where(x => x.grupo == "Para").Select(x => x.correo).ToList(),
                           emails.Where(x => x.grupo == "CC").Select(x => x.correo).ToList(),
                           emails.Where(x => x.grupo == "CCO").Select(x => x.correo).ToList(),
                           txtAsunto.Text, txtDescripcion.Text, chkContenidoHTML.Checked, archivos);
            MessageBox.Show(gc.EnviarCorreo());
        }
    protected void BTN_Restablecer_Click(object sender, EventArgs e)
    {
        DBRecuperarContrasena dBRecuperarContrasena = new DBRecuperarContrasena();
        DAOUsuario            dBUsuario             = new DAOUsuario();

        if (dBUsuario.obtenerUsuario(TB_Identificacion.Text.ToString()).Rows.Count == 0)
        {
            LB_Mensaje.Text        = "El usuario NO es valido!";
            TB_Identificacion.Text = "";
        }
        else if (dBRecuperarContrasena.verificarExistenciaSolicitud(TB_Identificacion.Text.ToString()).Rows.Count > 0)
        {
            LB_Mensaje.Text        = "Ya tiene una solicitud de restablecimiento, verifique en su correo.";
            TB_Identificacion.Text = "";
        }
        else
        {
            LFuncion lFuncion = new LFuncion();
            string   token    = lFuncion.encriptar(TB_Identificacion.Text.ToString());
            String   sesion   = Session.SessionID;
            dBRecuperarContrasena.agregarSolicitudDeRestablecerContrasena(TB_Identificacion.Text.ToString(), token, sesion);

            string mensaje = "Su link para restablecer su contraseña: " + "http://localhost:51250/View/RecuperarContrasenaPasoDos.aspx?" + token;

            GestorCorreo gestorCorreo = new GestorCorreo();

            DataTable usuario = dBUsuario.obtenerUsuario(TB_Identificacion.Text.ToString());


            gestorCorreo.enviarCorreo(usuario.Rows[0]["correo"].ToString(), "Restablecer Contraseña", mensaje);

            LB_Mensaje.Text = "Se envio informacion a su correo!";

            TB_Identificacion.Text = "";

            TB_Identificacion.Enabled = false;

            BTN_Restablecer.Enabled = false;
        }
    }
Esempio n. 11
0
        public void ProcesoEnvioNoFacturados()
        {
            var lvendedores = boletos.GroupBy(p => new { p.IdVendedor }).Select(s => s.Key.IdVendedor).ToList();

            lvendedores.ForEach(lvendedor =>
            {
                var lboletosPorVendedor = boletos.Where(boleto => boleto.IdVendedor.Equals(lvendedor)).ToList();

                var lpseudos = lboletosPorVendedor.GroupBy(p => new { p.Pseudo }).Select(s => s.Key.Pseudo).ToList();
                lpseudos.ForEach(lpseudo =>
                {
                    var lboletosPorPseudo = lboletosPorVendedor.Where(boleto => boleto.Pseudo.Equals(lpseudo)).ToList();

                    var lencabezado = string.Format("Estimado(a): {0}, ", lboletosPorPseudo[0].Vendedor.Nombre);

                    mensaje = new StringBuilder();
                    mensaje.Append("Se hace de tu conocimiento que los siguientes boletos emitidos no están facturados.");

                    var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorPseudo);
                    var lcorreoBody    = factoryReporte.ConstruirCorreo(lencabezado, mensaje.ToString());

                    var lcorreoDisplay = string.Format("Alertas GDS [{0}]", lboletosPorPseudo[0].Pseudo);
                    var lcorreoFrom    = string.Format("{0}[email protected]", lboletosPorPseudo[0].Pseudo);


                    var lscorreo = new GestorCorreo
                    {
                        EmailFrom    = lcorreoFrom,
                        EmailTo      = lboletosPorPseudo[0].Vendedor.Correo,
                        EmailCC      = lboletosPorPseudo[0].Vendedor.CorreoJefe,
                        EmailDisplay = lcorreoDisplay,
                        EmailBody    = lcorreoBody,
                        EmailSubject = "Boletos No Facturados"
                    };
                    lscorreo.Enviar();
                });
            });
        }
Esempio n. 12
0
        public void ProcesarEnvioPromotores(List <BoletoRobotDTO> lboletosDeudaPendiente, string mensaje, string asunto, string lcorreoDisplay)
        {
            var            lcorreoFrom     = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();
            ReporteFactory lreporteFactory = null;
            var            lpromotores     = lboletosDeudaPendiente.GroupBy(p => new { p.IdPromotor }).Select(s => s.Key.IdPromotor).ToList();

            lpromotores.ForEach(lpromotor =>
            {
                var lboletosPorPomotor = lboletosDeudaPendiente.Where(boleto => boleto.IdPromotor == lpromotor).ToList();
                var lcorreoAsunto      = string.Format(asunto, lboletosPorPomotor[0].NombrePromotor);
                var lencabezado        = string.Format("Estimado(a): {0}, ", lboletosPorPomotor[0].NombrePromotor);
                var lconsolidado       = new StringBuilder();
                var lclientesPromotor  = lboletosPorPomotor.GroupBy(p => new { p.IdCliente }).Select(s => s.Key.IdCliente).ToList();
                lclientesPromotor.ForEach(lcliente =>
                {
                    var lboletosPorCliente = lboletosDeudaPendiente.Where(boleto => boleto.IdCliente == lcliente).ToList();
                    lreporteFactory        = ReporteFactory.getReporteFactory(tipoProceso, lboletosPorCliente);
                    var ltabla             = lreporteFactory.ConstruirTablaReporte();
                    lconsolidado.AppendLine(string.Format("<span class='textContenidoNegrita'> AGENCIA : {0} DK : {1}  </span>", lboletosPorCliente[0].NombreCliente, lboletosPorCliente[0].IdCliente));
                    lconsolidado.AppendLine(string.Format("<br>{0}<br>", ltabla));
                });

                var lcorreoBody = lreporteFactory.ConstruirCorreo(lencabezado, mensaje.ToString(), lconsolidado.ToString());

                var lscorreo = new GestorCorreo
                {
                    EmailFrom    = lcorreoFrom,
                    EmailTo      = lboletosPorPomotor[0].CorreoPromotor,
                    EmailCC      = (string.IsNullOrEmpty(lboletosPorPomotor[0].CorreoJefePromotor) ? string.Empty : lboletosPorPomotor[0].CorreoJefePromotor),
                    EmailDisplay = lcorreoDisplay,
                    EmailBody    = lcorreoBody,
                    EmailSubject = lcorreoAsunto
                };
                lscorreo.Enviar();
            });
        }
Esempio n. 13
0
        public void ProcesoEnvioNOAnulados(List <BoletoRobotDTO> boletosNoAnulados)
        {
            display = string.Format("{0} - Robot Anulaciones Avisos", Configuracion.Gds);
            asunto  = string.Format("El Robot de Anulaciones {0} NO PUDO ANULAR boletos pendientes de pago.", Configuracion.Gds);
            mensaje = new StringBuilder();
            mensaje.Append(string.Format("El robot de Anulaciones {0} NO PUDO ANULAR los siguientes boletos. Verificar los mensajes de error devueltos por el GDS : ", Configuracion.Gds));

            var factoryReporte = ReporteFactory.getReporteFactory(tipoProceso, boletosNoAnulados);
            var lcorreoBody    = factoryReporte.ConstruirCorreo("", mensaje.ToString());
            var lcorreoFrom    = string.Format("{0}[email protected]", Configuracion.Gds).ToLower();

            var lscorreo = new GestorCorreo
            {
                EmailFrom    = lcorreoFrom,
                EmailTo      = Configuracion.correo_EmailCoordConsolidador,
                EmailCC      = Configuracion.correo_EmailCounterTurno + ";" + Configuracion.correo_EmailSupervisorCounterIA,
                EmailBCC     = Configuracion.correo_EmailRobotAlertas + ";" + Configuracion.correo_EmailNotificacion,
                EmailDisplay = display,
                EmailBody    = lcorreoBody,
                EmailSubject = asunto
            };

            lscorreo.Enviar();
        }
Esempio n. 14
0
 private void EnviarCorreo_Load(object sender, EventArgs e)
 {
     CGestorCorreo = new GestorCorreo();
 }