private void GenerateTellerEvents(OCurrency amount, bool isOpen)
        {
            if (isOpen)
            {
                OpenOfDayAmountEvent.Amount   = amount;
                OpenOfDayAmountEvent.TellerId = _teller.Id;
                OpenOfDayAmountEvent.Date     = TimeProvider.Now;

                OCurrency expectedOpeningBalance =
                    ServicesProvider.GetInstance().GetTellerServices().GetTellerBalance(_teller);

                OCurrency cashAmount = decimal.Parse(tbAmount.Text);

                if (expectedOpeningBalance < cashAmount)
                {
                    OpenAmountPositiveDifferenceEvent          = new OpenAmountPositiveDifferenceEvent();
                    OpenAmountPositiveDifferenceEvent.TellerId = _teller.Id;
                    OpenAmountPositiveDifferenceEvent.Date     = TimeProvider.Now;
                    OpenAmountPositiveDifferenceEvent.Amount   = cashAmount - expectedOpeningBalance;
                }
                else if (expectedOpeningBalance > cashAmount)
                {
                    OpenAmountNegativeDifferenceEvent          = new OpenAmountNegativeDifferenceEvent();
                    OpenAmountNegativeDifferenceEvent.TellerId = _teller.Id;
                    OpenAmountNegativeDifferenceEvent.Date     = TimeProvider.Now;
                    OpenAmountNegativeDifferenceEvent.Amount   = expectedOpeningBalance - cashAmount;
                }
            }
            else
            {
                CloseOfDayAmountEvent.Amount   = amount;
                CloseOfDayAmountEvent.TellerId = Teller.CurrentTeller.Id;
                CloseOfDayAmountEvent.Date     = TimeProvider.Now;

                OCurrency excpectedClosingBalance =
                    ServicesProvider.GetInstance().GetTellerServices().GetTellerBalance(_teller);
                excpectedClosingBalance +=
                    ServicesProvider.GetInstance().GetTellerServices().GetLatestTellerOpenBalance(_teller);


                OCurrency cashAmount = decimal.Parse(tbAmount.Text);
                if (excpectedClosingBalance < cashAmount)
                {
                    CloseAmountPositiveDifferenceEvent          = new CloseAmountPositiveDifferenceEvent();
                    CloseAmountPositiveDifferenceEvent.Amount   = cashAmount - excpectedClosingBalance;
                    CloseAmountPositiveDifferenceEvent.TellerId = Teller.CurrentTeller.Id;
                    CloseAmountPositiveDifferenceEvent.Date     = TimeProvider.Now;
                }
                else if (excpectedClosingBalance > cashAmount)
                {
                    CloseAmountNegativeDifferenceEvent          = new CloseAmountNegativeDifferenceEvent();
                    CloseAmountNegativeDifferenceEvent.Amount   = excpectedClosingBalance - cashAmount;
                    CloseAmountNegativeDifferenceEvent.TellerId = Teller.CurrentTeller.Id;
                    CloseAmountNegativeDifferenceEvent.Date     = TimeProvider.Now;
                }
            }
        }
Example #2
0
        private void GenerateTellerEvents(OCurrency amount, bool isOpen)
        {
            if (isOpen)
            {
                OpenOfDayAmountEvent.Amount   = amount;
                OpenOfDayAmountEvent.TellerId = _teller.Id;
                OpenOfDayAmountEvent.Date     = TimeProvider.Now;

                OCurrency expectedOpeningBalance =
                    ServicesProvider.GetInstance().GetTellerServices().GetTellerBalance(_teller);

                OCurrency cashAmount = decimal.Parse(tbAmount.Text);

                if (expectedOpeningBalance < cashAmount)
                {
                    OpenAmountPositiveDifferenceEvent          = new OpenAmountPositiveDifferenceEvent();
                    OpenAmountPositiveDifferenceEvent.TellerId = _teller.Id;
                    OpenAmountPositiveDifferenceEvent.Date     = TimeProvider.Now;
                    OpenAmountPositiveDifferenceEvent.Amount   = cashAmount - expectedOpeningBalance;
                    Notify($"Opening teller {Teller.CurrentTeller.Name} with positive difference of {OpenAmountPositiveDifferenceEvent.Amount.GetFormatedValue(true)} ");
                }
                else if (expectedOpeningBalance > cashAmount)
                {
                    OpenAmountNegativeDifferenceEvent          = new OpenAmountNegativeDifferenceEvent();
                    OpenAmountNegativeDifferenceEvent.TellerId = _teller.Id;
                    OpenAmountNegativeDifferenceEvent.Date     = TimeProvider.Now;
                    OpenAmountNegativeDifferenceEvent.Amount   = expectedOpeningBalance - cashAmount;
                    Notify($"Opening teller {Teller.CurrentTeller.Name} with negative difference of {OpenAmountNegativeDifferenceEvent.Amount.GetFormatedValue(true)} ");
                }
            }
            else
            {
                CloseOfDayAmountEvent.Amount   = amount;
                CloseOfDayAmountEvent.TellerId = Teller.CurrentTeller.Id;
                CloseOfDayAmountEvent.Date     = TimeProvider.Now;

                OCurrency excpectedClosingBalance =
                    ServicesProvider.GetInstance().GetTellerServices().GetTellerBalance(_teller);
                //excpectedClosingBalance +=
                //ServicesProvider.GetInstance().GetTellerServices().GetLatestTellerOpenBalance(_teller);


                OCurrency cashAmount = decimal.Parse(tbAmount.Text);
                if (excpectedClosingBalance < cashAmount)
                {
                    CloseAmountPositiveDifferenceEvent          = new CloseAmountPositiveDifferenceEvent();
                    CloseAmountPositiveDifferenceEvent.Amount   = cashAmount - excpectedClosingBalance;
                    CloseAmountPositiveDifferenceEvent.TellerId = Teller.CurrentTeller.Id;
                    CloseAmountPositiveDifferenceEvent.Date     = TimeProvider.Now;
                    Notify($"Closing teller {Teller.CurrentTeller.Name} with positive difference of {CloseAmountPositiveDifferenceEvent.Amount.GetFormatedValue(true)} ");
                }
                else if (excpectedClosingBalance > cashAmount)
                {
                    CloseAmountNegativeDifferenceEvent          = new CloseAmountNegativeDifferenceEvent();
                    CloseAmountNegativeDifferenceEvent.Amount   = excpectedClosingBalance - cashAmount;
                    CloseAmountNegativeDifferenceEvent.TellerId = Teller.CurrentTeller.Id;
                    CloseAmountNegativeDifferenceEvent.Date     = TimeProvider.Now;
                    Notify($"Closing teller {Teller.CurrentTeller.Name} with negative difference of {CloseAmountNegativeDifferenceEvent.Amount.GetFormatedValue(true)} ");
                }
            }
        }