public FidelizaContainer DataFidelizacion(int id) { FidelizaContainer salida = new FidelizaContainer(); salida.Fidelizacion = FidelizacionDataAccess.ObtenerPorID(id); salida.Representante = RepresentanteempresaDataAccess.ObtenerPorID(salida.Fidelizacion.representante_id); salida.Empresa = EmpresaDataAccess.ObtenerPorID(salida.Representante.emp_id); salida.ResultadoGestion = ResultadogestionDataAccess.ObtenerEntidades().FindAll(d => d.fidelizacion_id == salida.Fidelizacion.fide_id); List <AmbitosContainer <AmbitosfidelizacionEntity> > ambits = new List <AmbitosContainer <AmbitosfidelizacionEntity> >(); AmbitosfidelizacionDataAccess.ObtenerEntidades().FindAll(d => d.fidelizacion_id == salida.Fidelizacion.fide_id).ForEach(amf => { AmbitosContainer <AmbitosfidelizacionEntity> saf = new AmbitosContainer <AmbitosfidelizacionEntity>(); saf.AmbitoFinal = amf; saf.AmbitoArea = AmbitosareaDataAccess.ObtenerPorID(amf.ambito_id); saf.Area = AreasDataAccess.ObtenerPorID(saf.AmbitoArea.area_id); ambits.Add(saf); }); salida.Ambitos = ambits; return(salida); }
public BootstrapTableResult <FidelizaContainer> ListadoFidelizacion(string sort = "Empresa.emp_rut", string order = "asc", int limit = 30, int offset = 0, string search = "") { CookieHeaderValue cookie = Request.Headers.GetCookies("Oficina").FirstOrDefault(); int codOficina = Convert.ToInt32(cookie.Cookies.FirstOrDefault(s => s.Name == "Oficina").Value); List <FidelizaContainer> salida = new List <FidelizaContainer>(); BootstrapTableResult <FidelizaContainer> salida_final = new BootstrapTableResult <FidelizaContainer>(); FidelizacionDataAccess.ObtenerEntidades().FindAll(x => x.cod_oficina == codOficina).ForEach(fide => { FidelizaContainer fc = new FidelizaContainer(); fc.Fidelizacion = fide; fc.Representante = RepresentanteempresaDataAccess.ObtenerPorID(fide.representante_id); fc.Empresa = EmpresaDataAccess.ObtenerPorID(fc.Representante.emp_id); fc.ResultadoGestion = ResultadogestionDataAccess.ObtenerEntidades().FindAll(d => d.fidelizacion_id == fide.fide_id); List <AmbitosContainer <AmbitosfidelizacionEntity> > ambits = new List <AmbitosContainer <AmbitosfidelizacionEntity> >(); AmbitosfidelizacionDataAccess.ObtenerEntidades().FindAll(d => d.fidelizacion_id == fc.Fidelizacion.fide_id).ForEach(amf => { AmbitosContainer <AmbitosfidelizacionEntity> saf = new AmbitosContainer <AmbitosfidelizacionEntity>(); saf.AmbitoFinal = amf; saf.AmbitoArea = AmbitosareaDataAccess.ObtenerPorID(amf.ambito_id); saf.Area = AreasDataAccess.ObtenerPorID(saf.AmbitoArea.area_id); ambits.Add(saf); }); fc.Ambitos = ambits; salida.Add(fc); }); if (!string.IsNullOrEmpty(search)) { salida = salida.FindAll(s => s.Empresa.emp_nombre.ToLower().Contains(search.ToLower()) || s.Empresa.emp_rut.ToLower().Contains(search.ToLower().Replace(".", "")) || s.Empresa.emp_holding.ToLower().Contains(search.ToLower()) ).ToList(); } switch (order) { case "asc": switch (sort) { case "Empresa.emp_rut": salida = salida.OrderBy(o => o.Empresa.emp_rut).ToList(); break; case "Empresa.emp_nombre": salida = salida.OrderBy(o => o.Empresa.emp_nombre).ToList(); break; case "Empresa.emp_holding": salida = salida.OrderBy(o => o.Empresa.emp_holding).ToList(); break; case "Representante.rep_nombre": salida = salida.OrderBy(o => o.Fidelizacion.fide_estamento).ToList(); break; case "Fidelizacion.fide_estamento": salida = salida.OrderBy(o => o.Empresa.emp_nombre).ToList(); break; case "Fidelizacion.fide_fecha_calendario": salida = salida.OrderBy(o => o.Fidelizacion.fide_fecha_calendario).ToList(); break; } break; case "desc": switch (sort) { case "Empresa.emp_rut": salida = salida.OrderByDescending(o => o.Empresa.emp_rut).ToList(); break; case "Empresa.emp_nombre": salida = salida.OrderByDescending(o => o.Empresa.emp_nombre).ToList(); break; case "Empresa.emp_holding": salida = salida.OrderByDescending(o => o.Empresa.emp_holding).ToList(); break; case "Representante.rep_nombre": salida = salida.OrderByDescending(o => o.Fidelizacion.fide_estamento).ToList(); break; case "Fidelizacion.fide_estamento": salida = salida.OrderByDescending(o => o.Empresa.emp_nombre).ToList(); break; case "Fidelizacion.fide_fecha_calendario": salida = salida.OrderByDescending(o => o.Fidelizacion.fide_fecha_calendario).ToList(); break; } break; } salida_final.total = salida.Count; salida_final.rows = salida.Skip(offset).Take(limit).ToList(); return(salida_final); }