예제 #1
0
        /// <summary>
        /// Valida usuario en base de datos
        /// </summary>
        /// <param name="email"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public ResponseModel Acceder(string email, string password)
        {
            var    rm    = new ResponseModel();
            string clave = HashHelper.MD5(password);

            try
            {
                using (var ctx = new PortafolioContext())
                {
                    var usuario = ctx.Usuario.Where(u => u.Email.Equals(email) && u.Password.Equals(clave)).SingleOrDefault();
                    if (usuario != null)
                    {
                        SessionHelper.AddUserToSession(usuario.id.ToString());
                        rm.SetResponse(true);
                    }
                    else
                    {
                        rm.SetResponse(false, "Correo o contraseña incorrecta");
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(rm);
        }
예제 #2
0
        public ResponseModel Acceder(string Email, string Password)
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new PortafolioContext())
                {
                    string hashPassword = HashHelper.MD5(Password);
                    var    usuario      = ctx.Usuario
                                          .Where(x => x.Email == Email).FirstOrDefault(x => x.Password == hashPassword);

                    if (usuario != null)
                    {
                        SessionHelper.AddUserToSession(usuario.id.ToString());
                        rm.SetResponse(true);
                    }
                    else
                    {
                        rm.SetResponse(false, "Correo o contraseña incorrecta");
                    }
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(rm);
        }
예제 #3
0
        public ResponseModel Guardar(HttpPostedFileBase Foto)
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new PortafolioContext())
                {
                    ctx.Configuration.ValidateOnSaveEnabled = false;

                    var eUsuario = ctx.Entry(this);
                    eUsuario.State = EntityState.Modified;

                    // Campos que queremos ignorar
                    if (Foto != null)
                    {
                        // Nombre del archivo, es decir, lo renombramos para que no se repita nunca
                        string archivo = DateTime.Now.ToString("yyyyMMddHHmmss") + Path.GetExtension(Foto.FileName);

                        // La ruta donde lo vamos guardar
                        Foto.SaveAs(HttpContext.Current.Server.MapPath("~/uploads/" + archivo));

                        // Establecemos en nuestro modelo el nombre del archivo
                        this.Foto = archivo;
                    }
                    else
                    {
                        eUsuario.Property(x => x.Foto).IsModified = false;
                    }

                    if (this.Password == null)
                    {
                        eUsuario.Property(x => x.Password).IsModified = false;
                    }

                    ctx.SaveChanges();

                    rm.SetResponse(true);
                }
            }
            catch (DbEntityValidationException e)
            {
                throw;
            }

            catch (Exception e)
            {
                throw;
            }
            return(rm);
        }
예제 #4
0
        /// <summary>
        /// Obtiene usuario
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Usuario Obtener(int id)
        {
            var Usuario = new Usuario();

            try
            {
                using (var ctx = new PortafolioContext())
                {
                    Usuario = ctx.Usuario.Find(id);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(Usuario);
        }
예제 #5
0
        public ResponseModel Guardar(HttpPostedFileBase Foto)
        {
            var rm = new ResponseModel();

            try
            {
                using (var ctx = new PortafolioContext())
                {
                    ctx.Configuration.ValidateOnSaveEnabled = false;

                    var eUsuario = ctx.Entry(this);
                    eUsuario.State = EntityState.Modified;

                    if (Foto != null)
                    {
                        string archivo = DateTime.Now.ToString("yyyyMMddHHmmss") + Path.GetExtension(Foto.FileName);
                        Foto.SaveAs(HttpContext.Current.Server.MapPath("~/uploads/" + archivo));

                        this.Foto = archivo;
                    }
                    else
                    {
                        eUsuario.Property(x => x.Foto).IsModified = false;
                    }

                    if (this.Password == null)
                    {
                        eUsuario.Property(x => x.Password).IsModified = false;
                    }

                    ctx.SaveChanges();

                    rm.SetResponse(true);
                }
            }
            catch (Exception e)
            {
                rm.SetResponse(false);
                throw;
            }

            return(rm);
        }
예제 #6
0
        public Usuario Obtener(int id)
        {
            var usuario = new Usuario();

            try
            {
                using (var ctx = new PortafolioContext())
                {
                    usuario = ctx.Usuario.FirstOrDefault(x => x.id == id);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(usuario);
        }
예제 #7
0
        public List <TablaDato> Listar(string relacion)
        {
            var datos = new List <TablaDato>();

            try
            {
                using (var ctx = new PortafolioContext())
                {
                    datos = ctx.TablaDato.OrderBy(x => x.Orden)
                            .Where(x => x.Relacion == relacion)
                            .ToList();
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(datos);
        }
예제 #8
0
 public TablaDato()
 {
     context = new PortafolioContext();
 }