Beispiel #1
0
        //Cash Model 생성
        public static CashViewModel MakeCashViewModel(IList <SHUSER_SboMonthlyCashSelectReturnModel> cashList)
        {
            CashViewModel cashViewModel = new CashViewModel();

            cashViewModel.ForwardAmt           = string.Format("{0:n0}", Convert.ToInt64((cashList[1].LAST_AMT / 1000)));   //이월액
            cashViewModel.LastMonthCashBalance = string.Format("{0:n0}", Convert.ToInt64((cashList[1].LAST_AMT / 1000)));   //전월잔고
            cashViewModel.CashBalance          = string.Format("{0:n0}", Convert.ToInt64((cashList[0].LAST_AMT / 1000)));   //현재잔고
            cashViewModel.ReceivedAmt          = string.Format("{0:n0}", Convert.ToInt64((cashList[0].INPUT_AMT / 1000)));  //입금액
            cashViewModel.ContributionAmt      = string.Format("{0:n0}", Convert.ToInt64((cashList[0].OUTPUT_AMT / 1000))); //출급액

            var qm = CalcBeforQuarter(int.Parse(cashList[0].ACC_YEAR), int.Parse(cashList[0].ACC_MONTH));

            Int64 avrBeforQuarter = 0;
            int   cnt             = 0;

            foreach (var cash in cashList)
            {
                if (int.Parse(cash.ACC_YEAR) == qm.Year && (int.Parse(cash.ACC_MONTH) >= qm.Quarter * 3 - 2 && int.Parse(cash.ACC_MONTH) <= qm.Quarter * 3))
                {
                    avrBeforQuarter = avrBeforQuarter + Convert.ToInt64(cash.LAST_AMT);
                    cnt++;
                }
            }

            cashViewModel.BeforeQuarterlyCashBalance = string.Format("{0:n0}", ((avrBeforQuarter / 3) / 1000)); //전분기
            return(cashViewModel);
        }
        public void SettingBillsShouldNotifyProperties()
        {
            CashDrawer.ResetDrawer();
            var ord = new Order();

            ord.Add(new PhillyPoacher());
            var cvm = new CashViewModel(ord);

            Assert.PropertyChanged(cvm, "Pennies", () =>
            {
                cvm.Pennies += 1;
            });
            Assert.PropertyChanged(cvm, "AmountTendered", () =>
            {
                cvm.Ones += 1;
            });
            Assert.PropertyChanged(cvm, "AmountDue", () =>
            {
                cvm.Nickels += 1;
            });
            Assert.PropertyChanged(cvm, "AmountOwed", () =>
            {
                cvm.Twenties += 1;
            });
            Assert.PropertyChanged(cvm, "FiftiesOwed", () =>
            {
                cvm.Fifties += 1;
            });
        }
        public void ShouldBeAssignableFromINotifyPropertyChanged()
        {
            CashDrawer.ResetDrawer();
            var cvm = new CashViewModel(new Order());

            CashDrawer.ResetDrawer();
            Assert.IsAssignableFrom <INotifyPropertyChanged>(cvm);
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            CashViewModel model = this.DataContext as CashViewModel;

            if (model != null)
            {
                model.LoadCashTypeBase(0);
            }
        }
        public void AmountTenderedShouldBeCorrect()
        {
            CashDrawer.ResetDrawer();
            var cvm = new CashViewModel(new Order());

            cvm.Hundreds += 1;
            cvm.Twos     += 2;
            cvm.Quarters += 1;
            cvm.Nickels  += 1;
            cvm.Pennies  += 4;
            Assert.Equal(104.34, cvm.AmountTendered);
        }
Beispiel #6
0
        CreateCash([Bind(cashProperties)] CashViewModel c)
        {
            if (!ModelState.IsValid)
            {
                return(View(c));
            }
            c.ID = Guid.NewGuid().ToString();
            var o = PaymentObjectFactory.CreateCash(c.ID, c.Amount, c.Currency, c.Memo, c.Payer,
                                                    c.Payee, c.ValidFrom, c.ValidTo);
            await payments.AddObject(o);

            return(RedirectToAction("Index"));
        }
        public void CorrectChangeShouldBeReturned()
        {
            CashDrawer.ResetDrawer();
            var ord = new Order();

            ord.Add(new DoubleDraugr());
            var cvm = new CashViewModel(ord);

            cvm.Twenties += 1;
            double expected = Math.Round(20.00 - ord.Total, 2);

            Assert.Equal(expected, cvm.AmountOwed);
        }
        public void AddingBillsDecreasesAmountDue()
        {
            CashDrawer.ResetDrawer();
            var ord = new Order();

            ord.Add(new BriarheartBurger());
            var cvm = new CashViewModel(ord);

            cvm.Ones += 4;
            double expected = Math.Round(ord.Total - 4.0, 2);

            Assert.Equal(expected, cvm.AmountDue);
        }
Beispiel #9
0
        private static CashViewModel create(CashObject o)
        {
            var v = new CashViewModel {
                Amount             = o?.DbRecord?.Amount,
                Currency           = o?.DbRecord?.Currency,
                Memo               = o?.DbRecord?.Memo,
                Payee              = o?.DbRecord?.Payee,
                PayeeAccountNumber = o?.DbRecord?.PayeeAccountNumber,
                Payer              = o?.DbRecord?.Payer,
                PayerAccountNumber = o?.DbRecord?.PayerAccountNumber
            };

            setCommonValues(v, o?.DbRecord.ID, o?.DbRecord?.ValidFrom, o?.DbRecord?.ValidTo);
            return(v);
        }
Beispiel #10
0
        public async Task <IActionResult> EditCash([Bind(cashProperties)] CashViewModel c)
        {
            if (!ModelState.IsValid)
            {
                return(View("EditCash", c));
            }
            var o = await payments.GetObject(c.ID) as CashObject;

            o.DbRecord.Payer     = c.Payer;
            o.DbRecord.Payee     = c.Payee;
            o.DbRecord.Amount    = c.Amount;
            o.DbRecord.Currency  = c.Currency;
            o.DbRecord.Memo      = c.Memo;
            o.DbRecord.ValidFrom = c.ValidFrom ?? DateTime.MinValue;
            o.DbRecord.ValidTo   = c.ValidTo ?? DateTime.MaxValue;
            await payments.UpdateObject(o);

            return(RedirectToAction("Index"));
        }
        public void FinalizingSaleShouldHaveCorrectBillAmounts()
        {
            CashDrawer.ResetDrawer();
            var ord = new Order();

            ord.Add(new SmokehouseSkeleton());
            var cvm              = new CashViewModel(ord);
            int initalTwenties   = CashDrawer.Twenties;
            int initalTens       = CashDrawer.Tens;
            int initalOnes       = CashDrawer.Ones;
            int initalHalfDollar = CashDrawer.HalfDollars;
            int initalDimes      = CashDrawer.Dimes;
            int initalPennies    = CashDrawer.Pennies;

            cvm.Twenties += 1;
            cvm.FinalizeSale();
            Assert.Equal(initalTwenties, CashDrawer.Twenties - 1);
            Assert.Equal(initalTens, CashDrawer.Tens + 1);
            Assert.Equal(initalOnes, CashDrawer.Ones + 3);
            Assert.Equal(initalHalfDollar, CashDrawer.HalfDollars + 1);
            Assert.Equal(initalDimes, CashDrawer.Dimes + 2);
            Assert.Equal(initalPennies, CashDrawer.Pennies + 1);
        }