public List <ClienteView> GetAll(ClienteFiltroDTO filters) { return(GetBaseQuery(filters) .OrderBy(c => c.Apellido).ThenBy(c => c.Nombre) .ToList() .Select(c => { return new ClienteView() { Activo = c.Activo, Apellido = c.Apellido, Nombre = c.Nombre, Cuil = c.Cuil.ToString(), TipoDocumento = c.TipoDocumento, NumeroDocumento = c.NroDocumento.ToString(), Email = c.Mail, Id = c.Id, Estado = c.Activo ? CLIENT_ENABLED : CLIENT_DISABLED }; }) .ToList()); }
private static IQueryable <Cliente> GetBaseQuery(ClienteFiltroDTO filters) { var query = Context.Session.Query <Cliente>(); if (!string.IsNullOrEmpty(filters.Nombre)) { query = query.Where(c => c.Nombre.Contains(filters.Nombre)); } if (!string.IsNullOrEmpty(filters.Apellido)) { query = query.Where(c => c.Apellido.Contains(filters.Apellido)); } if (!string.IsNullOrEmpty(filters.Dni)) { query = query.Where(c => c.NroDocumento.ToString() == filters.Dni); } if (!string.IsNullOrEmpty(filters.Mail)) { query = query.Where(c => c.Mail.Contains(filters.Mail)); } return(query); }