private void addButton_Click(object sender, EventArgs e)
        {
            if (priceNumericUpDown.Value == 0)
            {
                if (MessageBox.Show(
                        Messages.SALE_PRODUCT_PRICE_EQUAL_CERO,
                        Constants.MESSAGE_CAPTION,
                        MessageBoxButtons.YesNo) != DialogResult.Yes)
                {
                    return;
                }
            }

            var newSaleProductDto = new SaleProductDto
            {
                ColorId    = SelectedColorDto.ColorId,
                ColorName  = SelectedColorDto.Name,
                ModelId    = SelectedModelDto.ModelId,
                ModelName  = SelectedModelDto.Name,
                ModelPhoto = SelectedModelDto.Photo,
                Price      = (double)priceNumericUpDown.Value,
                Quantity   = (int)quantityNumericUpDown.Value,
                Size       = SelectedShoesSize
            };

            CurrentSaleDto.SalesProducts.Add(newSaleProductDto);
            saleProductDtoBindingSource.Add(newSaleProductDto);
            saveSalesButton.Enabled = true;
            removeAllButton.Enabled = true;
            UpdateToolStripStatus();
            UpdateProductsSizeMax();
        }
Example #2
0
        public SaleProductOutDto getSaleProduct([FromBody] SaleProductDto productDto)
        {
            WareHouse warehouse = null;

            if (productDto == null)
            {
                var response = new HttpResponseMessage(HttpStatusCode.NotFound)
                {
                    Content    = new StringContent("productDto Parameter doesn't exist."),
                    StatusCode = HttpStatusCode.NotFound
                };
                throw new HttpResponseException(response);
            }

            var p = db.Products.Where(a => a.Code == productDto.Code).FirstOrDefault();



            if (p == null)
            {
                var response = new HttpResponseMessage(HttpStatusCode.NotFound)
                {
                    Content    = new StringContent("product code doesn't exist."),
                    StatusCode = HttpStatusCode.NotFound
                };
                throw new HttpResponseException(response);
            }
            else
            {
                warehouse = db.WareHouses.Where(a => a.ProductId == p.Id).FirstOrDefault();


                if (warehouse == null)
                {
                    var response = new HttpResponseMessage(HttpStatusCode.NotFound)
                    {
                        Content    = new StringContent("product code doesn't exist in the warehouse."),
                        StatusCode = HttpStatusCode.NotFound
                    };
                    throw new HttpResponseException(response);
                }
                else
                {
                    if (warehouse.AmountWareHouse - productDto.Amount < 0)
                    {
                        var response = new HttpResponseMessage(HttpStatusCode.NotFound)
                        {
                            Content    = new StringContent("not enough units available  amount: " + warehouse.AmountWareHouse),
                            StatusCode = HttpStatusCode.NotFound
                        };
                        throw new HttpResponseException(response);
                    }
                }
            }



            SaleProductOutDto product = new SaleProductOutDto()
            {
                Amount      = productDto.Amount,
                ProductId   = p.Id,
                ProductName = p.Name,
                UnitPrice   = warehouse.UnitPrice,
                TotalPrice  = warehouse.UnitPrice * productDto.Amount,
            };

            return(product);
        }