Exemple #1
0
        public List <Product> ProductsByCatId(int catId)
        {
            // fix: dùng search theo tag
            List <Product> products = GetApiProducts.GetProducts().Where(p => p.CategoryId == catId && p.IsActivated == true).ToList();

            return(products);
        }
Exemple #2
0
        public IActionResult Index()
        {
            IEnumerable <Product>     products     = GetApiProducts.GetProducts();
            IEnumerable <UserComment> comment      = GetApiUserComments.GetUserComments();
            IEnumerable <Category>    categories   = GetApiCategories.GetCategories();
            IEnumerable <Distributor> distributors = GetApiDistributors.GetDistributors();

            List <ProductModelViewDetail> productRatings = products.Where(p => p.IsActivated == true).Select(p => new ProductModelViewDetail()
            {
                ProductId          = p.ProductId,
                ProductName        = p.ProductName,
                ProductDescription = p.ProductDescription,
                ProductImage       = p.ProductImage,
                ProductPrice       = p.ProductPrice,
                ProductDiscount    = p.ProductDiscount,
                CategoryName       = categories.SingleOrDefault(k => k.CategoryId == p.CategoryId).CategoryName,
                DistributorName    = distributors.SingleOrDefault(k => k.DistributorId == p.DistributorId).DistributorName,
                Rating             = getRatingProduct(p.ProductId),
                No_Ratings         = comment.Where(k => k.ProductId == p.ProductId && k.UserCommentApproved == true).Count(),
                InitAt             = p.InitAt,
                SlugName           = p.SlugName
            }).OrderByDescending(p => p.InitAt).ToList();

            return(View(productRatings));
        }
Exemple #3
0
        public IActionResult EditProduct(int productId)
        {
            ViewBag.Distributors = GetApiDistributors.GetDistributors().ToList();
            ViewBag.Categories   = GetApiCategories.GetCategories().ToList();
            Product product = GetApiProducts.GetProducts().SingleOrDefault(p => p.ProductId == productId);

            return(View(product));
        }
Exemple #4
0
        public IActionResult Index()
        {
            ViewBag.Category = GetApiCategories.GetCategories().ToList(); // api
            List <ProductModelView> newProducts = GetApiProducts.GetProducts().Select(p => new ProductModelView()
            {
                ProductId          = p.ProductId,
                ProductName        = p.ProductName,
                ProductDescription = p.ProductDescription,
                ProductImage       = p.ProductImage,
                ProductDiscount    = p.ProductDiscount,
                ProductPrice       = p.ProductPrice,
                SlugName           = p.SlugName,
                CategoryId         = p.CategoryId,
                DistributorId      = p.DistributorId,
                Rating             = 0,
                InitAt             = p.InitAt,
                IsActivated        = p.IsActivated,
                NumberOfPurchases  = p.NumberOfPurchases,
                CatName            = ""
            }).ToList();

            foreach (var p in newProducts)
            {
                p.Rating  = getRatingProduct(p.ProductId);
                p.CatName = GetApiCategories.GetCategories().SingleOrDefault(k => k.CategoryId == p.CategoryId).CategoryName;
            }

            ViewBag.NewProducts = newProducts.Where(p => p.isNew || p.ProductDiscount != 0).Take(5).ToList();

            List <ProductModelView> mostBoughts = GetApiProducts.GetProducts().OrderByDescending(p => p.NumberOfPurchases).Select(p => new ProductModelView()
            {
                ProductId          = p.ProductId,
                ProductName        = p.ProductName,
                ProductDescription = p.ProductDescription,
                ProductImage       = p.ProductImage,
                ProductDiscount    = p.ProductDiscount,
                ProductPrice       = p.ProductPrice,
                SlugName           = p.SlugName,
                CategoryId         = p.CategoryId,
                DistributorId      = p.DistributorId,
                Rating             = 0,
                InitAt             = p.InitAt,
                IsActivated        = p.IsActivated,
                NumberOfPurchases  = p.NumberOfPurchases,
                CatName            = ""
            }).Take(5).ToList();

            foreach (var p in mostBoughts)
            {
                p.Rating  = getRatingProduct(p.ProductId);
                p.CatName = GetApiCategories.GetCategories().SingleOrDefault(k => k.CategoryId == p.CategoryId).CategoryName;
            }

            ViewBag.MostBought = mostBoughts.Take(5).ToList();

            return(View());
        }
