Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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));
        }