public BillViewModel() { Bill = new Bill(); Bills = new List <Bill>(); Expenses = new List <Expense>(); Metrics = new BillMetrics(); }
//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); }
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); }
public BillDTO() { Bill = new Bill(); Bills = new List <Bill>(); Metrics = new BillMetrics(); }