Exemple #5
0
        public List <BillModelView> GetBills()
        {
            //get credential
            CredentialModel credential = HttpContext.Session.GetObject <CredentialModel>(Constants.VM);
            // get profile
            UserProfile profile = GetApiUserProfile.GetUserProfiles().SingleOrDefault(p => p.UserProfileEmail == credential.AccountUserName);

            // get all Bill with profileID from server
            List <BillModelView> bills = GetApiMyBills.GetBills(credential).Select(p => new BillModelView()
            {
                BillId          = p.BillId,
                BillCode        = p.GenerateCodeCheck,
                DateOfPurchase  = p.DateOfPurchase,
                DateDelivery    = Convert.ToDateTime(p.DateOfDelivered),
                TotalPrice      = p.TotalPrice,
                PaymentMethodId = p.PaymentMethodTypeId,
                IsDelivery      = p.IsDelivery,
                IsCancel        = p.IsCancel,
            }).ToList();

            // get payment method
            foreach (var bill in bills)
            {
                bill.PaymentMethodName = GetApiPaymentMethodTypes.GetPaymentMethodTypes().SingleOrDefault(p => p.PaymentMethodTypeId == bill.PaymentMethodId).PaymentMethodTypeName;
            }

            // get bill detail
            foreach (var item in bills)
            {
                List <BillDetailModel> details = GetApiBillDetails.GetBillDetails().Where(p => p.BillId == item.BillId)
                                                 .Select(p => new BillDetailModel()
                {
                    ProductId   = p.ProductId,
                    ProductName = GetApiProducts.GetProducts().SingleOrDefault(k => k.ProductId == p.ProductId).ProductName,
                    Amount      = p.ProductAmount,
                    Price       = p.ProductPriceCurrent,
                    NoteSize    = p.NoteSize,
                    Image       = GetApiProducts.GetProducts().SingleOrDefault(k => k.ProductId == p.ProductId).ProductImage,
                }).ToList();

                item.BillDetail = details;

                // get delivery of bill
                DeliveryProduct delivery = GetApiDeliveryProducts.GetDeliveryProducts().SingleOrDefault(p => p.DeliveryProductBillId == item.BillId);

                // get state of bill
                item.DeliveryProductStateId = delivery.DeliveryProductStateId;

                item.DeliveryStateName = GetApiDeliveryStates.GetDeliveryProductStates().SingleOrDefault(p => p.DeliveryProductStateId == delivery.DeliveryProductStateId).DeliveryProductStateName;
            }

            return(bills);
        }
Exemple #6
0
        public IActionResult BillDetail(int billId)
        {
            CredentialManage credential = JsonConvert.DeserializeObject <CredentialManage>(HttpContext.Session.GetString(Constants.VM_MANAGE));

            Bill          p    = GetApiBills.GetBills(credential).SingleOrDefault(p => p.BillId == billId);
            BillModelView bill = new BillModelView()
            {
                BillId            = p.BillId,
                BillCode          = p.GenerateCodeCheck,
                DateOfPurchase    = p.DateOfPurchase,
                DateDelivery      = Convert.ToDateTime(p.DateOfDelivered),
                TotalPrice        = p.TotalPrice,
                PaymentMethodId   = p.PaymentMethodTypeId,
                IsDelivery        = p.IsDelivery,
                IsCancel          = p.IsCancel,
                IsApprove         = p.IsApprove,
                IsCompleted       = p.IsCompleted,
                PaymentMethodName = GetApiPaymentMethodTypes.GetPaymentMethodTypes().SingleOrDefault(k => k.PaymentMethodTypeId == p.PaymentMethodTypeId).PaymentMethodTypeName,
            };

            List <BillDetailModel> details = GetApiBillDetails.GetBillDetails().Where(p => p.BillId == bill.BillId)
                                             .Select(p => new BillDetailModel()
            {
                ProductId   = p.ProductId,
                ProductName = GetApiProducts.GetProducts().SingleOrDefault(k => k.ProductId == p.ProductId).ProductName,
                Amount      = p.ProductAmount,
                Price       = p.ProductPriceCurrent,
                NoteSize    = p.NoteSize,
                Image       = GetApiProducts.GetProducts().SingleOrDefault(k => k.ProductId == p.ProductId).ProductImage,
            }).ToList();

            bill.BillDetail = details;

            // get delivery
            DeliveryProduct delivery = GetApiDeliveryProducts.GetDeliveryProducts().SingleOrDefault(p => p.DeliveryProductBillId == bill.BillId);

            bill.delivery = delivery;

            // get state of bill
            bill.DeliveryProductStateId = delivery.DeliveryProductStateId;

            bill.DeliveryStateName = GetApiDeliveryStates.GetDeliveryProductStates().SingleOrDefault(p => p.DeliveryProductStateId == delivery.DeliveryProductStateId).DeliveryProductStateName;

            return(Json(bill));
        }
