Example #1
0
        public async Task <IQueryable <Event> > EditAsync(EventEditRequest request)
        {
            var toEdit = await CheckAndGetEventAsync(request.Id);

            if (request.EventTypeId.HasValue)
            {
                await CheckAndGetEventTypeAsync(request.EventTypeId.Value);
            }

            mapper.Map(request, toEdit);

            toEdit
            .Shifts
            .SelectMany(s => s.Places)
            .SelectMany(p => p.PlaceUserEventRoles)
            .Where(p => p.UserStatus == UserStatus.Unknown)
            .WithActions(p =>
            {
                p.UserStatus   = UserStatus.Invited;
                p.CreationTime = DateTime.UtcNow;
            })
            .Iterate();

            if (toEdit.Shifts?.Count < 1)
            {
                throw ResponseStatusCode.LastShift.ToApiException();
            }
            await dbContext.SaveChangesAsync();

            return(dbContext.Events.Where(ev => ev.Id == toEdit.Id));
        }
Example #2
0
        public async Task <EventEditResponse> EditEventAsync(EventEditRequest request)
        {
            await ValidateRequestAsync(request);

            var entity = _eventRepository.FindOne(x => x.Id == request.Id);

            if (entity == null)
            {
                throw new EntityNotFoundException();
            }

            var newEntity = _mapper.Map <EventEntity>(request);

            entity.SenderId     = newEntity.SenderId;
            entity.ReceiverId   = newEntity.ReceiverId;
            entity.ActionId     = newEntity.ActionId;
            entity.Method       = newEntity.Method;
            entity.Path         = newEntity.Path;
            entity.QueryStrings = newEntity.QueryStrings;
            entity.Headers      = newEntity.Headers;
            entity.Body         = newEntity.Body;
            entity.RetryCount   = newEntity.RetryCount;
            _eventRepository.Update(entity);
            return(_mapper.Map <EventEditResponse>(entity));
        }
Example #3
0
        public async Task <IActionResult> EditEvent(EventEditRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(400));
            }

            var identityClaimNum = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            var dto = _mapper.Map <EventEditDTO>(request);

            if (await _manager.EditEvent(dto))
            {
                return(StatusCode(200));
            }
            throw new Exception();
        }