private void addButton_Click(object sender, EventArgs e) { if (SelectedColorDto == null || SelectedModelDto == null || SelectedStoreDto == null || ShoesSize == null) { MessageBox.Show(Messages.STORE_SUPPIER_VALUES_REQUIRED, Constants.MESSAGE_CAPTION); return; } var newDto = new StoreStockRoomDto() { ModelId = SelectedModelDto.ModelId, ColorId = SelectedColorDto.ColorId, Size = ShoesSize, Quantity = (int)quantityNumericUpDown.Value, DateOfSupplier = dateInTime.Value, StoreId = SelectedStoreDto.StoreId }; ShoesDataClientServices.StoreStockRoomServices.SupplyStoreStockRoom(newDto); var max = quantityNumericUpDown.Maximum; max -= newDto.Quantity; quantityNumericUpDown.Maximum = max; quantityNumericUpDown.Value = max; ResetView(); MessageBox.Show(Messages.NEW_PRODUCT_CREATED_SUCESSS, Constants.MESSAGE_CAPTION); }
public void SupplyStoreStockRoom(StoreStockRoomDto storeStockRoomDto) { if (storeStockRoomDto.ColorId == null) { throw new InvalidOperationException("Error: No enter new Store StockRoom if Color is null"); } if (storeStockRoomDto.Size == null) { throw new InvalidOperationException("Error: No enter new Store StockRoom if Shoes Size is null"); } var modelId = storeStockRoomDto.ModelId; var colorId = storeStockRoomDto.ColorId.Value; var size = storeStockRoomDto.Size.Value; var currentProduct = _productServices.FindProduct(modelId, colorId, size); if (currentProduct == null) { throw new StockRoomOperationException("No Found a product item to supply Store StockRoom"); } var lastStockRoom = _stockRoomDataServices.GetLastStockRoomByProductId(currentProduct.Id); if (lastStockRoom == null) { throw new StockRoomOperationException("No Found any stock room to execute the operation"); } if (lastStockRoom.StockValue < storeStockRoomDto.Quantity) { throw new StockRoomOperationException( "It is not possible to move requested quantity to selected store"); } var newStockRoom = new StockRoom() { ProductId = lastStockRoom.ProductId, StockValue = lastStockRoom.StockValue - storeStockRoomDto.Quantity, EntryDate = storeStockRoomDto.DateOfSupplier, EntryValue = -storeStockRoomDto.Quantity, StoreId = storeStockRoomDto.StoreId, OperationType = OperationType.OUT.ToString() }; _shoesDataEntities.StockRooms.Add(newStockRoom); var lastStoreStockRoom = GetLastStoreStockRoomByProductId(storeStockRoomDto.StoreId, currentProduct.Id); var storeStocks = storeStockRoomDto.Quantity; if (lastStoreStockRoom != null) { storeStocks += lastStoreStockRoom.StockValue; } var newStoreStockRoom = new StoreStockRoom { ProductId = currentProduct.Id, StockValue = storeStocks, EntryDate = storeStockRoomDto.DateOfSupplier, EntryValue = storeStockRoomDto.Quantity, StoreId = storeStockRoomDto.StoreId, OperationType = OperationType.IN.ToString() }; _shoesDataEntities.StoreStockRooms.Add(newStoreStockRoom); SaveChanges(); }