Exemple #7
0
        public IActionResult Index()
        {
            List <ProductModelView> products = GetApiProducts.GetProducts().Select(p => new ProductModelView()
            {
                ProductId          = p.ProductId,
                ProductName        = p.ProductName,
                ProductDescription = p.ProductDescription,
                ProductImage       = p.ProductImage,
                ProductPrice       = p.ProductPrice,
                ProductDiscount    = p.ProductDiscount,
                CatName            = GetApiCategories.GetCategories().SingleOrDefault(k => k.CategoryId == p.CategoryId).CategoryName,
                IsActivated        = p.IsActivated,
                InitAt             = p.InitAt,
                DistributorName    = GetApiDistributors.GetDistributors().SingleOrDefault(k => k.DistributorId == p.DistributorId).DistributorName
            }).ToList();

            return(View(products));
        }
Exemple #8
0
        private List <BillDetail> CreateBillDetail(Bill createdBill)
        {
            List <BillDetail> details  = new List <BillDetail>();
            List <BillDetail> response = new List <BillDetail>();

            foreach (var item in Carts)
            {
                details.Add(new BillDetail()
                {
                    BillId              = createdBill.BillId,
                    ProductAmount       = item.Amount,
                    ProductPriceCurrent = item.Price,
                    ProductTotalPrice   = item.Price * item.Amount,
                    ProductId           = GetApiProducts.GetProducts().SingleOrDefault(p => p.SlugName == item.CartItemSlugName).ProductId,
                    NoteSize            = item.Size != "" ? item.Size : ""
                });
            }

            CredentialModel credential = JsonConvert.DeserializeObject <CredentialModel>(HttpContext.Session.GetString(Constants.VM));
            string          token      = credential.JwToken;

            // post Delivery
            using (HttpClient client = Common.HelperClient.GetClient(token))
            {
                client.BaseAddress = new Uri(Common.Constants.BASE_URI);

                foreach (var detail in details)
                {
                    var postTask = client.PostAsJsonAsync <BillDetail>(Constants.BILLDETAIL, detail);
                    postTask.Wait();

                    var result = postTask.Result;
                    if (result.IsSuccessStatusCode)
                    {
                        var readTask = result.Content.ReadAsAsync <BillDetail>();
                        readTask.Wait();

                        response.Add(readTask.Result);
                    }
                }

                return(response);
            }
        }
Exemple #9
0
        public IActionResult Filter(string textSearch)
        {
            List <Product> filters = new List <Product>();

            if (textSearch == "" || textSearch == null)
            {
                filters = new List <Product>();
            }
            else
            {
                List <string> searchTexts = textSearch.Split(" ").ToList();
                foreach (string search in searchTexts)
                {
                    filters.AddRange(GetApiProducts.GetProducts()
                                     .Where(p => p.ProductName.ToLower().Contains(search.ToLower()) ||
                                            p.ProductId.ToString() == search).ToList());
                }
            }

            return(PartialView(filters));
        }
