示例#1
0
 private void PaymentButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (MessageBox.Show("Voulez-vous valider l'encaissement?", "Caisse", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
         {
             if (Math.Round(Payment.TotalToPay, 2) > 0)
             {
                 MessageBox.Show("L'encaissement est incomplet. Veuillez procéder au paiement.");
             }
             else
             {
                 MessageBox.Show("Vente terminée! Le ticket a été validé.");
                 ProductStockManager ProductStockManager = new ProductStockManager();
                 ProductStockManager.EditProductQuantity(InvoiceManager);
                 MethodPaymentManager.SetThePaymentMethod(InvoiceManager, PaymentMethod, Payment);
                 InvoiceManager.SaveInvoiceToDataBase();
                 ResetTheTicket();
                 ArticleToSellDataGrid.ItemsSource = ProductViewManager.JoinProductAndProductStockTables();
             }
         }
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message);
     }
 }
        public void AddAnExistingStockProduct()
        {
            //Setup
            var proStock = new ProductStock()
            {
                ProductId  = 3,
                ProviderId = 1,
                Amount     = 3,
                State      = StateEnum.Available,
                Code       = "31" + StateEnum.Available.ToString(),
            };


            //Act
            var proStockManager = new ProductStockManager(dataServiceMock.Object);

            proStock.Code = proStockManager.GenerateCode(proStock);
            var proStockExpected = proStockManager.Add(proStock);

            //Asserts
            dataServiceMock.Verify(
                m => m.Update <ProductStock>(It.IsAny <ProductStock>()),
                Times.AtLeastOnce);
            Assert.AreEqual(7, list.Count);
            Assert.AreEqual(8, proStockExpected.Amount);
        }
        public void ChangeStateWidhSameState()
        {
            //Setup
            var proStock = list.ElementAt(6);

            var proStockManager = new ProductStockManager(dataServiceMock.Object);

            //Act

            //Asserts

            Assert.ThrowsException <Exception>(
                () => proStockManager.ChangeStateProductStock(
                    proStock,
                    3,
                    StateEnum.Available));
        }
        public void ChangeStateWidhLongerAmount()
        {
            //Setup
            var proStock = list.ElementAt(6);

            var proStockManager = new ProductStockManager(dataServiceMock.Object);

            //Act

            //Asserts

            Assert.ThrowsException <Exception>(
                () => proStockManager.ChangeStateProductStock(
                    proStock,
                    8,
                    StateEnum.AwaitingForPaid));
        }
        public void GenerateCode()
        {
            var proStock = new ProductStock()
            {
                ProductStockId = 1,
                ProductId      = 1,
                ProviderId     = 1,
                Amount         = 10,
                State          = StateEnum.Available,
                Product        = product2,
                Provider       = provider1
            };
            var proStockManager = new ProductStockManager(dataServiceMock.Object);
            var code            = proStockManager.GenerateCode(proStock);

            Assert.AreEqual("11Available", code);
        }
        public void ChangeToNextStateProductStockExist()
        {
            //Setup

            var productStock = list.ElementAt(0);

            var proStockManager = new ProductStockManager(dataServiceMock.Object);

            //Act
            var productStockNewState = proStockManager.ChangeStateProductStock(
                productStock,
                2,
                StateEnum.AwaitingForPaid);

            //Asserts
            dataServiceMock.Verify(m => m.Update <ProductStock>(It.IsAny <ProductStock>()),
                                   Times.Exactly(2));

            Assert.IsNotNull(productStockNewState);
            Assert.AreEqual(2, productStockNewState.ProductStockId);
            Assert.AreEqual(7, productStockNewState.Amount);
            Assert.AreEqual(StateEnum.AwaitingForPaid, productStockNewState.State);
            Assert.AreEqual(8, productStock.Amount);
        }
        public void ChangeToNextStateProductStockNotExist()
        {
            //Setup

            var productStock = list.ElementAt(2);

            dataServiceMock.Setup(m => m.Insert(It.IsAny <ProductStock>()))
            .Returns(new ProductStock()
            {
                ProductStockId = 8,
                ProductId      = 3,
                ProviderId     = 1,
                Amount         = 2,
                State          = StateEnum.AwaitingForPaid,
                Code           = "31" + StateEnum.AwaitingForPaid.ToString()
            })
            .Verifiable();
            var proStockManager = new ProductStockManager(dataServiceMock.Object);

            //Act
            var productStockNewState = proStockManager.ChangeStateProductStock(
                productStock,
                2,
                StateEnum.AwaitingForPaid);

            //Asserts
            dataServiceMock.Verify(m => m.Update <ProductStock>(It.IsAny <ProductStock>()),
                                   Times.Exactly(1));
            dataServiceMock.Verify();

            Assert.IsNotNull(productStockNewState);
            Assert.AreEqual(8, productStockNewState.ProductStockId);
            Assert.AreEqual(2, productStockNewState.Amount);
            Assert.AreEqual(StateEnum.AwaitingForPaid, productStockNewState.State);
            Assert.AreEqual(3, productStock.Amount);
        }
        public void AddNewStockProduct()
        {
            var proStock = new ProductStock()
            {
                ProductId  = 1,
                ProviderId = 1,
                Amount     = 10,
                State      = StateEnum.AwaitingForReturn,
                Product    = product2,
                Provider   = provider1
            };

            dataServiceMock.Setup(m => m.Insert <ProductStock>(proStock))
            .Returns(new ProductStock()
            {
                ProductStockId = list.Count + 1,
                Amount         = proStock.Amount,
                Code           = proStock.Code,
                Product        = proStock.Product,
                ProductId      = proStock.ProductId,
                ProviderId     = proStock.ProviderId,
                Provider       = proStock.Provider,
            })
            .Verifiable();

            //Act
            var proStockManager = new ProductStockManager(dataServiceMock.Object);

            proStock.Code = proStockManager.GenerateCode(proStock);
            var proStockExpected = proStockManager.Add(proStock);

            //Asserts
            dataServiceMock.Verify();
            Assert.AreEqual(8, proStockExpected.ProductStockId);
            Assert.AreEqual(8, list.Count);
        }