Exemplo n.º 1
0
        public async Task <IActionResult> Search([FromBody] SearchRequest <EventModelDTO> genericRequestDTO = null)
        {
            try
            {
                if (genericRequestDTO == null)
                {
                    genericRequestDTO = new SearchRequest <EventModelDTO>();
                }

                SearchRequest <EventModel> genericRequest = this._mapper.Map <SearchRequest <EventModel> >(genericRequestDTO);
                ResultHandler <IAsyncEnumerable <EventModel> > getResultHandler = this._eventsService.Get(genericRequest.Filters, genericRequest.OrderBy, genericRequest.IncludeProperties);
                if (getResultHandler.Success)
                {
                    List <EventModelDTO> result = new List <EventModelDTO>();
                    await foreach (EventModel eventModel in getResultHandler.Value)
                    {
                        EventModelDTO eventModelDTO = this._mapper.Map <EventModelDTO>(eventModel);
                        result.Add(eventModelDTO);
                    }
                    return(Ok(result));
                }
                else
                {
                    return(StatusCode(500, getResultHandler.ErrorCode));
                }
            }
            catch (Exception ex)
            {
                this._log.LogError(ex, "EventsController.Get");
                return(StatusCode(500, ErrorCode.Exception));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> GetById(Guid id)
        {
            try
            {
                if (id == Guid.Empty)
                {
                    return(BadRequest(ModelState));
                }

                ResultHandler <EventModel> result = await this._eventsService.GetById(id);

                if (result.Success)
                {
                    EventModel    eventModel    = result.Value as EventModel;
                    EventModelDTO eventModelDTO = this._mapper.Map <EventModelDTO>(eventModel);

                    return(Ok(eventModelDTO));
                }
                else if (result.ErrorCode == ErrorCode.EntityNotFound)
                {
                    return(NotFound($"Not found entity with Id: {id}"));
                }
                else
                {
                    return(StatusCode(500, result.ErrorCode));
                }
            }
            catch (Exception ex)
            {
                this._log.LogError(ex, "EventsController.Get");
                return(StatusCode(500, ErrorCode.Exception));
            }
        }
        public async Task GetById_WhenCalled_ShouldReturnOk(string access_token)
        {
            try
            {
                // Arrange
                this._expectedItem = TestsFacade.EventsFacade.BuildEventModels().First();
                _context.Events.Add(this._expectedItem);
                await _context.SaveChangesAsync();

                HttpMethod         httpMethod         = HttpMethod.Get;
                Uri                uri                = new Uri($"http://localhost/api/events/getbyid?id={_expectedItem.Id}");
                HttpRequestMessage httpRequestMessage = new HttpRequestMessage(httpMethod, uri);
                httpRequestMessage.SetBearerToken(access_token);

                HttpCompletionOption httpCompletionOption = HttpCompletionOption.ResponseHeadersRead;
                CancellationToken    cancellationToken    = new CancellationToken();

                // Act
                _client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                var response = await _client.SendAsync(httpRequestMessage, httpCompletionOption, cancellationToken);

                // Assert
                Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
                string jsonResult = await response.Content.ReadAsStringAsync();

                EventModelDTO resultItem = JsonConvert.DeserializeObject <EventModelDTO>(jsonResult);

                Assert.IsTrue(resultItem.Id == this._expectedItem.Id);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }
Exemplo n.º 4
0
        public ActionResult <EventModelDTO> Get(Guid id)
        {
            try
            {
                if (id == Guid.Empty)
                {
                    return(BadRequest());
                }

                ResultService <EventModel> result = this._eventsService.GetById(id);
                if (result.Success)
                {
                    EventModel    eventModel    = result.Value as EventModel;
                    EventModelDTO eventModelDTO = _mapper.Map <EventModelDTO>(eventModel);

                    return(Ok(eventModelDTO));
                }
                else
                {
                    return(StatusCode(500, result.ErrorCode));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ErrorCode.Unknown));
                //TODO: Log the Exception.
            }
        }
        [Test] public void GetById_WhenCalled_ShouldReturnOk()
        {
            //Arrange
            EventModel expectedItem = TestsFacade.EventsFacade.BuildEventModelItem();
            ResultService <EventModel> expectedResultService = ResultService.Ok(expectedItem);
            EventModelDTO expectedItemDTO = TestsFacade.EventsFacade.BuildEventModelDTOItem();

            _mock.Mock <IGenericService <EventModel> >()
            .Setup(items => items.GetById(It.IsAny <Guid>()))
            .Returns(() => expectedResultService);

            _mock.Mock <IMapper>()
            .Setup(items => items.Map <EventModelDTO>(It.IsAny <EventModel>()))
            .Returns(() => expectedItemDTO);

            var controller = _mock.Create <EventsController>();

            //Act
            ActionResult <EventModelDTO> actionResult = controller.Get(Guid.NewGuid());

            //Assert
            Assert.IsNotNull(actionResult);
            Assert.IsInstanceOf <OkObjectResult>(actionResult.Result);

            var okResult = actionResult.Result as OkObjectResult;

            Assert.IsNotNull(okResult.Value);

            EventModelDTO okResultItem = okResult.Value as EventModelDTO;

            Assert.IsNotNull(okResultItem);
            Assert.AreEqual(okResultItem.GetHashCode(), expectedItemDTO.GetHashCode());
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Update(EventPutRequest request)
        {
            try
            {
                if (request == null || !ModelState.IsValid)
                {
                    return(BadRequest(request));
                }

                ResultHandler <EventModel> getByIdResult = await this._eventsService.GetById(request.Id);

                if (!getByIdResult.Success)
                {
                    return(StatusCode(500, getByIdResult.ErrorCode));
                }

                EventModel item = getByIdResult.Value as EventModel;

                string ownerId = this._userService.OwnerId.ToString();
                if (!item.OwnerId.Equals(ownerId))
                {
                    return(Unauthorized(request));
                }

                item.End         = request.End;
                item.IsAllDay    = request.IsAllDay;
                item.Title       = request.Name;
                item.Start       = request.Start;
                item.URL         = request.URL;
                item.Base64Id    = request.Base64Id;
                item.Description = request.Description;
                item.Details     = request.Details;
                item.ImagePath   = request.ImagePath;
                item.UpdateDate  = DateTime.UtcNow;

                ResultHandler result = await this._eventsService.Update(item);

                if (result.Success)
                {
                    EventModelDTO eventModelDTO = this._mapper.Map <EventModelDTO>(item);
                    return(Ok(eventModelDTO));
                }
                else
                {
                    return(StatusCode(500, result.ErrorCode));
                }
            }
            catch (Exception ex)
            {
                this._log.LogError(ex, "EventsController.Put");
                return(StatusCode(500, ErrorCode.Exception));
            }
        }
        [Test] public async void Get_WhenCalled_ShouldReturnOk()
        {
            // Arrange
            EventModel expectedItem = TestsFacade.EventsFacade.BuildEventModelItem();

            _context.Events.Add(expectedItem);
            _context.SaveChanges();

            // Act
            var response = await _client.GetAsync($"/api/events/{expectedItem.Id}");

            // Assert
            Assert.Equals(HttpStatusCode.OK, response.StatusCode);
            string jsonResult = await response.Content.ReadAsStringAsync();

            EventModelDTO resultItem = JsonConvert.DeserializeObject <EventModelDTO>(jsonResult);

            Assert.Equals(expectedItem.Id, resultItem.Id);
        }