public async Task UpdateExpense(int id, UpdateExpenseRequest request) { await _expensesRepository.UpdateExpense( id, request.Description, request.Amount, request.ExpenseCategoryId, request.ExpenseSubcategoryId, request.AccountId, request.CreateDate); }
public async Task <bool> UpdateExpenseAsync(int expenseId, UpdateExpenseRequest request) { var expenseDto = new UpdateExpenseDto { Id = expenseId, Name = request.Name, Description = request.Description, ExpenseDate = request.ExpenseDate, ExpenseValue = request.ExpenseValue, CurrencyId = request.CurrencyId, PeriodId = request.PeriodId }; var expense = _mapper.Map <Expense>(expenseDto); return(await _baseRepository.UpdateEntityAsync(expense)); }
public async Task <IActionResult> UpdateExpense(int expenseId, [FromBody] UpdateExpenseRequest request) { var userId = User.Claims.FirstOrDefault(c => c.Type == "id").Value; // check if user exists var userExists = await _identityService.CheckIfUserExists(userId); if (!userExists) { return(NotFound(new ErrorResponse(new ErrorModel { Message = $"There is no user with id: {userId}" }))); } var expenseInDb = await _expenseService.GetExpenseAsync(expenseId); if (expenseInDb == null) { return(NotFound(new ErrorResponse(new ErrorModel { Message = $"There is no expense with id: {expenseId}" }))); } if (expenseInDb.UserId != userId) { return(Forbid()); } var updateExpense = await _expenseService.UpdateExpenseAsync(expenseId, request); if (!updateExpense) { return(BadRequest(new ErrorResponse(new ErrorModel { Message = $"Could not update expense with id:{expenseId}" }))); } var updatedExpense = await _expenseService.GetExpenseAsync(expenseId); return(Ok(new Response <ExpenseResponse>(_mapper.Map <ExpenseResponse>(updatedExpense)))); }
public async Task <IActionResult> UpdateExpense(UpdateExpenseRequest expenseRequest) { if (expenseRequest == null) { return(StatusCode(400, "Bad Request")); } try { await _expenseServices.UpdateExpense((long)expenseRequest.ExpenseId, (decimal)expenseRequest.ExpenseAmount); return(Ok()); } catch (ArgumentException ae) { return(StatusCode(400, ae.Message)); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
public async Task <IActionResult> Update([FromRoute] Guid expenseId, [FromBody] UpdateExpenseRequest request) { var userOwnsExpenses = await _expenseService.UserOwnsExpenseAsync(expenseId, HttpContext.GetUserId()); if (!userOwnsExpenses) { return(BadRequest(new ErrorResponse() { Errors = new List <ErrorModel> { new ErrorModel { FieldName = "userId", Message = "User does not own this expense" } } })); } var expense = await _expenseService.GetExpenseByIdAsync(expenseId); expense.Title = request.Title; expense.Value = request.Value; expense.DateAdded = DateTime.Now; expense.Tags = request.Tags.Select(x => new ExpenseTag { ExpenseId = expenseId, TagName = x }) .ToList(); var updated = await _expenseService.UpdateExpenseAsync(expense); if (updated) { return(Ok(new Response <ExpenseResponse>(_mapper.Map <ExpenseResponse>(expense)))); } return(NotFound()); }
protected async Task <HttpResponseMessage> UpdateExpenseAsync(Guid expenseId, UpdateExpenseRequest request) { var t = ApiRoutes.Expenses.Update.Replace("{expenseId}", expenseId.ToString()); return(await TestClient.PutAsJsonAsync(ApiRoutes.Expenses.Update.Replace("{expenseId}", expenseId.ToString()), request)); }
public async Task <IActionResult> UpdateExpenseCategory(int id, [FromBody] UpdateExpenseRequest request) { await _expensesService.UpdateExpense(id, request); return(Ok()); }