/// <summary> /// Get all active incomes of an account by income type /// </summary> /// <param name="username">Username of account</param> /// <param name="type">Income type to filter</param> /// <returns>List of active incomes</returns> public static IncomeListViewModel GetIncomeByUser(string username, int type) { Entities entities = new Entities(); DateTime current = DateTime.Now; List <Incomes> queryResult = entities.Incomes.Where(x => x.Username.Equals(username) && x.IncomeType == type && !x.DisabledDate.HasValue).OrderBy(x => x.Name).ToList(); IncomeListViewModel result = new IncomeListViewModel { List = queryResult, Type = type, TotalMonthlyIncome = queryResult.Where(x => x.StartDate <= current && (x.EndDate.HasValue ? x.EndDate.Value >= current : true)).Sum(x => x.Value) }; return(result); }
public ActionResult Index(IncomeListViewModel viewModel) { if (viewModel == null) { viewModel = new IncomeListViewModel(); } viewModel.Items = new List <IIncomeData>(); //Retrieve all residents. var result = service.GetIncomeForBuildings(null, viewModel.StartDate, viewModel.EndDate); result.ToList().ForEach(u => viewModel.Items.Add(ViewModelMapper.Mapper.Map <IIncomeData>(u))); return(View(viewModel)); }