Exemple #10
0
        public IActionResult ChangeActivated(int productId)
        {
            CredentialManage credential = JsonConvert.DeserializeObject <CredentialManage>(HttpContext.Session.GetString(Constants.VM_MANAGE) != null ? HttpContext.Session.GetString(Constants.VM_MANAGE) : "");
            string           token      = credential.JwToken;

            Product current = GetApiProducts.GetProducts().SingleOrDefault(p => p.ProductId == productId);

            // update status
            current.IsActivated = !current.IsActivated;

            using (HttpClient client = Common.HelperClient.GetClient(token))
            {
                client.BaseAddress = new Uri(Common.Constants.BASE_URI);

                var postTask = client.PutAsJsonAsync <Product>(Constants.PRODUCT + "/" + current.ProductId, current);
                postTask.Wait();

                var result = postTask.Result;
            }

            return(RedirectToAction("Index"));
        }
Exemple #11
0
        public IActionResult RatingDetail(string slugName)
        {
            IEnumerable <Product> products = GetApiProducts.GetProducts().Where(p => p.IsActivated == true);
            Product p = products.SingleOrDefault(p => p.SlugName == slugName);

            if (p == null)
            {
                return(RedirectToAction("Index", "NotFound"));
            }

            ProductModelViewDetail res = new ProductModelViewDetail()
            {
                ProductId          = p.ProductId,
                ProductName        = p.ProductName,
                ProductDescription = p.ProductDescription,
                ProductImage       = p.ProductImage,
                ProductPrice       = p.ProductPrice,
                ProductDiscount    = p.ProductDiscount,
                CategoryName       = GetApiCategories.GetCategories().SingleOrDefault(k => k.CategoryId == p.CategoryId).CategoryName,
                DistributorName    = GetApiDistributors.GetDistributors().SingleOrDefault(k => k.DistributorId == p.DistributorId).DistributorName,
                Rating             = getRatingProduct(p.ProductId),
                No_Ratings         = GetApiUserComments.GetUserComments().Where(k => k.ProductId == p.ProductId && k.UserCommentApproved == true).Count(),
                InitAt             = p.InitAt,
                Comments           = new List <UserComment>()
            };

            List <UserComment> comments = GetApiUserComments.GetUserComments().Where(k => k.ProductId == p.ProductId && k.UserCommentApproved == true).OrderByDescending(p => p.UserCommentPostedDate).ToList();

            foreach (var cmt in comments)
            {
                cmt.UserProfile = GetApiUserProfile.GetUserProfiles().SingleOrDefault(p => p.UserProfileId == cmt.UserProfileId);
            }

            res.Comments = comments;

            return(View(res));
        }
Exemple #12
0
        public int GetAmountProduct(string slugName, string size = null)
        {
            Product product = GetApiProducts.GetProducts().SingleOrDefault(p => p.SlugName == slugName);
            string  slugCat = GetApiCategories.GetCategories().SingleOrDefault(p => p.CategoryId == product.CategoryId).CategoryName;

            int amount = 0;

            switch (slugCat)
            {
            case Constants.FOOD:
                amount = GetApiFoodProducts.GetFoodProducts().SingleOrDefault(p => p.ProductId == product.ProductId).FoodAmount;
                break;

            case Constants.TOY:
                amount = GetApiToyProducts.GetToyProducts().SingleOrDefault(p => p.ProductId == product.ProductId).ToyAmount;
                break;

            case Constants.COSTUME:
                amount = GetApiCostumeProducts.GetCostumeProducts().SingleOrDefault(p => p.ProductId == product.ProductId && p.CostumeSize == size).CostumeAmountSize;
                break;
            }

            return(amount);
        }
Exemple #13
0
        private bool IsFood(int productId)
        {
            Category category = GetApiCategories.getCategoryBySlugName(Constants.FOOD);

            return(GetApiProducts.GetProducts().SingleOrDefault(p => p.ProductId == productId && p.CategoryId == category.CategoryId) != null);
        }
