public async Task <ActionResult> SearchLogs(StockFilterViewModel filter) { Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString()); List <LogModel> result = new List <LogModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.ActivityLogs.CountAsync(x => x.Business_Id == business_working); List <ActivityLog> model; var entity = applicationDbContext.ActivityLogs.Include("User").Include("ActivityLogType").Where(x => x.Business_Id == business_working); if (!string.IsNullOrEmpty(filter.type)) { int typeId = int.Parse(filter.type); totalRows = await applicationDbContext.ActivityLogs.CountAsync(x => x.Business_Id == business_working && x.ActivityLogType_Id == typeId); entity = entity.Where(x => x.Business_Id == business_working && x.ActivityLogType_Id == typeId); } IOrderedQueryable <ActivityLog> 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.ActivityLogType.Name); } else { sort = entity.OrderByDescending(x => x.ActivityLogType.Name); } } else if (filter.order[0].column == 2) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Comment); } else { sort = entity.OrderByDescending(x => x.Comment); } } 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.ActivityLogs.CountAsync(x => x.Business_Id == business_working && (x.ActivityLogType.Name.ToString().Contains(filter.search.value) || x.Comment.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.Date.ToString().Contains(filter.search.value))); model = await sort.Where(x => x.Business_Id == business_working && (x.ActivityLogType.Name.ToString().Contains(filter.search.value) || x.Comment.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.Date.ToString().Contains(filter.search.value))) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var log in model) { result.Add(new LogModel() { DT_RowId = log.Id.ToString(), Date = log.Date.ToString("yyyy-MM-dd hh:mm tt"), Name = log.ActivityLogType.Name, Comment = log.Comment, User = log.User.UserName }); } return(Json(new { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> WorkerSearch(StockFilterViewModel 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.Cash); } else { sort = entity.OrderByDescending(x => x.Cash); } } 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.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"), Cash = user.Cash.ToString("#,##0.00") }); } return(Json(new { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> Search(StockFilterViewModel 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 { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }
public async Task <ActionResult> Search(StockFilterViewModel filter) { Guid business_working = Guid.Parse(Session["BusinessWorking"].ToString()); List <ProductModel> result = new List <ProductModel>(); long totalRowsFiltered = 0; long totalRows = await applicationDbContext.Products.CountAsync(x => x.Business_Id == business_working); List <Product> model; var entity = applicationDbContext.Products.Include("Category").Where(x => x.Business_Id == business_working); if (!string.IsNullOrEmpty(filter.type)) { Guid categoryId = Guid.Parse(filter.type); totalRows = await applicationDbContext.Products.CountAsync(x => x.Business_Id == business_working && x.Category_Id == categoryId); entity = entity.Where(x => x.Business_Id == business_working && x.Category_Id == categoryId); } if (filter.exist == "1") { totalRows = await applicationDbContext.Products.CountAsync(x => x.Stock > 0 && x.Business_Id == business_working); entity = entity.Where(x => x.Stock > 0); } else if (filter.exist == "2") { totalRows = await applicationDbContext.Products.CountAsync(x => x.Stock <= 0 && x.Business_Id == business_working); entity = entity.Where(x => x.Stock <= 0); } IOrderedQueryable <Product> sort = null; if (filter.order[0].column == 0) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Category.Name); } else { sort = entity.OrderByDescending(x => x.Category.Name); } } else 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.CurrentPrice); } else { sort = entity.OrderByDescending(x => x.CurrentPrice); } } else if (filter.order[0].column == 3) { 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 == 4) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.Stock); } else { sort = entity.OrderByDescending(x => x.Stock); } } else if (filter.order[0].column == 5) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.LastUpdated); } else { sort = entity.OrderByDescending(x => x.LastUpdated); } } else if (filter.order[0].column == 6) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.NoCountOut); } else { sort = entity.OrderByDescending(x => x.NoCountOut); } } else if (filter.order[0].column == 7) { if (filter.order[0].dir.Equals("asc")) { sort = entity.OrderBy(x => x.isAccesory); } else { sort = entity.OrderByDescending(x => x.isAccesory); } } if (string.IsNullOrEmpty(filter.search.value)) { totalRowsFiltered = totalRows; model = await sort.Skip(filter.start) .Take(filter.length) .ToListAsync(); } else { if (filter.exist == "1") { totalRowsFiltered = await applicationDbContext.Products.CountAsync(x => x.Stock > 0 && x.Business_Id == business_working && (x.Category.Name.ToString().Contains(filter.search.value) || x.Name.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.CurrentPrice.ToString().Contains(filter.search.value) || x.SalePrice.ToString().Contains(filter.search.value) || x.Stock.ToString().Contains(filter.search.value))); } else if (filter.exist == "2") { totalRowsFiltered = await applicationDbContext.Products.CountAsync(x => x.Stock <= 0 && x.Business_Id == business_working && (x.Category.Name.ToString().Contains(filter.search.value) || x.Name.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.CurrentPrice.ToString().Contains(filter.search.value) || x.SalePrice.ToString().Contains(filter.search.value) || x.Stock.ToString().Contains(filter.search.value))); } else { totalRowsFiltered = await applicationDbContext.Products.CountAsync(x => x.Business_Id == business_working && (x.Category.Name.ToString().Contains(filter.search.value) || x.Name.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.CurrentPrice.ToString().Contains(filter.search.value) || x.SalePrice.ToString().Contains(filter.search.value) || x.Stock.ToString().Contains(filter.search.value))); } model = await sort.Where(x => x.Category.Name.ToString().Contains(filter.search.value) || x.Name.ToString().Contains(filter.search.value) || x.User.UserName.ToString().Contains(filter.search.value) || x.CurrentPrice.ToString().Contains(filter.search.value) || x.SalePrice.ToString().Contains(filter.search.value) || x.Stock.ToString().Contains(filter.search.value)) .Skip(filter.start) .Take(filter.length) .ToListAsync(); } foreach (var product in model) { result.Add(new ProductModel() { DT_RowId = product.Id.ToString(), Product = product.Name, LatestUpdated = product.LastUpdated.ToString("yyyy-MM-dd hh:mm tt"), CurrentPrice = product.CurrentPrice.ToString("#,##0.00"), SalePrice = product.SalePrice.ToString("#,##0.00"), NoCountOut = product.NoCountOut, Stock = product.Stock, isAccesory = product.isAccesory, Category = product.Category.Name }); } return(Json(new { draw = filter.draw, recordsTotal = totalRows, recordsFiltered = totalRowsFiltered, data = result })); }