Пример #1
0
        public void CalcChargesCase1002Test()
        {
            int         aaReturn  = 1;
            int         aaaReturn = 1;
            int         aaVend    = 0;
            int         aaaVend   = 0;
            BetteryVend expected  = new BetteryVend
            {
                AaReturn                 = 1,
                AaaReturn                = 1,
                AaVend                   = 0,
                AaaVend                  = 0,
                Swapped                  = 0,
                CalculatedNew            = 0,
                CalculatedNewAmount      = 0M,
                CalculatedReturned       = 2,
                CalculatedReturnedAmount = -16M,
                SwappedAmount            = 0M,
                AaReturnedAmount         = 8M,
                AaaReturnedAmount        = 8M,
                AaNewAmount              = 0M,
                AaaNewAmount             = 0M,
                TotalAmount              = -16M
            };
            BetteryVend actual;

            actual = Calculations.CalcCharges(aaReturn, aaaReturn, aaVend, aaaVend);
            Equals(expected, actual);
        }
Пример #2
0
        public void CalcChargesCase1003Test()
        {
            int         aaReturn  = 0;
            int         aaaReturn = 1;
            int         aaVend    = 2;
            int         aaaVend   = 2;
            BetteryVend expected  = new BetteryVend
            {
                AaReturn                 = 0,
                AaaReturn                = 1,
                AaVend                   = 2,
                AaaVend                  = 2,
                Swapped                  = 1,
                CalculatedNew            = 3,
                CalculatedNewAmount      = 29.97M,
                CalculatedReturned       = 0,
                CalculatedReturnedAmount = 0M,
                SwappedAmount            = 1.99M,
                AaReturnedAmount         = 0M,
                AaaReturnedAmount        = 8M,
                AaNewAmount              = 19.98M,
                AaaNewAmount             = 19.98M,
                TotalAmount              = 31.96M
            };
            BetteryVend actual;

            actual = Calculations.CalcCharges(aaReturn, aaaReturn, aaVend, aaaVend);
            Equals(expected, actual);
        }
Пример #3
0
 /// <summary>
 /// Equals test common
 /// </summary>
 /// <param name="expected"></param>
 /// <param name="actual"></param>
 private void Equals(BetteryVend expected, BetteryVend actual)
 {
     Assert.AreEqual(expected.AaVend, actual.AaVend, "BetteryVend.AaVend");
     Assert.AreEqual(expected.AaaVend, actual.AaaVend, "BetteryVend.AaaVend");
     Assert.AreEqual(expected.TotalCartridges, actual.TotalCartridges, "BetteryVend.TotalCartridges");
     Assert.AreEqual(expected.NewBatteries, actual.NewBatteries, "BetteryVend.NewBatteries");
     Assert.AreEqual(expected.AaReturn, actual.AaReturn, "BetteryVend.AaReturn");
     Assert.AreEqual(expected.AaaReturn, actual.AaaReturn, "BetteryVend.AaaReturn");
     Assert.AreEqual(expected.ReturnedCartridges, actual.ReturnedCartridges, "BetteryVend.ReturnedCartridges");
     Assert.AreEqual(expected.ReturnedBatteries, actual.ReturnedBatteries, "BetteryVend.ReturnedBatteries");
     Assert.AreEqual(expected.NewCartridges, actual.NewCartridges, "BetteryVend.NewCartridges");
     Assert.AreEqual(expected.Swapped, actual.Swapped, "BetteryVend.Swapped");
     Assert.AreEqual(expected.CalculatedNew, actual.CalculatedNew, "BetteryVend.CalculatedNew");
     Assert.AreEqual(expected.CalculatedNewAmount, actual.CalculatedNewAmount, "BetteryVend.CalculatedNewAmount");
     Assert.AreEqual(expected.CalculatedReturned, actual.CalculatedReturned, "BetteryVend.CalculatedReturned");
     Assert.AreEqual(expected.CalculatedReturnedAmount, actual.CalculatedReturnedAmount, "BetteryVend.CalculatedReturnedAmount");
     Assert.AreEqual(expected.SwappedAmount, actual.SwappedAmount, "BetteryVend.SwappedAmount");
     Assert.AreEqual(expected.AaReturnedAmount, actual.AaReturnedAmount, "BetteryVend.AaReturnedAmount");
     Assert.AreEqual(expected.AaaReturnedAmount, actual.AaaReturnedAmount, "BetteryVend.AaaReturnedAmount");
     Assert.AreEqual(expected.ReturnedAmount, actual.ReturnedAmount, "BetteryVend.ReturnedAmount");
     Assert.AreEqual(expected.AaNewAmount, actual.AaNewAmount, "BetteryVend.AaNewAmount");
     Assert.AreEqual(expected.AaaNewAmount, actual.AaaNewAmount, "BetteryVend.AaaNewAmount");
     Assert.AreEqual(expected.NewAmount, actual.NewAmount, "BetteryVend.NewAmount");
     Assert.AreEqual(expected.TotalAmount, actual.TotalAmount, "BetteryVend.TotalAmount");
 }
