public async Task <IActionResult> PostProviderOrderAsync([FromBody] ProviderOrder request)
        {
            var response = new SingleResponse <ProviderOrder>();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest());
                }

                _context.ProviderOrders.Add(request);

                await _context.SaveChangesAsync();

                response.Model = request;
            }
            catch (Exception ex)
            {
                response.DidError     = true;
                response.ErrorMessage = ex.StackTrace;
                response.Message      = ex.Message;
            }
            return(response.ToHttpResponse());
        }
 public void takeProviderOrder(ProviderOrder order)
 {
     if (order.ClientOrder == null)
     {
         Store.getInstance().addProduct(order.Product, order.getQuantity());
         order.IsDelivered = true;
         return;
     }
     else
     {
         foreach (ClientOrder or in ClientOrderList.getInstance().Orders)
         {
             if (or == order.ClientOrder)
             {
                 if (or.getCountToEnd() < order.getQuantity())
                 {
                     Store.getInstance().addProduct(order.Product, order.getQuantity() - or.getCountToEnd());
                     or.setCountToEnd(0);
                     or.set(true);
                 }
                 if (or.getCountToEnd() == order.getQuantity())
                 {
                     or.setCountToEnd(0);
                     or.set(true);
                 }
                 order.IsDelivered = true;
                 return;
             }
         }
     }
 }
Exemplo n.º 3
0
        public void MakeProviderOrder_NegativeRegisterNumber_ExceptionThrown()
        {
            // arrange
            var provider = Provider.MakeProvider("Julio", "09883060000174");

            // act
            Assert.Throws <ArgumentException>(() => ProviderOrder.MakeProviderOrder(-5, provider));
        }
        /// <summary>
        /// Get ProviderOrderline list by provider order
        /// </summary>
        /// <param name="po">provider order</param>
        /// <returns>provider order lines list</returns>
        public List <ProviderOrderLine> GetPOLByPO(ProviderOrder po)
        {
            var query = from pol in db.ProviderOrderLines
                        where pol.providerOrder.Id == po.Id
                        select pol;

            return(query.ToList <ProviderOrderLine>());
        }
        /// <summary>
        /// Get ProviderOrderline list by article object && providerorder object
        /// </summary>
        /// <param name="article">object</param>
        /// <param name="po">provider order</param>
        /// <returns>provider order lines list</returns>
        public List <ProviderOrderLine> GetPoLByArticleandPO(Article article, ProviderOrder po)
        {
            var query = from pol in db.ProviderOrderLines
                        where (pol.article.Id == article.Id) && (pol.providerOrder.Id == po.Id)
                        select pol;

            return(query.ToList <ProviderOrderLine>());
        }
        //
        /// <summary>
        /// Get provider order line list by provider order object
        /// </summary>
        /// <param name="providerOrder">Object</param>
        /// <returns>ProviderOrderLine list</returns>
        public List <ProviderOrderLine> GetSelectedArticles(ProviderOrder providerOrder)
        {
            var query = from pol in db.ProviderOrderLines
                        where (pol.providerOrder.Id == providerOrder.Id)
                        select pol;

            return(query.ToList <ProviderOrderLine>());
        }
Exemplo n.º 7
0
        public void UpdateTotalValue_ZeroValue_ExceptionThrown()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            // act
            Assert.Throws <ArgumentException>(() => providerOrder.UpdateTotalValue(0));
        }
 public MakeProviderOrder(ProviderOrder currentProviderOrder, string servise)
 {
     InitializeComponent();
     this.currentProviderOrder = currentProviderOrder;
     textBox1.Text             = currentProviderOrder.getId().ToString();
     textBox2.Text             = currentProviderOrder.getQuantity().ToString();
     Text = servise;
     refresh();
 }
Exemplo n.º 9
0
        public void AddItem_NullProduct_ExceptionThrown()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            // act
            Assert.Throws <ArgumentNullException>(() => providerOrder.AddItem(null, 5));
        }
        public void refresh()
        {
            currentProviderOrder = null;
            listBox1.Items.Clear();
            ProviderManagerService service = ProviderManagerService.getInstance();

            foreach (ProviderOrder or in service.getProviderOrders())
            {
                listBox1.Items.Add(or);
            }
        }
