public async Task <IActionResult> PutTeamEvent(int id, TeamEventUpdateRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } var teamEvent = await _context.TeamEvents.FirstOrDefaultAsync(te => te.Id == id); if (teamEvent == default) { return(NotFound()); } var startDate = Convert.ToDateTime(request.StartDate).Date .AddHours(request.StartTime.GetProperty("hour").GetUInt32()) .AddMinutes(request.StartTime.GetProperty("minute").GetUInt32()); teamEvent.Name = request.Name; teamEvent.Location = request.Location; teamEvent.StartDate = startDate; teamEvent.MinAttendees = request.MinAttendees; teamEvent.MaxAttendees = request.MaxAttendees; teamEvent.LocationImageUrl = request.LocationImageUrl; teamEvent.LogoImageUrl = request.LogoImageUrl; teamEvent.Attendees = request.Attendees; teamEvent.LastModifiedDate = DateTime.UtcNow; teamEvent.Photos = request.Photos; teamEvent.Reviews = request.Reviews; teamEvent.Categories = request.Categories; teamEvent.Comments = request.Comments; teamEvent.LocationMapUrl = request.LocationMapUrl; teamEvent.Description = request.Description; teamEvent.TicketPrice = request.TicketPrice; teamEvent.Status = request.Status; await _textAnalyticsService.BuildTextWithLinksAsync(teamEvent); try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TeamEventExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }