Пример #1
0
        public ActionResult IniciarCliente(string Email, string Password)
        {
            if (TempData["Error"] != null)
            {
                ViewBag.Error = TempData["Error"].ToString();
            }
            if (TempData["Success"] != null)
            {
                ViewBag.Success = TempData["Success"].ToString();
            }
            try
            {
                using (Models.FabricaSoftwareEntities db = new Models.FabricaSoftwareEntities())
                {
                    var oUser = (from d in db.Usuarios
                                 where d.email == Email.Trim()
                                 select d).FirstOrDefault();



                    if (oUser == null)
                    {
                        ViewBag.Error = "El usuario es invalidos";
                        return(View());
                    }
                    else
                    {
                        if (oUser.id_rol != 3)
                        {
                            ViewBag.Error = "Inicio de sesión solo para clientes";
                            return(View());
                        }
                        ScryptEncoder encoder     = new ScryptEncoder();
                        bool          validarpass = encoder.Compare(Password.Trim(), oUser.hash_password.Trim());

                        if (validarpass)
                        {
                            var cliente = (from n in db.Cliente
                                           where n.id_cliente == oUser.id_usuario
                                           select n).FirstOrDefault();

                            Session["Logged"]  = oUser;
                            Session["Usuario"] = oUser.id_usuario;
                            Session["Rol"]     = oUser.id_rol;
                            Session["email"]   = oUser.email;
                            Session["state"]   = oUser.id_estado;

                            if (cliente == null)
                            {
                                return(RedirectToAction("InfoCliente", "Clientes"));
                            }
                            else
                            {
                                return(RedirectToAction("DashboardCliente", "Dashboard"));
                            }
                        }
                        else
                        {
                            ViewBag.Error = "La contraseña no coincide";
                            return(View());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
                return(View());
            }
        }
Пример #2
0
        public ActionResult Iniciar(string Email, string Password)
        {
            try
            {
                using (Models.FabricaSoftwareEntities db = new Models.FabricaSoftwareEntities())
                {
                    var oUser = (from d in db.Usuarios
                                 where d.email == Email.Trim()
                                 select d).FirstOrDefault();



                    if (oUser == null)
                    {
                        ViewBag.Error = "El usuario es invalido";
                        return(View());
                    }
                    else
                    {
                        if (oUser.id_estado == 2)
                        {
                            ViewBag.Error = "El usuario se encuentra inactivo";
                            return(View());
                        }
                        ScryptEncoder encoder     = new ScryptEncoder();
                        bool          validarpass = encoder.Compare(Password.Trim(), oUser.hash_password.Trim());

                        if (validarpass)
                        {
                            var pers = (from n in db.Personas
                                        where n.documento == oUser.id_usuario
                                        select n.nombres).FirstOrDefault();

                            try
                            {
                                Session["Nombres"] = pers.Trim();
                                Session["Logged"]  = oUser;
                                Session["Usuario"] = oUser.id_usuario;
                                Session["Rol"]     = oUser.id_rol;
                                Session["email"]   = oUser.email;
                                Session["state"]   = oUser.id_estado;
                            }
                            catch (Exception)
                            {
                                ViewBag.Error = "¡No se encuentra registrado como persona en el sistema, valida con el adminsitrador de Fábrica de Software";
                                return(View());
                            }
                        }
                        else
                        {
                            ViewBag.Error = "La contraseña no coincide";
                            return(View());
                        }
                    }
                }

                return(RedirectToAction("Dashboard", "Dashboard"));
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message;
                return(View());
            }
        }