public ProspectoContainer DataProspeccion(int id) { ProspectoContainer salida = new ProspectoContainer(); salida.Prospeccion = ProspeccionDataAccess.ObtenerPorID(id); salida.Empresa = EmpresaDataAccess.ObtenerPorID(salida.Prospeccion.empresa_id); salida.Gestiones = GestionprospeccionDataAccess.ObtenerEntidades().FindAll(g => g.prospecto_id == id); salida.UltimaGestion = salida.Gestiones.OrderByDescending(d => d.gstp_fecha_accion).FirstOrDefault(); return(salida); }
public BootstrapTableResult <ProspectoContainer> ListadoProspeccion(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 <ProspectoContainer> salida = new List <ProspectoContainer>(); BootstrapTableResult <ProspectoContainer> salida_final = new BootstrapTableResult <ProspectoContainer>(); ProspeccionDataAccess.ObtenerEntidades().FindAll(x => x.oficina == codOficina).ForEach(pro => { ProspectoContainer container = new ProspectoContainer(); container.Prospeccion = pro; container.Gestiones = GestionprospeccionDataAccess.ObtenerEntidades().FindAll(g => g.prospecto_id == pro.pros_id); container.UltimaGestion = container.Gestiones.OrderByDescending(d => d.gstp_fecha_accion).FirstOrDefault(); container.Empresa = EmpresaDataAccess.ObtenerPorID(pro.empresa_id); salida.Add(container); }); 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 "Prospeccion.pros_caja_origen": salida = salida.OrderBy(o => o.Prospeccion.pros_caja_origen).ToList(); break; case "UltimaGestion.gstp_fecha_accion": salida = salida.OrderBy(o => o.UltimaGestion.gstp_fecha_accion).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 "Prospeccion.pros_caja_origen": salida = salida.OrderByDescending(o => o.Prospeccion.pros_caja_origen).ToList(); break; case "UltimaGestion.gstp_fecha_accion": salida = salida.OrderByDescending(o => o.UltimaGestion.gstp_fecha_accion).ToList(); break; } break; } salida_final.total = salida.Count; salida_final.rows = salida.Skip(offset).Take(limit).ToList(); return(salida_final); }