예제 #1
0
        public ActionResult Registrarse(FrmRegistroCliente registroCliente)
        {
            if (registroCliente.CUIL == null && registroCliente.Direccion == null && registroCliente.Email == null && registroCliente.Psw == null && registroCliente.RazonSocial == null && registroCliente.Telefono == null)
            {
                registroCliente.CUIL        = registroCliente.CUIL_Eng;
                registroCliente.Direccion   = registroCliente.Direccion_Eng;
                registroCliente.Email       = registroCliente.Email_Eng;
                registroCliente.Psw         = registroCliente.Psw_Eng;
                registroCliente.RazonSocial = registroCliente.RazonSocial_Eng;
                registroCliente.Telefono    = registroCliente.Telefono_Eng;
            }

            var ln = new NegocioCuenta();

            var ws = new WebService();

            var mensajeria = new Mensajeria();

            TraducirPagina((String)Session["IdiomaApp"]);

            Session["ErrorRegistro"] = null;
            Session["Excepcion"]     = null;

            // Usuario existente, solo devuelvo el error.
            if (ln.ValidarUsuario(registroCliente.Email) == false)
            {
                if ((String)Session["IdiomaApp"] == "Esp" || (String)Session["IdiomaApp"] == null)
                {
                    Session["ErrorRegistro"] = "EL CORREO DE REGISTRO YA EXISTE";
                }
                else

                {
                    Session["ErrorRegistro"] = "THAT USER ALREADY EXIST";
                }

                return(RedirectToAction("Registrarse"));
            }

            if (ws.ValidarCUIT(registroCliente.CUIL) == false)
            {
                if ((String)Session["IdiomaApp"] == "Esp" || (String)Session["IdiomaApp"] == null)
                {
                    Session["ErrorRegistro"] = "EL CUIT ES INVÁLIDO";
                }
                else

                {
                    Session["ErrorRegistro"] = "INVALID CUIT NUMBER";
                }

                return(RedirectToAction("Registrarse"));
            }

            var usuario = new Usuario();

            usuario.RazonSocial = registroCliente.RazonSocial;
            usuario.Email       = registroCliente.Email;
            usuario.Psw         = registroCliente.Psw;
            usuario.CUIL        = registroCliente.CUIL.ToString();
            usuario.Direccion   = registroCliente.Direccion;
            usuario.Localidad   = registroCliente.Localidad;
            usuario.PerfilUsr   = new PerfilUsr {
                Id = 3, Descripcion = "Cliente"
            };
            usuario.Idioma = new Idioma {
                Id = 1, Descripcion = "Español", Abreviacion = "Esp"
            };
            usuario.Estado    = "S";
            usuario.FechaAlta = DateTime.Now;
            usuario.FechaBaja = new DateTime(2000, 01, 01);

            // Características propias de Clientes.
            usuario.Nombre   = registroCliente.RazonSocial;
            usuario.Apellido = registroCliente.RazonSocial;
            usuario.Usr      = registroCliente.Email;
            usuario.Telefono = registroCliente.Telefono;

            // Registro Usuario.
            var usrSesion = ln.RegistrarUsuario(usuario);

            ln.OtorgarPermisosCliente(usrSesion.Id);

            try
            {
                // Envío correo de bienvenida.
                var cuerpoMsj = "Bienvenido a Implantagraf. Muchas gracias por confiar en nosotros, esperamos que encuentres lo que buscas y no dudes en consultarnos por lo que necesites.";
                var asuntoMsj = "Bienvenido!!";
                mensajeria.EnviarCorreo("*****@*****.**", usuario.Email, asuntoMsj, cuerpoMsj);
            }
            catch
            {
            }

            if (usrSesion.Nombre != "" && usrSesion.PerfilUsr.Descripcion != "")
            {
                Session["IdUsuario"]          = usrSesion.Id.ToString();
                Session["NombreUsuario"]      = usrSesion.Nombre;
                Session["RazonSocialUsuario"] = usrSesion.RazonSocial;
                Session["PerfilUsuario"]      = usrSesion.PerfilUsr.Descripcion;
                Session["EmailUsuario"]       = usrSesion.Email;
                Session["CodUsuario"]         = usrSesion.Id;
                Session["DireccionUsuario"]   = usrSesion.Direccion;

                Session["UsrLogin"] = usrSesion.Usr;

                HttpCookie cookie = new HttpCookie("UsrLogin");
                cookie.Value = usrSesion.Usr;
                Response.Cookies.Add(cookie);

                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                var audi = new Auditoria();
                audi.grabarBitacora(DateTime.Now, "SISTEMA", "ERROR CAMBIO CLAVE", "ERROR LEVE", "Error al intentar registrar un Usuario.");
                return(RedirectToAction("Index", "Home"));
            }
        }