Пример #4
0
        /// <summary>
        /// Handles the DoWork event of the CalcCharges control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="DoWorkEventArgs" /> instance containing the event data.</param>
        private void CalcCharges_DoWork(object sender, DoWorkEventArgs e)
        {
            // Calculate charges
            BetteryVend betteryVend = Calculations.CalcCharges(_aaCartridge, 0, _aa, _aaa);

            e.Result = betteryVend;
        }
Пример #5
0
        /// <summary>
        /// Handles the DoWork event of the PopulateCharges control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="DoWorkEventArgs" /> instance containing the event data.</param>
        private void PopulateCharges_DoWork(object sender, DoWorkEventArgs e)
        {
            //Calculate charges
            BetteryVend betteryVend = Calculations.CalcCharges(_aaReturn, _aaaReturn, _aaVend, _aaaVend);

            e.Result = betteryVend;
        }
        /// <summary>
        /// Loads this instance.
        /// </summary>
        public void Load()
        {
            BaseController.CalcCharges();

            BetteryVend betteryVend = BaseController.SelectedBettery;

            //if (BaseController.GetBatteriesMode == GetBatteriesModes.BuyNew)
            //{
            AATextbox.Text  = betteryVend.AaVend.ToString();
            AAATextbox.Text = betteryVend.AaaVend.ToString();

            AAPrice.Text  = string.Format(Constants.Messages.PriceMessage, betteryVend.CalculatedAaAmount);
            AAAPrice.Text = string.Format(Constants.Messages.PriceMessage, betteryVend.CalculatedAaaAmount);

            TotalCartridge.Text         = betteryVend.TotalVendCartridges.ToString();
            PurchaseSubtotalAmount.Text = string.Format(Constants.Messages.PriceMessage, betteryVend.SubSubTotalAmount);

            //}
            //else
            //{
            //    AATextbox.Text = betteryVend.AaForgotDrainedVend.ToString();
            //    AAATextbox.Text = betteryVend.AaaForgotDrainedVend.ToString();

            //    AAPrice.Text = string.Format(Constants.Messages.PriceMessage, betteryVend.AaNewForgotDrainedAmount);
            //    AAAPrice.Text = string.Format(Constants.Messages.PriceMessage, betteryVend.AaaNewForgotDrainedAmount);

            //    TotalCartridge.Text = betteryVend.TotalForgotDrainedVendCartridges.ToString();
            //}

            PopulateCreditAndTotal();
        }
Пример #7
0
 /// <summary>
 /// Handles the Click event of the DoneButton control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="System.Windows.RoutedEventArgs"/> instance containing the event data.</param>
 private void DoneButton_Click(object sender, RoutedEventArgs e)
 {
     if (OnDoneButtonClicked != null)
     {
         BetteryVend betteryVend = BaseController.SelectedBettery;
         OnDoneButtonClicked.Invoke(betteryVend);
     }
 }
Пример #8
0
        /// <summary>
        /// Returneds the batteries exists.
        /// </summary>
        /// <returns></returns>
        public static bool ReturnedBatteriesExists()
        {
            BetteryVend bettery = BaseController.SelectedBettery;

            if (bettery != null && bettery.ReturnedCartridges > 0)
            {
                return(true);
            }

            return(false);
        }
