public IHttpActionResult CambiarPassRecuperado(Models.ViewModels.CambiaPassRecuperadoVM model)

        {
            int mensaje = 0;

            using (var bd = new DbContextAuth())
            {
                {
                    var oUser = bd.Usuario.Where(d => d.token_recovery == model.token).FirstOrDefault();
                    if (oUser != null)
                    {
                        oUser.Clave           = model.Password;
                        oUser.token_recovery  = null;
                        bd.Entry(oUser).State = System.Data.Entity.EntityState.Modified;
                        bd.SaveChanges();
                        mensaje = 1;
                    }
                    else
                    {
                        mensaje = 0;
                    }
                }
                return(Ok(mensaje));
            }
        }
        public IHttpActionResult Authenticate(LoginRequest login)
        {
            if (login == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            DbContextAuth db = new DbContextAuth();

            var password = Encrypt.GetMD5(login.Password);

            var cUsuario = db.Usuario.Where(x => x.NombreUsuario == login.Username && x.Clave == password).SingleOrDefault();

            //TODO: This code is only for demo - extract method in new class & validate correctly in your application !!
            //var isUserValid = (login.Username == "user" && login.Password == "123456");

            bool isUserValid = (cUsuario != null);

            if (isUserValid && cUsuario.RolUsuario.Where(x => x.Rol.TipoRol == "CONSULTA").Count() >= 1)
            {
                var rolename = "CONSULTA";
                var token    = TokenGenerator.GenerateTokenJwt(cUsuario.IdUsuario, cUsuario.NombreUsuario, rolename, "roledos");
                return(Ok(token));
            }

            //TODO: This code is only for demo - extract method in new class & validate correctly in your application !!
            //var isTesterValid = (login.Username == "test" && login.Password == "123456");
            if (isUserValid && cUsuario.RolUsuario.Where(x => x.Rol.TipoRol == "CAPTURA").Count() >= 1)
            {
                var rolename = "CAPTURA";
                var token    = TokenGenerator.GenerateTokenJwt(cUsuario.IdUsuario, cUsuario.NombreUsuario, rolename, "roledos");
                return(Ok(token));
            }

            //TODO: This code is only for demo - extract method in new class & validate correctly in your application !!
            //var isAdminValid = (login.Username == "admin" && login.Password == "123456");

            if (isUserValid && cUsuario.RolUsuario.Where(x => x.Rol.TipoRol == "ADMINISTRADOR").Count() >= 1)
            {
                var rolename = "ADMINISTRADOR";
                var token    = TokenGenerator.GenerateTokenJwt(cUsuario.IdUsuario, cUsuario.NombreUsuario, rolename, "roledos");
                return(Ok(token));
            }

            // Unauthorized access
            return(Unauthorized());
        }
Пример #3
0
        public IHttpActionResult CambiarPass(Models.ViewModels.CambiaPassVM model)

        {
            int mensaje = 0;

            using (var bd = new DbContextAuth())
            {
                {
                    var oCambiaPass = bd.Usuario.Find(model.Iduser);

                    if (oCambiaPass.Clave == model.OldPassword)
                    {
                        oCambiaPass.Clave = model.NewPassword;
                        bd.SaveChanges();
                        mensaje = 1;
                    }
                    else
                    {
                        mensaje = 0;
                    }
                }
                return(Ok(mensaje));
            }
        }
Пример #4
0
        public IHttpActionResult RecuperaPass(Models.ViewModels.RecuperaPassMV model)
        //public IHttpActionResult RecuperaPass(int id)
        {
            var correo = "";

            using (Models.DbContextAuth db = new DbContextAuth());
            {
                var oRecuperaPass = new Models.Usuario();
                correo = model.Email;
            }
            int    existe    = 0;
            int    idusuario = 0;
            int    mensaje   = 0;
            string pass      = "";

            using (var bd = new DbContextAuth())
            {
                //existe = bd.Usuarios.Where(p => p.IdUsuario == id).Count();
                existe = bd.Usuario.Where(p => p.Mail == correo).Count();
                if (existe == 0)
                {
                    pass = "";
                }
                else
                {
                    //idusuario = bd.Usuarios.Where(p => p.IdUsuario == id).First().IdUsuario;
                    idusuario = bd.Usuario.Where(p => p.Mail == correo).First().IdUsuario;
                    //Verificamos que existe el usuario
                    int nveces = bd.Usuario.Where(p => p.IdUsuario == idusuario).Count();
                    if (nveces == 0)
                    {
                        pass    = "";
                        mensaje = 0;
                    }
                    else
                    {
                        // obtener su ID
                        Usuario ouser = bd.Usuario.Where(p => p.IdUsuario == idusuario).First();
                        pass    = ouser.Clave;
                        mensaje = 1;
                    }
                    if (mensaje == 1)
                    {
                        string token = GetMD5(Guid.NewGuid().ToString());

                        using (Models.DbContextAuth db = new Models.DbContextAuth())
                        {
                            var oUser = db.Usuario.Where(d => d.Mail == model.Email).FirstOrDefault();
                            if (oUser != null)
                            {
                                oUser.token_recovery  = token;
                                db.Entry(oUser).State = System.Data.Entity.EntityState.Modified;
                                db.SaveChanges();

                                //enviar mail
                                Correo(correo, token);
                            }
                        }
                    }
                    else
                    {
                        mensaje = 0;
                    };
                }
                return(Ok(mensaje));
            }
        }