예제 #2
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());
        }
예제 #3
0
        public ActionResult Login(FrmLogin login)
        {
            var priv = new Privacidad();

            if (login.Usuario == null && login.Contraseña == null)
            {
                login.Usuario    = login.Usuario_Eng;
                login.Contraseña = login.Contraseña_Eng;
            }

            var ln  = new NegocioCuenta();
            var seg = new Privacidad();

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

            // Usuario con Sesión activa.
            if (ln.ValidarSesionActiva(login.Usuario))
            {
                Session["ErrorLogin"] = ViewBag.ERROR_LOGIN_SESION_ACTIVA;
                return(RedirectToAction("Login"));
            }

            Session["IdUsuario"]          = null;
            Session["NombreUsuario"]      = null;
            Session["PerfilUsuario"]      = null;
            Session["EmailUsuario"]       = null;
            Session["CodUsuario"]         = null;
            Session["DireccionUsuario"]   = null;
            Session["RazonSocialUsuario"] = null;

            Session["UsrLogin"] = null;

            Session["ErrorLogin"] = null;
            Session["Excepcion"]  = null;

            // Usuario incorrecto, solo devuelvo el error al Login.
            if (ln.ValidarUsuario(login.Usuario))
            {
                Session["ErrorLogin"] = ViewBag.ERROR_LOGIN_USUARIO_PSW_INVALIDOS;
                return(RedirectToAction("Login"));
            }

            // Valido que la cuenta no este bloqueada.
            if (ln.ValidarBloqueoCuenta(login.Usuario))

            {
                return(RedirectToAction("CuentaBloqueada"));
            }


            // Valido que la contraseña sea correcta, en caso negativo incremento intentos fallidos.
            if (ln.ValidarUsuarioPsw(login.Usuario, login.Contraseña))
            {
                Session["ErrorLogin"] = ViewBag.ERROR_LOGIN_USUARIO_PSW_INVALIDOS;

                //Sumo intento fallido.
                if (ln.SumarIntentoFallido(login.Usuario) == 3)
                {
                    ln.BloquearCuentaUsuario(login.Usuario); //Bloqueo cuenta de Usuario.

                    var aud = new Auditoria();
                    aud.grabarBitacora(DateTime.Now, "SISTEMA", "BLOQUEO USUARIO", "ERROR LEVE", "Se bloqueó al Usuario: " + login.Usuario);


                    return(RedirectToAction("CuentaBloqueada"));
                }

                return(RedirectToAction("Login"));
            }

            var usrSesion = ln.Autenticar(login);

            //Error en la base de datos.
            if (usrSesion.Nombre == null || usrSesion.PerfilUsr.Descripcion == null)

            {
                var aud = new Auditoria();
                aud.grabarBitacora(DateTime.Now, "SISTEMA", "ERROR LOGIN", "ERROR LEVE", "Error al intentar ingresar al sistema.");
                return(RedirectToAction("Index", "Home"));
            }

            //Usuario Logueado correctamente, se mapean las variables de Sesión.

            Session["IdUsuario"]          = usrSesion.Id.ToString();
            Session["NombreUsuario"]      = usrSesion.Nombre;
            Session["RazonSocialUsuario"] = usrSesion.RazonSocial;
            Session["PerfilUsuario"]      = usrSesion.PerfilUsr.Descripcion;
            Session["EmailUsuario"]       = usrSesion.Email;
            Session["CodUsuario"]         = usrSesion.Id;
            Session["DireccionUsuario"]   = usrSesion.Direccion;
            Session["IdiomaApp"]          = usrSesion.Idioma.Abreviacion;

            Session["UsrLogin"] = usrSesion.Usr;

            HttpCookie cookie = new HttpCookie("UsrLogin");

            cookie.Value = usrSesion.Usr;
            Response.Cookies.Add(cookie);

            //Activo la Sesión.
            //ln.ActivarSesionCuentaUsuario(usrSesion.Usr);

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