private async Task<FilterDataModel> InitFilter(FilterDataModel filter)
 {
     var userId = await this.CurrentProfileId();
     filter.BudgetsSelectList = await this._transactionService.GetReadableBudgetsSelection(userId);
     filter.WalletsSelectList = await this._transactionService.GetAllReadableWalletsSelection(userId);
     filter.CategoriesSelectList = await this._transactionService.GetAllCategoriesSelection();
     return filter;
 }
 private async Task<DashBoardModel> ProcessFilter(FilterDataModel filter)
 {
     var mappedFilter = Mapper.Map<FilterDataServiceModel>(filter);
     var data =
         await
             this._dashBoardService.GenerateDataForFilter(
                 mappedFilter,
                 await this.CurrentProfileId()
                 );
     var result = Mapper.Map<DashBoardModel>(data);
     result.Filter = await this.InitFilter(filter);
     return result;
 }
 public async Task<ViewResult> IndexWithFilter(FilterDataModel filter)
 {
     return this.View(SharedConstant.Index, await this.ProcessFilter(filter));
 }
 public DashBoardModel()
 {
     Filter = new FilterDataModel();
     Transactions = Enumerable.Empty<TransactionShowModel>();
 }