Exemple #14
0
        // Begin Function for get data quickly

        public List <ProductModelView> getProductsByFilter(string categorySlugName, Filter filter)
        {
            Category category = GetApiCategories.getCategoryBySlugName(categorySlugName);

            double priceTo_ = filter.PriceTo;

            if (filter.PriceTo == 0 || filter.PriceTo < filter.PriceFrom)
            {
                priceTo_ = 999999999999;
            }

            //create list products to assign
            List <ProductModelView> products = new List <ProductModelView>();

            // get Products from api to query
            List <Product> productsApi = GetApiProducts.GetProducts().Where(p => p.IsActivated == true).ToList();

            products = productsApi
                       .Where(p =>
                              p.CategoryId == category.CategoryId &&
                              p.ProductPrice * (1 - p.ProductDiscount) >= filter.PriceFrom &&
                              p.ProductPrice * (1 - p.ProductDiscount) <= priceTo_
                              )
                       .Select(p => new ProductModelView()
            {
                ProductId          = p.ProductId,
                ProductName        = p.ProductName,
                ProductDescription = p.ProductDescription,
                ProductImage       = p.ProductImage,
                ProductDiscount    = p.ProductDiscount,
                ProductPrice       = p.ProductPrice,
                CategoryId         = p.CategoryId,
                DistributorId      = p.DistributorId,
                IsActivated        = p.IsActivated,
                InitAt             = p.InitAt,
                Rating             = 0,
                SlugName           = p.SlugName,
                NumberOfPurchases  = p.NumberOfPurchases
            }).ToList();

            // update rating for each product
            foreach (var p in products)
            {
                p.Rating = getRatingProduct(p.ProductId);
            }

            string[] ratings            = filter.ratings == null ? new string[0] : filter.ratings.Split("-");
            List <ProductModelView> res = new List <ProductModelView>();

            // get by ratings
            if (ratings.Length > 1)
            {
                foreach (var p in products)
                {
                    bool tracking = false;
                    foreach (var rating in ratings)
                    {
                        if (rating != "" && ((int)p.Rating == Int32.Parse(rating) || ((int)p.Rating == 5 && (int)p.Rating - Int32.Parse(rating) == 1) || (int)p.Rating + 1 == Int32.Parse(rating)))
                        {
                            tracking = true;
                            break;
                        }
                    }

                    // if track check point at product has rating equal ratings list
                    if (tracking)
                    {
                        res.Add(p);
                    }
                }
            }
            else
            {
                res = products;
            }


            if (filter.sort)
            {
                res = res.OrderByDescending(p => p.ProductPrice).ToList();
            }
            else
            {
                res = res.OrderBy(p => p.ProductPrice).ToList();
            }
            if (filter.isDiscount)
            {
                res = res.Where(p => p.ProductDiscount > 0).ToList();
            }
            if (filter.isNew)
            {
                res = res.Where(p => p.isNew == true).ToList();
            }

            return(res);
        }
Exemple #15
0
        public IActionResult EditProduct(int id, Product product, IFormFile productFile)
        {
            CredentialManage credential = JsonConvert.DeserializeObject <CredentialManage>(HttpContext.Session.GetString(Constants.VM_MANAGE) != null ? HttpContext.Session.GetString(Constants.VM_MANAGE) : "");
            string           token      = credential.JwToken;

            Product current = GetApiProducts.GetProducts().SingleOrDefault(p => p.ProductId == id);

            Product update = new Product()
            {
                ProductId          = id,
                ProductName        = product.ProductName,
                ProductDescription = product.ProductDescription,
                ProductPrice       = product.ProductPrice,
                ProductDiscount    = product.ProductDiscount,
                NumberOfPurchases  = current.NumberOfPurchases,
                CategoryId         = product.CategoryId,
                DistributorId      = product.DistributorId,
                IsActivated        = true,
                SlugName           = SlugHelper.GetFriendlyTitle(product.ProductName),
                InitAt             = current.InitAt
            };

            // product img
            string productImg = Encryptor.RandomString(12);
            string extension  = productFile != null?Path.GetExtension(productFile.FileName) : "";

            if (productFile != null)
            {
                if (SlugHelper.CheckExtension(extension))
                {
                    update.ProductImage = productImg + extension;
                }
                else
                {
                    ViewBag.error = Constants.EXTENSION_IMG_NOT_SUPPORT;
                    return(View());
                }
            }
            else
            {
                update.ProductImage = current.ProductImage;
            }



            using (HttpClient client = Common.HelperClient.GetClient(token))
            {
                client.BaseAddress = new Uri(Common.Constants.BASE_URI);

                var postTask = client.PutAsJsonAsync <Product>(Constants.PRODUCT + "/" + update.ProductId, update);
                postTask.Wait();

                var result = postTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    // save img
                    if (productFile != null)
                    {
                        var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images/products", productImg + extension);
                        using (var file = new FileStream(path, FileMode.Create))
                        {
                            productFile.CopyTo(file);
                        }
                    }

                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Chỉnh sửa thất bại");
                    return(View());
                }
            }
        }
