public async Task <RequestResult <RunActivityResponse> > Handle(AddRunActivityRequest request, CancellationToken cancellationToken) { try { var activity = _mapper.Map <RunActivity>(request); await _ctx.RunActivities.AddAsync(activity); await _ctx.SaveChangesAsync(); var createdActivity = await _ctx.RunActivities.FindAsync(activity.Id); if (createdActivity == null) { _logger.LogError("activity not found after creation"); return(RequestResult.Error <RunActivityResponse>()); } var response = _mapper.Map <RunActivityResponse>(createdActivity); return(RequestResult.Success(response)); } catch (Exception ex) { _logger.LogError("Error creating run activity", ex); return(RequestResult.Error <RunActivityResponse>()); } }
public async Task <IActionResult> AddActivity(AddRunActivityRequest request) { if (request == null || request.UserId == Guid.Empty) { return(BadRequest("The request cannot be null")); } var response = await _mediator.Send(request); if (response.IsSuccess) { return(Ok(response.Obj)); } return(BadRequest("The running activity could not be created")); }