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)); }
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)); }
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(); }