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>());
            }
        }
示例#2
0
        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"));
        }