示例#1
0
        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
            }));
        }
示例#2
0
        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
            }));
        }
示例#4
0
        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
            }));
        }
示例#6
0
        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
            }));
        }
示例#7
0
        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
            }));
        }