コード例 #1
0
        public FurnitureSale FormBillForClient()
        {
            string directory = Directory.GetCurrentDirectory() + "\\tempFiles\\";
            DataContractJsonSerializer jsonFormatter = new DataContractJsonSerializer(typeof(int));
            int employeeId = 0;

            using (FileStream fs = new FileStream(directory + "Seller.json", FileMode.Open))
            {
                employeeId = (int)jsonFormatter.ReadObject(fs);
            }

            decimal totalSum = CalculateTotalSumOfBill();

            FurnitureSale customerCheck = new FurnitureSale
            {
                BuyingDate = DateTime.Now,
                EmployeeId = employeeId,
                TotalPrice = totalSum
            };

            furnitureSaleRepository.Create(customerCheck);

            IEnumerable <CheckDetails> list       = checkDetailsRepository.GetMultipleCheckDetailsInfo(m => m.CheckId == null);
            List <CheckDetails>        listOfBill = list.ToList();

            List <FurnitureInStorage> furnitureInStorageList = new List <FurnitureInStorage>();

            for (int i = 0; i < listOfBill.Count; i++)
            {
                FurnitureInStorage furniture = furnitureInStorageRepository.GetFurnitureInStorageForBillById(listOfBill[i].FurnitureId);

                furnitureInStorageList.Add(furniture);

                listOfBill[i].CheckId = customerCheck.CheckId;
                furnitureInStorageList[i].QuantityInStorage -= listOfBill[i].QuantitySelected;

                checkDetailsRepository.Update(listOfBill[i]);
                furnitureInStorageRepository.Update(furnitureInStorageList[i]);
            }

            return(furnitureSaleRepository.GetInfoAboutConfirmedBill(customerCheck));
        }
コード例 #2
0
        public IActionResult Edit(int id, [Bind("CheckDetailsId,QuantitySelected,CheckId,FurnitureId")] CheckDetails checkDetails)
        {
            if (id != checkDetails.CheckDetailsId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                _checkdetailsrepository.Update(checkDetails);
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CheckId"]     = new SelectList(_furnituresalerepository.GetFurnitureSalesInfo(), "CheckId", "CheckId", checkDetails.CheckId);
            ViewData["FurnitureId"] = new SelectList(_furnitureInStorageRepository.GetFurnitureInStorageInfo(), "FurnitureId", "FurnitureNameWithColor");
            return(View(checkDetails));
        }
コード例 #3
0
        public IActionResult Edit(int id, [Bind("CheckDetailsId,QuantitySelected,FurnitureId")] CheckDetails checkDetails)
        {
            if (id != checkDetails.CheckDetailsId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                if (checkDetails.QuantitySelected > _checkDetailsRepository.CountOfFurniture(checkDetails))
                {
                    this.ModelState["QuantitySelected"].Errors.Clear();
                    this.ModelState["QuantitySelected"].Errors.Add("Кількість вибраного товару не може бути більша, ніж є наявна в магазині! Залишилось одиниць товару :" + _checkDetailsRepository.CountOfFurniture(checkDetails));
                    ViewData["FurnitureId"] = new SelectList(_furnitureRepository.GetFurnitureRelatedToShop(), "FurnitureId", "FurnitureNameWithColor", checkDetails.FurnitureId);
                    return(View(checkDetails));
                }
                _checkDetailsRepository.Update(checkDetails);
                return(RedirectToAction(nameof(Index)));
            }

            ViewData["FurnitureId"] = new SelectList(_furnitureRepository.GetFurnitureRelatedToShop(), "FurnitureId", "FurnitureNameWithColor", checkDetails.FurnitureId);
            return(View(checkDetails));
        }