public async Task <ActionResult> BusinessSearch(TableFilterViewModel filter) { List <TransferBusinessModel> result = new List <TransferBusinessModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.TransferBusinessProducts.CountAsync(); List <TransferBusinessProduct> model; Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString()); var entity = applicationDbContext.TransferBusinessProducts.Include("User").Include("ProductTo").Include("ProductFrom").Include("ProductFrom.Category").Include("ProductFrom.Business").Include("ProductTo.Business") .Where(x => x.ProductFrom.Business_Id == business_working || x.ProductTo.Business_Id == business_working); IOrderedQueryable <TransferBusinessProduct> sort = null; if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.ProductFrom.Name).ThenBy(x => x.ProductTo.Name); } else { sort = entity.OrderByDescending(x => x.ProductFrom.Name).ThenByDescending(x => x.ProductTo.Name); } } else if (filter.order[0].column == 2) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.ProductFrom.Category.Name); } else { sort = entity.OrderByDescending(x => x.ProductFrom.Category.Name); } } else if (filter.order[0].column == 3) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.ProductFrom.Name); } else { sort = entity.OrderByDescending(x => x.ProductFrom.Name); } } else if (filter.order[0].column == 4) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Quantity); } else { sort = entity.OrderByDescending(x => x.Quantity); } } else if (filter.order[0].column == 5) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.User.UserName); } else { sort = entity.OrderByDescending(x => x.User.UserName); } } else if (filter.order[0].column == 6) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Date); } else { sort = entity.OrderByDescending(x => x.Date); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.TransferBusinessProducts.CountAsync(x => x.ProductFrom.Name.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.ProductFrom.Name.ToString().Contains(filter.search.value) || x.Quantity.ToString().Contains(filter.search.value)); model = await sort.Where(x => x.ProductFrom.Name.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.ProductFrom.Name.ToString().Contains(filter.search.value) || x.Quantity.ToString().Contains(filter.search.value)) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var tbp in model) { string fromto = ""; bool sent = false; if (tbp.ProductFrom.Business_Id == business_working) { fromto = $"Hacia {tbp.ProductTo.Business.Name}"; sent = true; } else { fromto = $"Desde {tbp.ProductFrom.Business.Name}"; } result.Add(new TransferBusinessModel { DT_RowId = tbp.Id.ToString(), Category = tbp.ProductFrom.Category.Name, ProductName = tbp.ProductFrom.Name, Quantity = tbp.Quantity, Date = tbp.Date.ToString("yyyy-MM-dd hh:mm tt"), User = tbp.User.UserName, FromTo = fromto, Sent = sent }); } return(Json(new { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> PrivateSearch(TableFilterViewModel filter) { List <TransferPrivateModel> result = new List <TransferPrivateModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.TransferMoneyUsers.CountAsync(); List <TransferMoneyUser> model; string userId = User.Identity.GetUserId(); var entity = applicationDbContext.TransferMoneyUsers.Include("UserFrom").Include("UserTo") .Where(x => x.UserFrom_Id == userId || x.UserTo_Id == userId); IOrderedQueryable <TransferMoneyUser> sort = null; if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.UserFrom.UserName).ThenBy(x => x.UserTo.UserName); } else { sort = entity.OrderByDescending(x => x.UserFrom.UserName).ThenByDescending(x => x.UserTo.UserName); } } else if (filter.order[0].column == 2) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Amount); } else { sort = entity.OrderByDescending(x => x.Amount); } } else if (filter.order[0].column == 3) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Date); } else { sort = entity.OrderByDescending(x => x.Date); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.TransferMoneyUsers.CountAsync(x => x.UserFrom.UserName.ToString().Contains(filter.search.value) || x.UserTo.UserName.ToString().Contains(filter.search.value) || x.Amount.ToString().Contains(filter.search.value)); model = await sort.Where(x => x.UserFrom.UserName.ToString().Contains(filter.search.value) || x.UserTo.UserName.ToString().Contains(filter.search.value) || x.Amount.ToString().Contains(filter.search.value)) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString()); foreach (var tbp in model) { string fromto = ""; bool sent = false; if (tbp.UserFrom_Id == userId && tbp.BusinessFrom_Id == business_working) { fromto = tbp.BusinessTo == null ? $"Hacia {tbp.UserTo.UserName}" : $"Hacia {tbp.BusinessTo.Name} -> {tbp.UserTo.UserName}"; sent = true; } else { fromto = tbp.BusinessFrom == null ? $"Desde {tbp.UserFrom.UserName}" : $"Desde {tbp.BusinessFrom.Name} -> {tbp.UserFrom.UserName}"; } result.Add(new TransferPrivateModel { DT_RowId = tbp.Id.ToString(), Date = tbp.Date.ToString("yyyy-MM-dd hh:mm tt"), Amount = tbp.Amount.ToString("#,##0.00"), FromTo = fromto, Sent = sent }); } return(Json(new { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> Search(TableFilterViewModel filter) { Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString()); List <StockOutModel> result = new List <StockOutModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.StockOuts.Include("Product").CountAsync(x => x.Product.Business_Id == business_working); List <StockOut> model; var entity = applicationDbContext.StockOuts.Include("Product").Include("Product.Category").Include("User").Where(x => x.Product.Business_Id == business_working); if (filter.type == "1") { entity = applicationDbContext.StockOuts.Include("Product").Include("Product.Category").Include("User").Where(x => x.Product.Business_Id == business_working && x.Receiver_Id != null); } else if (filter.type == "2") { entity = applicationDbContext.StockOuts.Include("Product").Include("Product.Category").Include("User").Where(x => x.Product.Business_Id == business_working && x.Receiver_Id == null); } IOrderedQueryable <StockOut> sort = null; if (filter.order[0].column == 0) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Product.Category.Name); } else { sort = entity.OrderByDescending(x => x.Product.Category.Name); } } else if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Product.Name); } else { sort = entity.OrderByDescending(x => x.Product.Name); } } else if (filter.order[0].column == 2) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Description); } else { sort = entity.OrderByDescending(x => x.Description); } } else if (filter.order[0].column == 3) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Date); } else { sort = entity.OrderByDescending(x => x.Date); } } else if (filter.order[0].column == 4) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.User.UserName); } else { sort = entity.OrderByDescending(x => x.User.UserName); } } else if (filter.order[0].column == 5) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.SalePrice); } else { sort = entity.OrderByDescending(x => x.SalePrice); } } else if (filter.order[0].column == 6) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Quantity); } else { sort = entity.OrderByDescending(x => x.Quantity); } } else if (filter.order[0].column == 7) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Quantity * x.SalePrice); } else { sort = entity.OrderByDescending(x => x.Quantity * x.SalePrice); } } else if (filter.order[0].column == 8) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Gain); } else { sort = entity.OrderByDescending(x => x.Gain); } } else if (filter.order[0].column == 9) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Quantity * x.Gain); } else { sort = entity.OrderByDescending(x => x.Quantity * x.Gain); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.StockOuts.Include("Product").Include("User").CountAsync(x => x.Product.Business_Id == business_working && (x.Product.Category.Name.ToString().Contains(filter.search.value) || x.Product.Name.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.SalePrice.ToString().Contains(filter.search.value) || x.Quantity.ToString().Contains(filter.search.value))); model = await sort.Where(x => x.Product.Category.Name.ToString().Contains(filter.search.value) || x.Product.Name.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.SalePrice.ToString().Contains(filter.search.value) || x.Quantity.ToString().Contains(filter.search.value)) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var stockOut in model) { result.Add(new StockOutModel() { DT_RowId = stockOut.Id.ToString(), ProductName = stockOut.Product.Name, Date = stockOut.Date.ToString("yyyy-MM-dd hh:mm tt"), Quantity = stockOut.Quantity, User = stockOut.User.UserName, SalePrice = stockOut.SalePrice.ToString("#,##0.00"), Gain = stockOut.Gain.ToString("#,##0.00"), Receivered = stockOut.Receiver != null, Receiver = stockOut.Receiver?.UserName, Category = stockOut.Product.Category.Name, Description = stockOut.Description }); } return(Json(new { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> Search(TableFilterViewModel filter) { Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString()); List <ProviderModel> result = new List <ProviderModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.Providers.CountAsync(x => x.Business_Id == business_working); List <Provider> model; var entity = applicationDbContext.Providers.Where(x => x.Business_Id == business_working); IOrderedQueryable <Provider> sort = null; if (filter.order[0].column == 0) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Name); } else { sort = entity.OrderByDescending(x => x.Name); } } else if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Contact); } else { sort = entity.OrderByDescending(x => x.Contact); } } else if (filter.order[0].column == 2) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.LastUpdated); } else { sort = entity.OrderByDescending(x => x.LastUpdated); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.Providers.CountAsync(x => x.Business_Id == business_working && (x.Name.ToString().Contains(filter.search.value) || x.Contact.ToString().Contains(filter.search.value))); model = await sort.Where(x => x.Name.ToString().Contains(filter.search.value) || x.Contact.ToString().Contains(filter.search.value)) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var provider in model) { result.Add(new ProviderModel() { DT_RowId = provider.Id.ToString(), Name = provider.Name, Contact = provider.Contact, LastUpdated = provider.LastUpdated.ToString("yyyy-MM-dd hh:mm tt") }); } return(Json(new { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> Search(TableFilterViewModel filter) { Guid agent_id = Guid.Parse(filter.type); Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString()); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.Numbers.Include("RechargeAgent").Include("RechargeAgent.Recharge").CountAsync(x => x.RechargeAgent.Agent_Id == agent_id && x.RechargeAgent.Recharge.Activated); List <Number> model; var entity = applicationDbContext.Numbers.Include("RechargeAgent").Include("RechargeAgent.Agent").Include("RechargeAgent.Recharge").Include("User").Where(x => x.RechargeAgent.Agent_Id == agent_id && x.RechargeAgent.Recharge.Activated); IOrderedQueryable <Number> sort = null; if (filter.order[0].column == 0) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Consecutive); } else { sort = entity.OrderByDescending(x => x.Consecutive); } } else if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Value); } else { sort = entity.OrderByDescending(x => x.Value); } } else if (filter.order[0].column == 2) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Confirmation); } else { sort = entity.OrderByDescending(x => x.Confirmation); } } else if (filter.order[0].column == 4) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.CreatedDate); } else { sort = entity.OrderByDescending(x => x.CreatedDate); } } else if (filter.order[0].column == 5) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.UpdatedDate); } else { sort = entity.OrderByDescending(x => x.UpdatedDate); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.Numbers.Include("RechargeAgent").Include("RechargeAgent.Agent").Include("RechargeAgent.Recharge").Include("User").CountAsync(x => x.RechargeAgent.Agent_Id == agent_id && x.RechargeAgent.Recharge.Activated && (x.Value.ToString().Contains(filter.search.value) || x.Consecutive.ToString().Contains(filter.search.value) || x.Confirmation.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.CreatedDate.ToString().Contains(filter.search.value) || x.UpdatedDate.ToString().Contains(filter.search.value))); model = await sort.Where(x => x.RechargeAgent.Agent_Id == agent_id && (x.Value.ToString().Contains(filter.search.value) || x.Consecutive.ToString().Contains(filter.search.value) || x.Confirmation.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.CreatedDate.ToString().Contains(filter.search.value) || x.UpdatedDate.ToString().Contains(filter.search.value))) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } List <NumberViewModel> result = new List <NumberViewModel>(); foreach (var number in model) { result.Add(new NumberViewModel() { DT_RowId = number.Id.ToString(), consecutive = number.Consecutive.ToString("###000"), number = number.Value, created_date = number.CreatedDate.ToString("yyyy-MM-dd hh:mm tt"), updated_date = number.UpdatedDate.ToString("yyyy-MM-dd hh:mm tt"), confirmation = number.Confirmation.ToString(), user = number.User?.UserName }); } if (model.Count == 0) { RechargeAgent rechargeAgent = await applicationDbContext.RechargeAgents.FirstOrDefaultAsync(x => x.Agent_Id == agent_id && x.Recharge.Activated); Number number = new Number() { Id = Guid.NewGuid(), RechargeAgent = rechargeAgent, CreatedDate = DateTime.Now, UpdatedDate = DateTime.Now, Consecutive = 1 }; applicationDbContext.Numbers.Add(number); await applicationDbContext.SaveChangesAsync(); result.Add(new NumberViewModel() { DT_RowId = number.Id.ToString(), consecutive = number.Consecutive.ToString("###000"), number = number.Value, created_date = number.CreatedDate.ToString("yyyy-MM-dd hh:mm tt"), updated_date = number.UpdatedDate.ToString("yyyy-MM-dd hh:mm tt"), confirmation = number.Confirmation.ToString(), user = number.User?.UserName }); } return(Json(new { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> Search(TableFilterViewModel filter) { string current_user_id = User.Identity.GetUserId(); List <BusinessModel> result = new List <BusinessModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.Businesses.Include("BusinessUsers").CountAsync(x => x.BusinessUsers.FirstOrDefault(y => y.User_Id == current_user_id && y.IsRoot) != null); List <Business> model; var entity = applicationDbContext.Businesses.Include("BusinessUsers").Where(x => x.BusinessUsers.FirstOrDefault(y => y.User_Id == current_user_id && y.IsRoot) != null); IOrderedQueryable <Business> sort = null; if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Name); } else { sort = entity.OrderByDescending(x => x.Name); } } else if (filter.order[0].column == 2) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.CreatedOn); } else { sort = entity.OrderByDescending(x => x.CreatedOn); } } else if (filter.order[0].column == 3) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.BusinessUsers.Count); } else { sort = entity.OrderByDescending(x => x.BusinessUsers.Count); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.Businesses.CountAsync(x => x.BusinessUsers.FirstOrDefault(y => y.User_Id == current_user_id && y.IsRoot) != null && (x.Name.ToString().Contains(filter.search.value) || x.CreatedOn.ToString().Contains(filter.search.value))); model = await sort.Where(x => x.BusinessUsers.FirstOrDefault(y => y.User_Id == current_user_id && y.IsRoot) != null && (x.Name.ToString().Contains(filter.search.value) || x.CreatedOn.ToString().Contains(filter.search.value))) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var business in model) { result.Add(new BusinessModel() { DT_RowId = business.Id.ToString(), Name = business.Name, CreatedOn = business.CreatedOn.ToString("yyyy-MM-dd hh:mm tt"), CountWorkers = business.BusinessUsers.Count, Photo = business.Photo }); } return(Json(new { filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> WorkerSearch(TableFilterViewModel filter) { Guid business_id = Guid.Parse(filter.type); List <BusinessUserModel> result = new List <BusinessUserModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.BusinessUsers.CountAsync(x => x.Business_Id == business_id); List <BusinessUser> model; var entity = applicationDbContext.BusinessUsers.Include("User").Where(x => x.Business_Id == business_id); IOrderedQueryable <BusinessUser> sort = null; if (filter.order[0].column == 0) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.User.UserName); } else { sort = entity.OrderByDescending(x => x.User.UserName); } } else if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.LastUpdated); } else { sort = entity.OrderByDescending(x => x.LastUpdated); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.BusinessUsers.Include("User").CountAsync(x => x.Business_Id == business_id && (x.User.UserName.ToString().Contains(filter.search.value) || x.LastUpdated.ToString().Contains(filter.search.value))); model = await sort.Where(x => x.Business_Id == business_id && (x.User.UserName.ToString().Contains(filter.search.value) || x.LastUpdated.ToString().Contains(filter.search.value))) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var user in model) { result.Add(new BusinessUserModel() { DT_RowId = $"{user.Business_Id.ToString()}+{user.User_Id}", Name = user.User.UserName, LastUpdated = user.LastUpdated.ToString("yyyy-MM-dd hh:mm tt") }); } return(Json(new { filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> AgentSearch(TableFilterViewModel filter) { Guid recharge_id = Guid.Parse(filter.type); List <RechargeAgentModel> result = new List <RechargeAgentModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.RechargeAgents.CountAsync(x => x.Recharge_Id == recharge_id); List <RechargeAgent> model; var entity = applicationDbContext.RechargeAgents.Include("Agent").Where(x => x.Recharge_Id == recharge_id); IOrderedQueryable <RechargeAgent> sort = null; if (filter.order[0].column == 0) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Agent.Name); } else { sort = entity.OrderByDescending(x => x.Agent.Name); } } if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Cost); } else { sort = entity.OrderByDescending(x => x.Cost); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.RechargeAgents.Include("Agent").CountAsync(x => x.Recharge_Id == recharge_id && (x.Agent.Name.ToString().Contains(filter.search.value))); model = await sort.Where(x => x.Recharge_Id == recharge_id && (x.Agent.Name.ToString().Contains(filter.search.value))) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var agent in model) { result.Add(new RechargeAgentModel() { DT_RowId = agent.Id.ToString(), Name = agent.Agent.Name, Cost = agent.Cost.ToString("#,##0.00") }); } return(Json(new { filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> Search(TableFilterViewModel filter) { Guid business_id = Guid.Parse(Session["BusinessWorking"].ToString()); List <RechargeViewModel> result = new List <RechargeViewModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.Recharges.CountAsync(x => x.Business_Id == business_id); List <Recharge> model; var entity = applicationDbContext.Recharges.Include("RechargeAgents").Where(x => x.Business_Id == business_id); IOrderedQueryable <Recharge> sort = null; if (filter.order[0].column == 0) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Name); } else { sort = entity.OrderByDescending(x => x.Name); } } else if (filter.order[0].column == 1) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Cost); } else { sort = entity.OrderByDescending(x => x.Cost); } } else if (filter.order[0].column == 2) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Activated); } else { sort = entity.OrderByDescending(x => x.Activated); } } else if (filter.order[0].column == 3) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.DateStart); } else { sort = entity.OrderByDescending(x => x.DateStart); } } else if (filter.order[0].column == 4) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.DateEnd); } else { sort = entity.OrderByDescending(x => x.DateEnd); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { totalRowsFiltered = await applicationDbContext.Recharges.CountAsync(x => x.Business_Id == business_id && (x.Name.ToString().Contains(filter.search.value) || x.Cost.ToString().Contains(filter.search.value) || x.DateStart.ToString().Contains(filter.search.value) || x.DateEnd.ToString().Contains(filter.search.value))); model = await sort.Where(x => x.Business_Id == business_id && (x.Name.ToString().Contains(filter.search.value) || x.Cost.ToString().Contains(filter.search.value) || x.DateStart.ToString().Contains(filter.search.value) || x.DateEnd.ToString().Contains(filter.search.value))) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var recharge in model) { result.Add(new RechargeViewModel() { DT_RowId = recharge.Id.ToString(), Name = recharge.Name, Cost = recharge.Cost.ToString("#,##0.00"), DateStart = recharge.DateStart.ToString("yyyy-MM-dd hh:mm tt"), DateEnd = recharge.DateEnd.ToString("yyyy-MM-dd hh:mm tt"), AgentsCount = recharge.RechargeAgents.Count, Activated = recharge.Activated }); } return(Json(new { filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }