public async Task <ActionResult <EventModelResponse> > Create( EventViewMode eventViewMode, CancellationToken cancellationToken = default) { var @event = new Event( eventViewMode.Name, eventViewMode.OddsForFirstTeam, eventViewMode.OddsForFirstTeam, eventViewMode.OddsForSecondTeam, eventViewMode.EventStartDate); await this.eventRepository.AddAsync(@event); var eventResponse = new EventListResponse(); var result = await this.eventRepository.SaveChangesAsync(); var eventModelResponse = this.MapResponseModel(@event); if (result == 0) { eventModelResponse.ErrorMesage = "Ther was an Error"; eventModelResponse.Succeeded = false; } return(this.Ok(eventModelResponse)); }
public async Task <IActionResult> Update([FromBody] EventViewMode eventViewMode) { var client = this.clientFactory.CreateClient("Update"); var stringContent = JsonConvert.SerializeObject(eventViewMode); var request = new HttpRequestMessage(HttpMethod.Patch, UpdateUrl) { Content = new StringContent(stringContent, Encoding.UTF8, "application/json"), }; var response = await client.SendAsync(request, HttpCompletionOption.ResponseContentRead); return(this.Ok(true)); }
public void UpdateThrowsExeption() { var eventModel = new EventViewMode() { Id = 2, EventStartDate = DateTime.Parse("2021 - 01 - 27T12:33"), OddsForDraw = 1.00m, OddsForFirstTeam = 1.00m, OddsForSecondTeam = 2.00m, Name = "Some", }; this.SetUpMockRepoDbSet(new List <Event>()); Assert.ThrowsAsync <NullReferenceException>(() => this.controller.Update(eventModel)); }
public void ShudCreateEvent() { var eventModel = new EventViewMode() { EventStartDate = DateTime.Parse("2021 - 01 - 27T12:33"), OddsForDraw = 1.00m, OddsForFirstTeam = 1.00m, OddsForSecondTeam = 2.00m, Name = "Some", }; this.SetUpMockRepoDbSet(new List <Event>()); var okResult = this.controller.Create(eventModel); Assert.IsType <OkObjectResult>(okResult.GetAwaiter().GetResult().Result); }
public async Task <ActionResult <EventModelResponse> > Update( [FromBody] EventViewMode eventViewMode, CancellationToken cancellationToken = default) { var existingEvent = await this.eventRepository.All() .FirstOrDefaultAsync(e => e.Id == eventViewMode.Id, cancellationToken); existingEvent.UpdateDetails( eventViewMode.Name, eventViewMode.OddsForFirstTeam, eventViewMode.OddsForDraw, eventViewMode.OddsForSecondTeam, eventViewMode.EventStartDate); this.eventRepository.Update(existingEvent); var result = await this.eventRepository.SaveChangesAsync(cancellationToken); var eventModelResponse = this.MapResponseModel(existingEvent); return(this.Ok(eventModelResponse)); }