public async Task <ActionResult <UserTracking> > Add(UserTrackingRequest userTracking) { if (userTracking == null) { return(new BadRequestResult()); } var userId = _httpContextAccessor.HttpContext.GetUserId(); var data = await _mediator.Send(new AddUserTracking ( userId, userTracking.Title, userTracking.Description, userTracking.Occurrences, userTracking.Order, userTracking.UseTime, userTracking.Values.Select(value => new UserTrackingValue { UserTrackingValueId = 0, Name = value.Name, Description = value.Description, Order = value.Order, Type = value.Type, Disabled = value.Disabled, Metadata = value.Metadata.Select(metadata => new UserTrackingValueMetadata { Key = metadata.Key, UserTrackingValueId = value.UserTrackingValueId, Value = metadata.Value, }).ToArray() }) )); return(new OkObjectResult(data)); }
public async Task <ActionResult> Update(int userTrackingId, UserTrackingRequest userTracking) { if (userTracking == null) { return(new BadRequestResult()); } try { var userId = _httpContextAccessor.HttpContext.GetUserId(); var data = await _mediator.Send(new UpdateUserTracking ( userId, userTrackingId, userTracking.Title, userTracking.Description, userTracking.Occurrences, userTracking.Disabled, userTracking.UseTime, userTracking.Values.Select(value => new UserTrackingValue { UserTrackingValueId = value.UserTrackingValueId, Name = value.Name, Description = value.Description, Order = value.Order, Type = value.Type, Disabled = value.Disabled, Metadata = value.Metadata.Select(metadata => new UserTrackingValueMetadata { Key = metadata.Key, UserTrackingValueId = value.UserTrackingValueId, Value = metadata.Value, }).ToArray() }) )); return(new OkObjectResult(data)); } catch (ArgumentException ex) { return(new NotFoundObjectResult(ex.Message)); } }