public async Task <ExpensesViewModel> AddExpenses(UserProfile user, ExpensesRequestViewModel model) { var expenses = new Expense { business_id = user.business_id.Value, shop_id = model.shopId, sum = model.totalSum, report_date = model.reportDate, ExpensesDetails = model.expenses.Select(p => new ExpensesDetail { expenses_type_id = Convert.ToInt32(p.id), sum = p.value }).ToList() }; var exId = 0; try { exId = await _expRepo.AddExpenses(expenses); model.id = exId; } catch (Exception) { throw new Exception("Добавление расхода не удалось."); } var expensesDal = await _expRepo.GetByIdAsync(exId); var expensesVm = new ExpensesViewModel { id = expensesDal.id, shopId = expensesDal.shop_id, reportDate = expensesDal.report_date, totalSum = expensesDal.sum, expenses = new List <ExpensesValueViewModel>(), }; foreach (var expD in expensesDal.ExpensesDetails) { expensesVm.expenses.Add(new ExpensesValueViewModel { key = expD.ExpensesType.type, value = expD.sum }); } return(expensesVm); }