Exemplo n.º 11
0
        public void ChangePrice_NegativePrice_ExceptionThrown()
        {
            // arrange
            var provider          = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder     = ProviderOrder.MakeProviderOrder(7, provider);
            var product           = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));
            var providerOrderItem = ProviderOrderItem.MakeProviderOrderItem(providerOrder, product, 5);

            // act
            Assert.Throws <ArgumentException>(() => providerOrderItem.ChangePrice(-15));
        }
Exemplo n.º 12
0
        public void DeleteProviderOrder_DeletedProviderOrder_ExceptionThrown()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            providerOrder.Delete();

            // act
            Assert.Throws <InvalidOperationException>(() => providerOrder.Delete());
        }
Exemplo n.º 13
0
        public void MakeItem_ZeroAmount_ExceptionThrown()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(7, provider);
            var product       = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));

            product.UpdateAmount(15);

            // act
            Assert.Throws <ArgumentException>(() => ProviderOrderItem.MakeProviderOrderItem(providerOrder, product, 0));
        }
Exemplo n.º 14
0
        public void MakeProviderDeposit_NegativeAmount_ExceptionThrown()
        {
            // arrange
            var product       = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            providerOrder.AddItem(product, 5);

            // act
            Assert.Throws <ArgumentException>(() => ProviderDeposit.MakeProviderDeposit(providerOrder.ProviderOrderItems.First(), -5, DepositMovement.In));
        }
Exemplo n.º 15
0
        public void DeleteProviderOrder_ValidParameters_ProviderOrderDeleted()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            // act
            providerOrder.Delete();

            // assert
            Assert.True(providerOrder.IsDeleted);
        }
Exemplo n.º 16
0
        public void AddItem_NegativeAmount_ExceptionThrown()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);
            var product       = Product.MakeProduct("Test", "Test", 5, Dimensions.MakeDimensions(11, 12, 13));

            product.UpdateAmount(10);

            // act
            Assert.Throws <ArgumentException>(() => providerOrder.AddItem(product, -5));
        }
Exemplo n.º 17
0
        public void MakeProviderOrder_ValidParameters_OrderCreated()
        {
            // arrange
            var provider = Provider.MakeProvider("Julio", "09883060000174");

            // act
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            // assert
            Assert.Equal(providerOrder.ProviderId, provider.Id);
            Assert.Equal(providerOrder.RegisterNumber, 5);
            Assert.Equal(providerOrder.TotalValue, 0);
        }
Exemplo n.º 18
0
        public void ChangeAmount_AmountSmallerThanProductAmount_ExceptionThrown()
        {
            // arrange
            var provider          = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder     = ProviderOrder.MakeProviderOrder(7, provider);
            var product           = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));
            var providerOrderItem = ProviderOrderItem.MakeProviderOrderItem(providerOrder, product, 10);

            product.UpdateAmount(-5);

            // act
            Assert.Throws <ArgumentException>(() => providerOrderItem.ChangeAmount(4));
        }
        public void addNewOrder(Product product, int quantity, double price, string providerName, DateTime data)
        {
            Provider      provider = findProviderByName(providerName);
            ProviderOrder order    = new ProviderOrder();

            order.setId(ProviderOrderList.getInstance().generateId());
            order.Product = product;
            order.setQuantity(quantity);
            order.Price    = price;
            order.Provider = provider;
            order.Date     = data;
            ProviderOrderList.getInstance().addProviderOrder(order);
        }
Exemplo n.º 20
0
        public void DeleteProviderDeposit_ValidParameters_ExceptionThrown()
        {
            // arrange
            var product       = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            providerOrder.AddItem(product, 5);
            var providerDeposit = ProviderDeposit.MakeProviderDeposit(providerOrder.ProviderOrderItems.First(), 5, DepositMovement.In);

            //act
            Assert.Throws <InvalidOperationException>(() => providerDeposit.Delete());
        }
Exemplo n.º 21
0
        public void UpdateTotalValue_NegativeValue_TotalUpdated()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            // act
            providerOrder.UpdateTotalValue(50);
            providerOrder.UpdateTotalValue(-25);

            // assert
            Assert.Equal(providerOrder.TotalValue, 25);
        }
