public ResponseModel Acceder(string Email, string Password) { var rm = new ResponseModel(); try { using (var ctx = new proyectoContext()) { Password = HashHelper.MD5(Password); //Validar que el usuario y la contraseña se hayan escrito correctamente var usuario = ctx.Usuario.Where(x => x.Email == Email) .Where(x => x.Password == Password) .SingleOrDefault(); if (usuario != null) { SessionHelper.AddUserToSession(usuario.id.ToString()); rm.SetResponse(true); } else { rm.SetResponse(false, "Usuario o contraseña incorrecta"); } } } catch (Exception) { throw; } return(rm); }
public Usuario ObtenerUsuario(int id, bool includes = false) { var usuario = new Usuario(); try { using (var ctx = new proyectoContext()) { if (!includes) { usuario = ctx.Usuario.Where(x => x.id == id).SingleOrDefault(); } else { //el nombre dentro del Include debe ser el mismo que el de la relacion con la tabla Usuario usuario = ctx.Usuario.Include("Experiencia") .Include("Habilidad") .Include("Testimonio") .Where(x => x.id == id) .SingleOrDefault(); } //Trayendo un dato de manera manual sin usar relacion include usuario.Pais = new TablaDato().Obtener("pais", usuario.Pais_id.ToString()); } } catch (Exception) { throw; } return(usuario); }
public ResponseModel Guardar() { var rm = new ResponseModel(); try { using (var ctx = new proyectoContext()) { if (this.id > 0) { ctx.Entry(this).State = EntityState.Modified; } else { ctx.Entry(this).State = EntityState.Added; } ctx.SaveChanges(); rm.SetResponse(true); } } catch (Exception) { throw; } return(rm); }
public AnexGRIDResponde Listar(AnexGRID grid, int usuario_id) { try { using (var ctx = new proyectoContext()) { ctx.Configuration.LazyLoadingEnabled = false;//para evitar que haga validaciones mientras guarda el contexto grid.Inicializar(); var query = ctx.Testimonio.Where(x => x.Usuario_id == usuario_id); //Ordenamiento if (grid.columna == "id") { query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id); } if (grid.columna == "Nombre") { query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Nombre) : query.OrderBy(x => x.Nombre); } if (grid.columna == "IP") { query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.IP) : query.OrderBy(x => x.IP); } if (grid.columna == "Fecha") { query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Fecha) : query.OrderBy(x => x.Fecha); } var testimonios = query.Skip(grid.pagina) .Take(grid.limite) .ToList(); var total = query.Count(); grid.SetData(testimonios, total); } } catch (Exception e) { throw; } return(grid.responde()); }
public ResponseModel Guardar(HttpPostedFileBase Foto) { var rm = new ResponseModel(); try { using (var ctx = new proyectoContext()) { ctx.Configuration.ValidateOnSaveEnabled = false;//Indicarle al contexto que las validaciones cuando se guarde, esten desabilitadas, debido a que queremos que ignore la propiedad Password var eUsuario = ctx.Entry(this); eUsuario.State = EntityState.Modified; if (this.Password == null) { eUsuario.Property(x => x.Password).IsModified = false;//Le indicamos que queremos que ignore la propiedad Password, y que no la valide } if (Foto != null) { //System.IO para usar Path 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; } ctx.SaveChanges(); rm.SetResponse(true); } } //Referencia using System.Data.Entity.Validation; //Podemos ver más a detalle la excepcion del EF //catch (DbEntityValidationException e) //{ // throw; //} catch (Exception) { throw; } return(rm); }
/// <summary> /// /// </summary> /// <param name="grid"></param> /// <param name="tipo">Indica si es para la tabla de TrabajosRealizados=1, EstudiosPrevios=2</param> /// <param name="usuario_id">Para Filtrar por el usuario que ha ingresado</param> /// <returns></returns> public AnexGRIDResponde Listar(AnexGRID grid, int usuario_id) { try { using (var ctx = new proyectoContext()) { ctx.Configuration.LazyLoadingEnabled = false; grid.Inicializar(); var query = ctx.Habilidad.Where(x => x.Usuario_id == usuario_id); //Ordenamiento if (grid.columna == "id") { query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.id) : query.OrderBy(x => x.id); } if (grid.columna == "Nombre") { query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Nombre) : query.OrderBy(x => x.Nombre); } if (grid.columna == "Dominio") { query = grid.columna_orden == "DESC" ? query.OrderByDescending(x => x.Dominio) : query.OrderBy(x => x.Dominio); } var Habilidades = query.Skip(grid.pagina) .Take(grid.limite) .ToList(); var total = query.Count(); grid.SetData(Habilidades, total); } } catch (Exception e) { throw; } return(grid.responde()); }
public Testimonio Obtener(int id) { var testimonio = new Testimonio(); try { using (var ctx = new proyectoContext()) { testimonio = ctx.Testimonio.Where(x => x.id == id) .SingleOrDefault(); } } catch (Exception) { throw; } return(testimonio); }
public Experiencia Obtener(int id) { var experiencia = new Experiencia(); try { using (var ctx = new proyectoContext()) { experiencia = ctx.Experiencia.Where(x => x.id == id) .SingleOrDefault(); } } catch (Exception) { throw; } return(experiencia); }
public Habilidad Obtener(int id) { var Habilidad = new Habilidad(); try { using (var ctx = new proyectoContext()) { Habilidad = ctx.Habilidad.Where(x => x.id == id) .SingleOrDefault(); } } catch (Exception) { throw; } return(Habilidad); }
public TablaDato Obtener(string relacion, string valor) { var dato = new TablaDato(); try { using (var ctx = new proyectoContext()) { dato = ctx.TablaDato.Where(x => x.Relacion == relacion) .Where(x => x.Valor == valor) .SingleOrDefault(); } } catch (Exception) { throw; } return(dato); }
public List <TablaDato> Listar(string relacion) { var datos = new List <TablaDato>(); try { using (var ctx = new proyectoContext()) { datos = ctx.TablaDato.OrderBy(x => x.Orden) .Where(x => x.Relacion == relacion) .ToList(); } } catch (Exception) { throw; } return(datos); }
public ResponseModel Eliminar(int id) { var rm = new ResponseModel(); try { using (var ctx = new proyectoContext()) { this.id = id; ctx.Entry(this).State = EntityState.Deleted; ctx.SaveChanges(); rm.SetResponse(true); } } catch (Exception) { throw; } return(rm); }