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)); }
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)); }
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)); }