Пример #9
0
        /// <summary>
        /// Loads this instance.
        /// </summary>
        public void Load()
        {
            BetteryVend selectedBettery = BaseController.SelectedBettery;

            if (selectedBettery.ReturnedCartridges > 0)
            {
                Message.Text = Constants.Messages.ReturnBatteriesConfirmMessage;
            }
            else
            {
                Message.Text = Constants.Messages.GetOrForgotBatteriesConfirmMessage;
            }
        }
Пример #10
0
        /// <summary>
        /// Determines whether [has total transaction not zero].  In case user doesn't have any return batteries and no new.
        /// </summary>
        /// <returns>
        ///   <c>true</c> if [has total transaction not zero]; otherwise, <c>false</c>.
        /// </returns>
        public static bool HasTotalTransactionNotZero()
        {
            bool result = false;

            BetteryVend bettery = BaseController.SelectedBettery;

            if (bettery != null && (bettery.TotalAmount != 0 || bettery.TotalVendCartridges > 0 || bettery.ReturnedCartridges > 0 || bettery.TotalForgotDrainedVendCartridges > 0))
            {
                result = true;
            }

            return(result);
        }
Пример #11
0
        /// <summary>
        /// Handles the RunWorkerCompleted event of the CalcCharges control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RunWorkerCompletedEventArgs" /> instance containing the event data.</param>
        private void CalcCharges_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            BetteryVend betteryVend = e.Result as BetteryVend;

            if (betteryVend != null)
            {
                // Update view
                AAPrice.Text      = string.Format("{0}$", betteryVend.AaNewAmount);
                AAAPrice.Text     = string.Format("{0}$", betteryVend.AaaNewAmount);
                ReturnsPrice.Text = string.Format("-{0}$", betteryVend.ReturnedAmount);
                TotalPrice.Text   = string.Format("{0}$", betteryVend.TotalAmount);
            }

            BetteryBusyIndicator.IsBusy = false;
        }
Пример #12
0
        /// <summary>
        /// Handles the RunWorkerCompleted event of the PopulateCharges control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RunWorkerCompletedEventArgs" /> instance containing the event data.</param>
        private void PopulateCharges_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            BetteryVend betteryVend = e.Result as BetteryVend;

            if (betteryVend != null)
            {
                // Update view
                // Calc Swapped Charges
                if (betteryVend.TotalCartridges > 0 && betteryVend.ReturnedCartridges > 0)
                {
                    // Display Exchanged
                    PaymentSummary.Content += betteryVend.Swapped + " pack(s) of four batteries swapped @ 1.99 = $" + string.Format("{0:0.00}", betteryVend.SwappedAmount) + "\n";
                }

                // Calc additional new Cartridges charges and Refund for returned cartridges if any
                if (betteryVend.TotalCartridges > betteryVend.ReturnedCartridges)
                {
                    // Display Additional
                    PaymentSummary.Content += betteryVend.CalculatedNew + " additional pack(s) of four batteries @ 9.99 = $" + string.Format("{0:0.00}", betteryVend.CalculatedNewAmount) + "\n";
                }
                else if (betteryVend.ReturnedCartridges > betteryVend.TotalCartridges)
                {
                    // Display Returned
                    PaymentSummary.Content += betteryVend.CalculatedReturned + " pack(s) of four batteries returned @ -8.00 = -$" + string.Format("{0:0.00}", Math.Abs(betteryVend.CalculatedReturnedAmount)) + "\n";
                }

                // Display Total
                if (betteryVend.TotalAmount > 0)
                {
                    PaymentSummary.Content += "Your total = $" + string.Format("{0:0.00}", betteryVend.TotalAmount) + "\n";
                }
                else
                {
                    PaymentSummary.Content += "your credit = $" + string.Format("{0:0.00}", Math.Abs(betteryVend.TotalAmount)) + "\n";
                }
            }

            if (BaseController.IsLoggedOnUser)
            {
                Login.Content = "Logout";
            }

            BetteryBusyIndicator.IsBusy = false;
            ccNumber.Focus();
        }