public ActionResult Buckets() { string xClase = string.Format("{0}|{1}", MethodBase.GetCurrentMethod().Module.Name, MethodBase.GetCurrentMethod().DeclaringType.Name); string xProceso = MethodBase.GetCurrentMethod().Name; var dto_excepcion = new UTL_TRA_EXCEPCION { STR_CLASE = xClase, STR_EVENTO = xProceso, STR_APLICATIVO = ConfigurationManager.AppSettings["Aplicativo"], STR_SERVIDOR = System.Net.Dns.GetHostName() }; try { var draw = HttpContext.Request.Form["draw"]; var start = Request.Form["start"]; // Paging Length 10,20 var length = Request.Form["length"]; // Sort Column Name var sortColumn = Request.Form["columns[" + Request.Form["order[0][column]"].FirstOrDefault() + "][name]"]; // Sort Column Direction ( asc ,desc) var sortColumnDirection = Request.Form["order[0][dir]"]; // Search Value from (Search box) var searchValue = Request.Form["search[value]"]; //Paging Size (10,20,50,100) int pageSize = length != null?Convert.ToInt32(length) : 0; int skip = start != null?Convert.ToInt32(start) : 0; int recordsTotal = 0; ManagerUser mang = new ManagerUser(); var agenteSession = Session["LoginCredentials"] as List <dto_login>; var bucket = mang.DetalleBucket(); // Getting all Customer data var customerData = (from tempcustomer in bucket select new { AgenteAsignado = tempcustomer.AgenteAsignado.ToString(), Bucket = tempcustomer.Bucket.ToString(), Cantidad_Cuentas = tempcustomer.Cantidad_Cuentas.ToString(), PRPRotas = tempcustomer.PromesaRota.ToString(), CeroPagos = tempcustomer.CeroPagos.ToString(), SaldoAlto = tempcustomer.RangoSaldoAlto.ToString(), SaldoMedio = tempcustomer.RangoSaldoMedio.ToString(), SaldoBajo = tempcustomer.RangoSaldoBajo.ToString(), CuentaAlDia = tempcustomer.CuentaAlDia.ToString(), }); if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDirection))) { switch (sortColumn) { case "Bucket": if (sortColumnDirection == "desc") { customerData = (from foobars in customerData orderby foobars.Bucket descending select foobars ); } else { customerData = (from foobars in customerData orderby foobars.Bucket ascending select foobars ); } break; case "Cantidad_Cuentas": if (sortColumnDirection == "desc") { customerData = (from foobars in customerData orderby foobars.Cantidad_Cuentas descending select foobars ); } else { customerData = (from foobars in customerData orderby foobars.Cantidad_Cuentas ascending select foobars ); } break; case "AgenteAsignado": if (sortColumnDirection == "desc") { customerData = (from foobars in customerData orderby foobars.AgenteAsignado descending select foobars ); } else { customerData = (from foobars in customerData orderby foobars.AgenteAsignado ascending select foobars ); } break; } //customerData = customerData.OrderBy(x =>x.cod_agente); } //Search if (!string.IsNullOrEmpty(searchValue)) { customerData = customerData.Where(m => m.Bucket.ToLower().Contains(searchValue.ToLower()) || m.AgenteAsignado.ToLower().Contains(searchValue.ToLower())); } //total number of rows count recordsTotal = customerData.Count(); //Paging var data = customerData.Skip(skip).Take(pageSize).ToList(); return(Json(new { draw = draw, recordsFiltered = customerData.Count(), recordsTotal = customerData.Count(), data = data })); } catch (Exception ex) { dto_excepcion.STR_MENSAJE = ex.Message; dto_excepcion.STR_DETALLE = ex.StackTrace; TwoFunTwoMe_DataAccess.Utility.guardaExcepcion(dto_excepcion, GlobalClass.connectionString.Where(a => a.Key == infDto.STR_COD_PAIS).FirstOrDefault().Value); throw; } }