Пример #1
0
        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));
        }
Пример #2
0
        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));
            }
        }