/// <summary> /// Возвращает список категорий товаров из магазина в виде массива /// </summary> /// <returns></returns> public CartCategoryModel[] GetCartCategoriesList(CartFilter filter) { using (var db = new CMSdb(_context)) { var query = db.cart_categories .Where(w => !w.b_disabled); //Список категорий, к которым отнесен товар if (filter.ProductId.HasValue) { query = query .Where(c => c.fkproductss.Any(p => p.f_product == filter.ProductId.Value)); } var data = query .Select(s => new CartCategoryModel { Id = s.id, Icon = s.c_icon, Title = s.c_name, Desc = s.c_desc }).ToArray(); return(data); } }
/// <summary> /// Возвращает список категорий товаров из магазина /// </summary> /// <returns></returns> public Paged <CartProductModel> GetProducts(CartFilter filter) { using (var db = new CMSdb(_context)) { var result = new Paged <CartProductModel>(); var query = db.cart_products_categories .Where(c => !c.fkproductscategoriesproducts.b_disabled); if (filter.CategoryId.HasValue) { query = query .Where(c => c.f_category == filter.CategoryId.Value); } /*if (!String.IsNullOrWhiteSpace(filter.SearchText)) * query = query * .Where(c => c.fkproductcategoriesproducts.c_title.Contains(filter.SearchText) || c.fkproductcategoriesproducts.c_desc.Contains(filter.SearchText) || c.fkproductcategoriescategories.c_name.Contains(filter.SearchText) || c.fkproductcategoriescategories.c_desc.Contains(filter.SearchText) || );*/ int itemsCount = query.Count(); var list = query .Skip(filter.Size * (filter.Page - 1)) .Take(filter.Size) .Select(s => new CartProductModel { Id = s.f_product, Number = s.fkproductscategoriesproducts.n_product, Title = s.fkproductscategoriesproducts.c_title, Desc = s.fkproductscategoriesproducts.c_desc, Price = s.fkproductscategoriesproducts.n_price, PricePrev = s.fkproductscategoriesproducts.n_price_old, PriceInfoPrev = s.fkproductscategoriesproducts.c_price_old, PriceInfo = s.fkproductscategoriesproducts.c_price, Disabled = s.fkproductscategoriesproducts.b_disabled, Categories = GetCartCategoriesList(new CartFilter() { ProductId = s.f_product }), //Images = }).ToArray(); return(new Paged <CartProductModel> { Items = list, Pager = new PagerModel { PageNum = filter.Page, PageSize = filter.Size, TotalCount = itemsCount } }); } }
public async Task <Response> ManageCart(CartFilter filter, string action) { filter.companyId = CompanyId; var filterData = JsonConvert.SerializeObject(filter); var result = await CallPostFunction(filterData, ManageCartAction + action); if (result == null) { return(null); } else { return(result); } }
/// <summary> /// Возвращает постраничный список категорий товаров из магазина /// </summary> /// <param name="filter"></param> /// <returns></returns> public Paged <CartCategoryModel> GetCartCategories(CartFilter filter) { using (var db = new CMSdb(_context)) { var result = new Paged <CartCategoryModel>(); var query = db.cart_categories .Where(w => !w.b_disabled); if (filter.Disabled.HasValue) { query = query.Where(w => w.b_disabled == filter.Disabled.Value); } if (!String.IsNullOrWhiteSpace(filter.SearchText)) { query = query.Where(w => w.c_name.ToLower().Contains(filter.SearchText.ToLower())); } int itemsCount = query.Count(); var list = query .Skip(filter.Size * (filter.Page - 1)) .Take(filter.Size) .Select(s => new CartCategoryModel { Id = s.id, Icon = s.c_icon, Title = s.c_name, Desc = s.c_desc, Disabled = s.b_disabled, TotalProducts = db.cart_products.Where(p => p.fkcategoriess.Any(t => t.f_category == s.id)).Count() }).ToArray(); return(new Paged <CartCategoryModel> { Items = list, Pager = new PagerModel { PageNum = filter.Page, PageSize = filter.Size, TotalCount = itemsCount } }); } }
public IndexViewModel Create(HttpContext httpContext, CartFilter filter, IEnumerable <Cart> carts, string cartBy, int skip, int take, int total) { IStringLocalizer <IndexViewModelFactory> localizer = httpContext.GetStringLocalizer <IndexViewModelFactory>(); return(new IndexViewModel() { Grid = new GridViewModelFactory().Create( httpContext, cartBy, skip, take, total, new[] { new GridColumnViewModelFactory().Create(localizer["#"]), new GridColumnViewModelFactory().Create(localizer["Total"]), new GridColumnViewModelFactory().Create(localizer["Created"], "Created"), new GridColumnViewModelFactory().CreateEmpty() }, carts.Select(c => new CartViewModelFactory().Create(c)), "_Cart" ) }); }
public async Task <Response> getCartCount(UserDetails userDetail) { CartFilter filter = new CartFilter(); filter.username = userDetail.username; filter.password = userDetail.password_str; filter.userId = userDetail.id; filter.companyId = userDetail.company_id ?? 0; var productData = JsonConvert.SerializeObject(filter); var result = await CallPostFunction(productData, ManageCartAction + "CartCount"); if (result == null) { return(null); } else { return(result); } }
/// <summary> /// Возвращает список(массив) категорий товаров из магазина /// </summary> /// <returns></returns> public CartProductModel[] GetProductsList(CartFilter filter) { using (var db = new CMSdb(_context)) { var result = new Paged <CartProductModel>(); var query = db.cart_products_categories .Where(c => !c.fkproductscategoriesproducts.b_disabled); if (filter.CategoryId.HasValue) { query = query .Where(c => c.f_category == filter.CategoryId.Value); } var list = query .Select(s => new CartProductModel { Id = s.f_product, Number = s.fkproductscategoriesproducts.n_product, Title = s.fkproductscategoriesproducts.c_title, Desc = s.fkproductscategoriesproducts.c_desc, Price = s.fkproductscategoriesproducts.n_price, PricePrev = s.fkproductscategoriesproducts.n_price_old, PriceInfoPrev = s.fkproductscategoriesproducts.c_price_old, PriceInfo = s.fkproductscategoriesproducts.c_price, Disabled = s.fkproductscategoriesproducts.b_disabled, Categories = GetCartCategoriesList(new CartFilter() { ProductId = s.f_product }), //Images = }).ToArray(); return(list); } }
private async Task <IActionResult> PrepareCartListView(CartType cartType) { var seller = await HttpContext.GetSellerAsync(); var customer = await HttpContext.GetMemberAsync(); var filter = new CartFilter { SellerId = seller.Id, CustomerId = customer.Id, Type = cartType }; var carts = (await _cartService.ListAsync(filter)); // Ensure all carts are validated before evaluation. carts = carts.Where(x => _cartService.Validate(x).Success); var model = new CartListModel { Filter = filter, CartType = cartType }; await _appService.PrepareModelAsync(model, carts.ToPageable()); return(View("CartList", model)); }
/// <summary> /// Список заказов /// </summary> /// <param name="filter"></param> /// <returns></returns> public Paged <OrderModel> GetOrders(CartFilter filter) { using (var db = new CMSdb(_context)) { var result = new Paged <OrderModel>(); var query = db.cart_orders .AsQueryable(); if (filter.UserId.HasValue) { query = query .Where(c => c.f_client == filter.UserId.Value); } if (filter.Date.HasValue) { query = query .Where(c => c.d_date > filter.Date.Value); } if (filter.DateEnd.HasValue) { query = query .Where(c => c.d_date < filter.DateEnd.Value.AddDays(1)); } if (!string.IsNullOrEmpty(filter.Type) && int.TryParse(filter.Type, out int type)) { query = query .Where(c => c.f_status == type); } int itemsCount = query.Count(); var list = query .OrderByDescending(s => s.d_date) .Skip(filter.Size * (filter.Page - 1)) .Take(filter.Size) .Select(s => new OrderModel { Id = s.id, Number = s.n_order, Date = s.d_date, UserId = s.f_client, UserName = s.c_client_name, UserPhone = s.c_client_phone, UserEmail = s.c_client_email, UserAddress = s.c_client_address, Payed = s.b_payed, Status = (OrderStatus)s.f_status, DeliveryType = (DeliveryMethod)s.f_delivery, AcquiringType = (AcquiringMethod)s.f_acquiring, Note = s.c_note, Total = db.cart_orders_items.Where(p => p.f_order == s.id).Count(), TotalSum = db.cart_orders_items.Where(p => p.f_order == s.id).Any() ? db.cart_orders_items.Where(p => p.f_order == s.id).Sum(p => p.n_total_sum) : 0.00m //Products }).ToArray(); return(new Paged <OrderModel> { Items = list, Pager = new PagerModel { PageNum = filter.Page, PageSize = filter.Size, TotalCount = itemsCount } }); } }
/// <summary> /// Возвращает постраничный список категорий товаров из магазина /// </summary> /// <returns></returns> public Paged <CartProductModel> GetProducts(CartFilter filter) { using (var db = new CMSdb(_context)) { var result = new Paged <CartProductModel>(); var query = db.cart_products .Where(s => !s.b_disabled); if (filter.CategoryId.HasValue) { query = query.Where(s => s.fkcategoriess.Any(c => c.f_category == filter.CategoryId.Value)); } if (!string.IsNullOrEmpty(filter.Category) && Guid.TryParse(filter.Category, out Guid catId)) { query = query.Where(s => s.fkcategoriess.Any(c => c.f_category == catId)); } if (filter.Disabled.HasValue) { query = query.Where(s => s.b_disabled == filter.Disabled.Value); } if (!string.IsNullOrEmpty(filter.SearchText)) { query = query.Where(s => s.c_title.ToLower().Contains(filter.SearchText.ToLower()) || s.c_desc.Contains(filter.SearchText.ToLower())); } int itemsCount = query.Count(); var list = query .Skip(filter.Size * (filter.Page - 1)) .Take(filter.Size) .Select(s => new CartProductModel { Id = s.id, Number = s.n_product, Title = s.c_title, Desc = s.c_desc, Price = s.n_price, PricePrev = s.n_price_old, PriceInfoPrev = s.c_price_old, PriceInfo = s.c_price, Disabled = s.b_disabled, Categories = GetCartCategoriesList(new CartFilter() { ProductId = s.id }), //Images = }).ToArray(); return(new Paged <CartProductModel> { Items = list, Pager = new PagerModel { PageNum = filter.Page, PageSize = filter.Size, TotalCount = itemsCount } }); } }