Exemplo n.º 22
0
        public void DeleteProviderOrderItem_ValidParameters_ProviderOrderItemDeleted()
        {
            // arrange
            var provider          = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder     = ProviderOrder.MakeProviderOrder(7, provider);
            var product           = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));
            var providerOrderItem = ProviderOrderItem.MakeProviderOrderItem(providerOrder, product, 5);

            //act
            providerOrderItem.Delete();

            // assert
            Assert.True(providerOrderItem.IsDeleted);
        }
 // case delete || update in provider order state = Order
 private void Operations_dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (comboBox1.SelectedItem.ToString() == "Order")
     {
         // case of dalete
         if (e.ColumnIndex == 0)
         {
             // user confirm about the delete operation
             string messag = "Do You really sure about the delete operation ?";
             if (MessageBox.Show(messag, "Confirmation Messag", MessageBoxButtons.YesNo) == DialogResult.Yes)
             {
                 new ProviderOrderLineBLO(db).Delete(Convert.ToInt32(Operations_dgv.CurrentRow.Cells[2].Value.ToString()));
                 MessageBox.Show("Deleted !!");
                 // referesh the datagridview after delliting the  item selected
                 Operations_dgv.DataSource = null;
                 Operations_dgv.DataSource = new ProviderOrderLineBLO(db).GetPOlByOpType(comboBox1.SelectedItem.ToString());
                 //Operations_dgv.Columns[2].Visible = false;
                 //Operations_dgv.Columns[3].Visible = false;
             }
         }
         // Update s case
         if (e.ColumnIndex == 1)
         {
             // user s confirm about the operation
             string messsage = "This Order is already here ?";
             if (MessageBox.Show(messsage, "Confirmation Messag", MessageBoxButtons.YesNo) == DialogResult.Yes)
             {
                 ProviderOrderLine pol = new ProviderOrderLine();
                 pol = new ProviderOrderLineBLO(db).GetByID(Convert.ToInt32(Operations_dgv.CurrentRow.Cells[2].Value.ToString()));
                 //MessageBox.Show(pol.Id.ToString());
                 ProviderOrder po = new ProviderOrder();
                 // change the order  state selected form order to buy
                 po            = new ProviderOrderBLO(db).GetByID(Convert.ToInt32(Operations_dgv.CurrentRow.Cells[3].Value.ToString()));
                 po.OrderState = "Buy";
                 po.orderDate  = DateTime.Now;
                 new ProviderOrderBLO(db).Save(po);
                 Article article = new Article();
                 article = new ArticlesBLO(db).SearchByReference(Operations_dgv.CurrentRow.Cells[4].Value.ToString())[0];
                 MessageBox.Show("Count Article Before  " + article.Quantity);
                 // add the quantity selected to the article in stock
                 article.Quantity = article.Quantity + pol.Quantity;
                 MessageBox.Show("Count Article After : " + article.Quantity);
                 // refresh the  articles datagridview after this operation
                 Operations_dgv.DataSource = null;
                 Operations_dgv.DataSource = new ProviderOrderLineBLO(db).GetPOlByOpType(comboBox1.SelectedItem.ToString());
             }
         }
     }
 }
Exemplo n.º 24
0
        public void DeleteProviderOrder_DeletedProviderOrder_ExceptionThrown()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(7, provider);
            var product       = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));

            product.UpdateAmount(50);
            var providerOrderItem = ProviderOrderItem.MakeProviderOrderItem(providerOrder, product, 5);

            providerOrderItem.Delete();

            // act
            Assert.Throws <InvalidOperationException>(() => providerOrderItem.Delete());
        }
Exemplo n.º 25
0
        public void MakeCustomerDeposit_ValidParameters_DepositCreated()
        {
            // arrange
            var product       = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);

            providerOrder.AddItem(product, 5);

            // act
            var providerDeposit = ProviderDeposit.MakeProviderDeposit(providerOrder.ProviderOrderItems.First(), 5, DepositMovement.In);

            // assert
            Assert.Equal(providerDeposit.Amount, 5);
            Assert.Equal(providerDeposit.Sku, product.Sku);
        }
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string orderString = listBox1.GetItemText(listBox1.SelectedItem);

            if (!orderString.Equals(""))
            {
                foreach (ProviderOrder order in ProviderOrderList.getInstance().Orders)
                {
                    if (orderString.Split('|')[0].Trim().Equals(order.getId().ToString()))
                    {
                        currentProviderOrder = order;
                        break;
                    }
                }
            }
        }
