public ActionResult Create(EventViewModel model) { if (!ModelState.IsValid) { model.SquadList = GetSquadList(); model.EventTypes = GetEventTypeList(); return(View(model)); } try { EventSetupRequest request = Map(model); var response = eventService.CreateEvent(request); if (!response.RequestIsFulfilled) { foreach (var error in response.Errors) { ModelState.AddModelError("", error); } model.SquadList = GetSquadList(); model.EventTypes = GetEventTypeList(); return(View(model)); } return(RedirectToAction(nameof(Index))); } catch { model.SquadList = GetSquadList(); model.EventTypes = GetEventTypeList(); return(View(model)); } }
public DataAccess.Models.EventSetup?Execute(EventSetupRequest request) { using (var db = databaseFactory.CreateNew()) { return(db.EventSetups.SingleOrDefault(x => x.ChatId == request.ChatId && x.MessageId == request.MessageId)); } }
public Response UpdateEvent(EventSetupRequest request) { if (request.EventId.IsEmpty()) { return(Response.CreateResponse(new EntityNotFoundException("Event Id must be specified when updating an existing event"))); } else { var @event = eventQuery.GetEvent(request.EventId.Value); if (@event == null) { return(Response.CreateResponse(new EntityNotFoundException("The specified event does not exist"))); } else if (@event.ClubId != request.ClubId) { return(Response.CreateResponse(new IllegalOperationException("The specified event does not belong to this club"))); } } var(isValid, squads, trainingMaterials, response) = Validate(request); if (!isValid) { return(response); } try { eventRepository.UpdateEvent(Map(request, squads, trainingMaterials)); } catch (Exception ex) { return(Response.CreateResponse(ex)); } return(Response.CreateSuccessResponse()); }
private Event Map(EventSetupRequest request, IEnumerable <Squad> squads, IEnumerable <TrainingMaterial> trainingMaterials) => new Event(request.ClubId, request.EventId) { EndDate = request.EndDate.Value, Location = request.Location, StartDate = request.StartDate.Value, Title = request.Title, Squads = squads, TrainingMaterials = trainingMaterials, EventType = request.EventType.Value };
private async void btnRunFirstTimeSetup_Click(object sender, EventArgs e) { btnRunFirstTimeSetup.Text = "Setting up..."; GameSetupRequest gameSetupRequest = new GameSetupRequest(); TimeResponse gameSetupResponse = await gameSetupRequest.sendRequest(http); EventSetupRequest eventSetupRequest = new EventSetupRequest(); TimeResponse eventSetupResponse = await eventSetupRequest.sendRequest(http); Helper.configOff("firstTimeSetup"); Close(); }
public Response CreateEvent(EventSetupRequest request) { if (!request.EventId.IsEmpty()) { return(Response.CreateResponse(new IllegalOperationException("Event Id must not be specified when creating a new event"))); } var(isValid, squads, trainingMaterials, response) = Validate(request); if (!isValid) { return(response); } try { eventRepository.AddEvent(Map(request, squads, trainingMaterials)); } catch (Exception ex) { return(Response.CreateResponse(ex)); } return(Response.CreateSuccessResponse()); }
private (bool isValid, IEnumerable <Squad> squads, IEnumerable <TrainingMaterial> trainingMaterials, Response response) Validate(EventSetupRequest request) { var validationResult = setUpRequestValidator.Validate(request); if (!validationResult.IsValid) { return(false, null, null, Response.CreateResponse(validationResult.Messages)); } var club = clubQuery.GetClub(request.ClubId); if (club == null) { return(false, null, null, Response.CreateResponse(new EntityNotFoundException("The specified club doesn not exist"))); } var clubSquads = squadQuery.GetSquads(club.Guid); var allOfRequestedSquadsBelongToClub = !request.Squads.Except(clubSquads.Select(s => s.Guid)).Any(); if (!allOfRequestedSquadsBelongToClub) { return(false, null, null, Response.CreateResponse(new IllegalOperationException("Not all of specified squads belong to this club"))); } List <TrainingMaterial> trainingMaterials = null; if (request.TrainingMaterials != null && request.TrainingMaterials.Any()) { var clubTrainingMaterials = libraryQuery.GetTrainingMaterials(club.Guid); var allOfRequestedMaterialsBelongToClub = !request.TrainingMaterials.Except(clubTrainingMaterials.Select(t => t.Guid)).Any(); if (!allOfRequestedMaterialsBelongToClub) { return(false, null, null, Response.CreateResponse(new IllegalOperationException("Not all of specified materials belong to this club"))); } trainingMaterials = request.TrainingMaterials.Join(clubTrainingMaterials, t1 => t1, t2 => t2.Guid, (guid, trainignMaterial) => trainignMaterial).ToList(); } var squads = request.Squads.Join(clubSquads, s1 => s1, s2 => s2.Guid, (guid, squad) => squad).ToList(); return(true, squads, trainingMaterials, Response.CreateSuccessResponse()); }