public BillViewModel()
 {
     Bill     = new Bill();
     Bills    = new List <Bill>();
     Expenses = new List <Expense>();
     Metrics  = new BillMetrics();
 }
示例#2
0
        //TODO:update to not take any parameters
        public BillMetrics GetBillMetrics()
        {
            List <Bill> bills   = _db.Bills.Where(b => b.UserId == _userId).ToList();
            BillMetrics metrics = new BillMetrics();

            try
            {
                metrics.LargestBalance  = bills.Max(b => b.AmountDue);
                metrics.SmallestBalance = bills.Min(b => b.AmountDue);
                metrics.TotalBalance    = bills.Sum(b => b.AmountDue);
                metrics.AverageBalance  = bills.Sum(b => b.AmountDue) / bills.Count;
            }
            catch (Exception e)
            {
                Logger.Instance.Error(e);
                return(new BillMetrics());
            }


            return(metrics);
        }
示例#3
0
        private async Task <BillMetrics> GetBillMetricsAsync()
        {
            List <Bill> bills = (List <Bill>) await _billRepository.GetAllBillsAsync();

            BillMetrics metrics = new BillMetrics();

            try
            {
                metrics.LargestBalance  = bills.Max(b => b.AmountDue);
                metrics.SmallestBalance = bills.Min(b => b.AmountDue);
                metrics.TotalBalance    = bills.Sum(b => b.AmountDue);
                metrics.AverageBalance  = bills.Sum(b => b.AmountDue) / bills.Count;
            }
            catch (Exception e)
            {
                Logger.Instance.Error(e);
                return(new BillMetrics());
            }


            return(metrics);
        }
示例#4
0
 public BillDTO()
 {
     Bill    = new Bill();
     Bills   = new List <Bill>();
     Metrics = new BillMetrics();
 }