Exemplo n.º 27
0
        public void AddItem_ValidParameters_ItemCreated()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(5, provider);
            var product       = Product.MakeProduct("Test", "Test", 5, Dimensions.MakeDimensions(11, 12, 13));

            product.UpdateAmount(10);

            // act
            providerOrder.AddItem(product, 5);

            // assert
            var providerOrderItem = providerOrder.ProviderOrderItems.First();

            Assert.Equal(providerOrderItem.Amount, 5);
            Assert.Equal(providerOrderItem.ProductId, product.Id);
        }
Exemplo n.º 28
0
        public void addClientOrder(int id, string classofProd, string category, string type, string name, int quantity, string clientName, string clientAddress, double price, DateTime date)
        {
            Product product = new Product(classofProd, category, type, name);
            Store   store   = Store.getInstance();
            int     count   = 0;

            if (!store.Products.TryGetValue(product, out count))
            {
                throw new ServiceException("Не найдено такого проудкта");
            }
            if (count > quantity)
            {
                count = count - quantity;
                store.Products.Remove(product);
                store.Products.Add(product, count);
                ClientOrderList clientorderList = ClientOrderList.getInstance();
                clientorderList.addClientOrder(new ClientOrder(id, product, quantity, clientName, clientAddress, true, 0, price, date));
                return;
            }
            if (count < quantity)
            {
                count = quantity - count;
                store.Products.Remove(product);
                store.Products.Add(product, 0);
                ClientOrderList clientorderList = ClientOrderList.getInstance();
                ClientOrder     clientOrder     = new ClientOrder(id, product, quantity, clientName, clientAddress, false, count, price, date);
                clientorderList.addClientOrder(clientOrder);
                ProviderOrderList providerOrderList = ProviderOrderList.getInstance();
                ProviderOrder     providerOrder     = new ProviderOrder(providerOrderList.generateId(), product, count, 0, date);
                providerOrder.ClientOrder = clientOrder;
                providerOrderList.addProviderOrder(providerOrder);
                return;
            }

            if (count == quantity)
            {
                count = quantity - count;
                store.Products.Remove(product);
                store.Products.Add(product, 0);
                ClientOrderList clientorderList = ClientOrderList.getInstance();
                clientorderList.addClientOrder(new ClientOrder(id, product, quantity, clientName, clientAddress, true, 0, price, date));
                return;
            }
        }
Exemplo n.º 29
0
        public void ChangePrice_PriceBiggerThanPrevious_PriceUpdated()
        {
            // arrange
            var provider          = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder     = ProviderOrder.MakeProviderOrder(7, provider);
            var product           = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));
            var providerOrderItem = ProviderOrderItem.MakeProviderOrderItem(providerOrder, product, 5);

            // act
            providerOrderItem.ChangePrice(20);

            // assert
            Assert.Equal(providerOrderItem.Amount, 5);
            Assert.Equal(providerOrderItem.Deposits.Count, 1);
            Assert.Equal(providerOrderItem.Price, 20);
            Assert.Equal(providerOrderItem.TotalValue, 100);
            Assert.Equal(providerOrder.TotalValue, 100);
            Assert.Equal(product.Amount, 5);
        }
Exemplo n.º 30
0
        public void MakeItem_ValidParameters_ItemCreated()
        {
            // arrange
            var provider      = Provider.MakeProvider("Julio", "09883060000174");
            var providerOrder = ProviderOrder.MakeProviderOrder(7, provider);
            var product       = Product.MakeProduct("Test product", "Test product", 15, Dimensions.MakeDimensions(11, 12, 13));

            // act
            var providerOrderItem = ProviderOrderItem.MakeProviderOrderItem(providerOrder, product, 5);

            // assert
            Assert.Equal(providerOrderItem.Amount, 5);
            Assert.Equal(providerOrderItem.Deposits.Count, 1);
            Assert.Equal(providerOrderItem.Price, 15);
            Assert.Equal(providerOrderItem.ProductId, product.Id);
            Assert.Equal(providerOrderItem.ProviderOrderId, providerOrder.Id);
            Assert.Equal(providerOrderItem.TotalValue, 75);
            Assert.Equal(providerOrder.TotalValue, 75);
            Assert.Equal(product.Amount, 5);
        }