Exemple #16
0
 public Product ProductBySlugName(string slugProductName)
 {
     return(GetApiProducts.GetProducts().SingleOrDefault(p => p.SlugName == slugProductName && p.IsActivated == true));
 }
Exemple #17
0
        public IActionResult InventoryReceivingNoteDetail(int id)
        {
            CredentialManage            credential = JsonConvert.DeserializeObject <CredentialManage>(HttpContext.Session.GetString(Constants.VM_MANAGE));
            List <InventoryRecieveItem> details    = new List <InventoryRecieveItem>();

            // get foods
            List <InventoryRecieveItem> detailForFoods = GetApiInventoryReceivingNoteDetailForFoods
                                                         .GetInventoryReceivingNoteDetailForFoods(credential.JwToken)
                                                         .Where(p => p.InventoryReceivingId == id)
                                                         .Select(p => new InventoryRecieveItem()
            {
                ProductId = GetApiFoodProducts.GetFoodProducts()
                            .SingleOrDefault(k => k.FoodId == p.FoodProductId).ProductId,
                ProductName = GetApiProducts.GetProducts().SingleOrDefault(h => h.ProductId == (GetApiFoodProducts.GetFoodProducts()
                                                                                                .SingleOrDefault(k => k.FoodId == p.FoodProductId).ProductId)).ProductName,
                SubProductId = p.FoodProductId,
                ProductImg   = GetApiProducts.GetProducts().SingleOrDefault(h => h.ProductId == (GetApiFoodProducts.GetFoodProducts()
                                                                                                 .SingleOrDefault(k => k.FoodId == p.FoodProductId).ProductId)).ProductImage,
                Amount = p.FoodProductAmount,
                Size   = "",
                Price  = p.FoodProductPrice
            }).ToList();

            List <InventoryRecieveItem> detailForToys = GetApiInventoryReceiveNoteDetailForToys
                                                        .GetInventoryReceivingNoteDetailForToys(credential.JwToken)
                                                        .Where(p => p.InventoryReceivingId == id)
                                                        .Select(p => new InventoryRecieveItem()
            {
                ProductId = GetApiToyProducts.GetToyProducts()
                            .SingleOrDefault(k => k.ToyId == p.ToyProductId).ProductId,
                ProductName = GetApiProducts.GetProducts().SingleOrDefault(h => h.ProductId == (GetApiToyProducts.GetToyProducts()
                                                                                                .SingleOrDefault(k => k.ToyId == p.ToyProductId).ProductId)).ProductName,
                SubProductId = p.ToyProductId,
                ProductImg   = GetApiProducts.GetProducts().SingleOrDefault(h => h.ProductId == (GetApiToyProducts.GetToyProducts()
                                                                                                 .SingleOrDefault(k => k.ToyId == p.ToyProductId).ProductId)).ProductImage,
                Amount = p.ToyProductAmount,
                Size   = "",
                Price  = p.ToyProductPrice
            }).ToList();

            List <InventoryRecieveItem> detailForCostumes = GetApiInventoryReceiveNoteDetailForCostumes
                                                            .GetInventoryReceivingNoteDetailForCostumes(credential.JwToken)
                                                            .Where(p => p.InventoryReceivingId == id)
                                                            .Select(p => new InventoryRecieveItem()
            {
                ProductId = GetApiCostumeProducts.GetCostumeProducts()
                            .SingleOrDefault(k => k.CostumeId == p.CostumeProductId && k.CostumeSize == p.CostumeProductSize).ProductId,
                ProductName = GetApiProducts.GetProducts().SingleOrDefault(h => h.ProductId == (GetApiCostumeProducts.GetCostumeProducts()
                                                                                                .SingleOrDefault(k => k.CostumeId == p.CostumeProductId && k.CostumeSize == p.CostumeProductSize).ProductId)).ProductName,
                SubProductId = p.CostumeProductId,
                ProductImg   = GetApiProducts.GetProducts().SingleOrDefault(h => h.ProductId == (GetApiCostumeProducts.GetCostumeProducts()
                                                                                                 .SingleOrDefault(k => k.CostumeId == p.CostumeProductId && k.CostumeSize == p.CostumeProductSize).ProductId)).ProductImage,
                Amount = p.CostumeProductAmount,
                Size   = p.CostumeProductSize,
                Price  = p.CostumeProductPrice
            }).ToList();

            details.AddRange(detailForFoods);
            details.AddRange(detailForToys);
            details.AddRange(detailForCostumes);

            InventoryReceivingNote note = GetApiInventoryReceiveNotes.GetInventoryReceivingNotes(credential.JwToken).SingleOrDefault(p => p.InventoryReceivingId == id);

            InventoryReceivingNoteDetailModelView inventoryReceivingNote = new InventoryReceivingNoteDetailModelView()
            {
                InventoryReceivingNote_ID  = note.InventoryReceivingId,
                InventoryReceivingNoteDate = note.InventoryReceivingDateReceiving,
                TotalPrice = note.InventoryReceivingTotalPrice,
                Details    = details
            };

            return(Json(inventoryReceivingNote));
        }
