public async Task <IActionResult> GetExpenseTypeList([FromBody] GetExpenseTypeListRequest req) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await repository.AuthenticateUserToken(req.CurrentUser.UserId, req.CurrentUser.UserToken); if (user == null) { return(NotFound()); } GetExpenseTypeListResponse resp = new GetExpenseTypeListResponse() { ExpenseTypes = (await repository.GetAllExpenseTypes()).Select(x => LoadExpenseType(x)).ToList() }; return(Ok(resp)); }
public async Task <IActionResult> SaveExpenseTypeList([FromBody] SaveExpenseTypeListRequest req) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await repository.AuthenticateUserToken(req.CurrentUser.UserId, req.CurrentUser.UserToken); if (user == null) { return(NotFound()); } GetExpenseTypeListResponse resp = new GetExpenseTypeListResponse(); resp.ExpenseTypes = new List <ExpenseTypeModel>(); using (var transaction = await repository.StartTransaction()) { try { foreach (var model in req.ExpenseTypes) { resp.ExpenseTypes.Add(await SaveExpenseType(user, model, repository)); } transaction.Commit(); } catch (Exception e) { transaction.Rollback(); return(NotFound(e)); } } return(Ok(resp)); }