Exemplo n.º 1
0
        public ActionResult EnviarNuevaPsw(FrmOlvidoPsw formularioCambioPsw)
        {
            if (formularioCambioPsw.Usuario == null)
            {
                formularioCambioPsw.Usuario = formularioCambioPsw.Usuario_Eng;
            }

            var negocioUsuario = new NegocioCuenta();

            // Traduce páginas de CUENTA.
            TraducirPagina((String)Session["IdiomaApp"]);

            if (negocioUsuario.ValidarUsuario(formularioCambioPsw.Usuario))
            {
                if ((String)Session["IdiomaApp"] == "Esp" || (String)Session["IdiomaApp"] == null)
                {
                    Session["ErrorRecuperoPsw"] = "El Usuario que ingreso es inválido.";
                }
                else
                {
                    Session["ErrorRecuperoPsw"] = "Invalid User.";
                }

                return(RedirectToAction("RecuperarPsw"));
            }

            var servicioCorreo = new Mensajeria();

            var usuarioActual = negocioUsuario.BuscarUsuarioPorUsuario(formularioCambioPsw.Usuario);

            negocioUsuario.ActualizarPswUsuario(usuarioActual.Usr, "Inicio1234");

            var aud = new Auditoria();

            aud.grabarBitacora(DateTime.Now, usuarioActual.Usr, "BLANQUEO PSW", "INFO", "El usuario ha pedido nueva clave.");


            try
            {
                if ((String)Session["IdiomaApp"] == "Esp" || (String)Session["IdiomaApp"] == null)
                {
                    var asuntoMsj = "Cambio de Contraseña";
                    var cuerpoMsj = "Se ha reestablecido su contraseña. La misma es 'Inicio1234'. Por favor cuando ingrese correctamente se recomienda cambiarla. Muchas gracias.";
                    servicioCorreo.EnviarCorreo("*****@*****.**", usuarioActual.Email, asuntoMsj, cuerpoMsj);
                }
                else
                {
                    var asuntoMsj = "PSW Changed";
                    var cuerpoMsj = "Your Psw has been changed. The new one is 'Inicio1234'. Please when you Login again for the first time chage it. Thank you very much.";
                    servicioCorreo.EnviarCorreo("*****@*****.**", usuarioActual.Email, asuntoMsj, cuerpoMsj);
                }
            }
            catch
            {
                var audi = new Auditoria();
                audi.grabarBitacora(DateTime.Now, "SISTEMA", "ERROR CAMBIO CLAVE", "ERROR LEVE", "Error al intentar cambiar la PSW.");
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
Exemplo n.º 2
0
        public ActionResult ActualizarDatosCuenta(Usuario usuarioModif)
        {
            var integ = new IntegridadDatos();

            if ((String)Session["PerfilUsuario"] != null && integ.ValidarExistencia("SEG_Usuario") == 1)
            {
                try
                {
                    var ln   = new NegocioCuenta();
                    var aud  = new Auditoria();
                    var inte = new IntegridadDatos();
                    var priv = new Privacidad();

                    // Traduce páginas de CUENTA.
                    TraducirPagina((String)Session["IdiomaApp"]);

                    var usrAnterior = ln.InformacionCuenta(usuarioModif.Id.ToString());

                    if (usuarioModif.Direccion == null && usuarioModif.Telefono == null && usuarioModif.Localidad.Id == 0 && usuarioModif.Idioma.Id == 0)
                    {
                        return(RedirectToAction("Index"));
                    }

                    if (usuarioModif.Direccion == null)
                    {
                        usuarioModif.Direccion = usrAnterior.Direccion;
                    }


                    if (usuarioModif.Telefono == null)
                    {
                        usuarioModif.Telefono = usrAnterior.Telefono;
                    }


                    if (usuarioModif.Localidad.Id == 0)
                    {
                        usuarioModif.Localidad.Id = usrAnterior.Localidad.Id;
                    }

                    if (usuarioModif.Idioma.Id == 0)
                    {
                        usuarioModif.Idioma.Id = usrAnterior.Idioma.Id;
                    }

                    //Actualizo datos.
                    ln.ActualizarDatosCuenta(usuarioModif);

                    var usuarioActual = ln.BuscarUsuarioPorUsuario((String)Session["UsrLogin"]);

                    var usuarioActualDVH = inte.CalcularDVH(usuarioActual.Id.ToString() + priv.Cifrar(usuarioActual.RazonSocial) + priv.Cifrar(usuarioActual.Nombre) + priv.Cifrar(usuarioActual.Apellido) + priv.Cifrar(usuarioActual.Usr) + priv.Cifrar(usuarioActual.Psw) + priv.Cifrar(usuarioActual.CUIL) + usuarioActual.PerfilUsr.Id.ToString() + usuarioActual.Idioma.Id.ToString() + usuarioActual.Localidad.Id.ToString() + usuarioActual.FechaAlta.ToString() + usuarioActual.FechaBaja.ToString() + priv.Cifrar(usuarioActual.Telefono) + priv.Cifrar(usuarioActual.Direccion));

                    // Actualiza el DVH y DVV.
                    inte.ActualizarDVHUsuario(usuarioActual.Id, usuarioActualDVH);
                    inte.RecalcularDVV("SEG_Usuario");

                    aud.grabarBitacora(DateTime.Now, usuarioActual.Usr, "CAMBIO DATOS CUENTA", "INFO", "Se han actualizado datos de cuenta del Usuario: " + usuarioActual.Usr + ".");

                    Session["IdiomaApp"] = usuarioActual.Idioma.Abreviacion;

                    return(RedirectToAction("Index", "Home"));
                }
                catch
                {
                    var lnIdio = new NegocioIdioma();
                    var lnLoc  = new NegocioLocalidad();

                    ViewBag.Localidades = lnLoc.Listar();
                    ViewBag.Idiomas     = lnIdio.Listar();

                    return(View());
                }
            }

            return(RedirectToAction("Index", "Home"));
        }