Exemple #18
0
        public IActionResult AddToInventoryRecieveItems(int productId)
        {
            List <InventoryRecieveItem> inventoryRecieveItems = IRItems;
            Product product = GetApiProducts.GetProducts().SingleOrDefault(p => p.ProductId == productId);
            string  slugCat = GetApiCategories.GetCategories().SingleOrDefault(p => p.CategoryId == product.CategoryId).CategoryName;

            List <InventoryRecieveItem> addItems = new List <InventoryRecieveItem>();

            switch (slugCat)
            {
            case Constants.FOOD:
                addItems = GetApiFoodProducts.GetFoodProducts().Where(p => p.ProductId == product.ProductId)
                           .Select(p => new InventoryRecieveItem()
                {
                    ProductId    = product.ProductId,
                    SubProductId = p.FoodId,
                    ProductName  = product.ProductName,
                    ProductImg   = product.ProductImage,
                    Size         = "",
                    Amount       = 0,
                    Price        = product.ProductPrice
                }).ToList();
                break;

            case Constants.TOY:
                addItems = GetApiToyProducts.GetToyProducts().Where(p => p.ProductId == product.ProductId)
                           .Select(p => new InventoryRecieveItem()
                {
                    ProductId    = product.ProductId,
                    SubProductId = p.ToyId,
                    ProductName  = product.ProductName,
                    ProductImg   = product.ProductImage,
                    Size         = "",
                    Amount       = 1,
                    Price        = product.ProductPrice
                }).ToList();
                break;

            case Constants.COSTUME:
                addItems = GetApiCostumeProducts.GetCostumeProducts().Where(p => p.ProductId == product.ProductId)
                           .Select(p => new InventoryRecieveItem()
                {
                    ProductId    = product.ProductId,
                    SubProductId = p.CostumeId,
                    ProductName  = product.ProductName,
                    ProductImg   = product.ProductImage,
                    Size         = p.CostumeSize,
                    Amount       = 1,
                    Price        = product.ProductPrice
                }).ToList();
                break;
            }

            // distinct data
            foreach (var item in addItems)
            {
                if (inventoryRecieveItems.SingleOrDefault(p => p.ProductId == item.ProductId &&
                                                          p.SubProductId == item.SubProductId &&
                                                          p.Size == item.Size) == null)
                {
                    inventoryRecieveItems.Add(item);
                }
            }

            HttpContext.Session.SetObject("inventoryRecieveItems", inventoryRecieveItems);
            return(PartialView(inventoryRecieveItems));
        }