Exemplo n.º 1
0
        public HttpResponseMessage BuscarPorId(HttpRequestMessage request)
        {
            ConsultarComputadorViewModel vm = new ConsultarComputadorViewModel();

            try
            {
                vm = request.Content.ReadAsAsync <ConsultarComputadorViewModel>().Result;

                if (vm.ConsultaPorIdEhValida())
                {
                    vm = _appServico.Buscar(vm.Id);

                    return(new HttpResponseMessage
                    {
                        Content = new ObjectContent <ConsultarComputadorViewModel>(vm, new JsonMediaTypeFormatter())
                    });
                }
                else
                {
                    vm.ResultadoTransacao = "Os dados informados não são válidos.";

                    return(new HttpResponseMessage()
                    {
                        Content = new ObjectContent <ConsultarComputadorViewModel>(vm, new JsonMediaTypeFormatter())
                    });
                }
            }
            catch (NullReferenceException)
            {
                return(new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.InternalServerError,
                    Content = new StringContent("Erro no corpo da requisição.")
                });
            }
            catch (ComputadorNaoExisteException ex)
            {
                vm.ResultadoTransacao = ex.Message;

                return(new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.InternalServerError,
                    Content = new ObjectContent <ConsultarComputadorViewModel>(vm, new JsonMediaTypeFormatter())
                });
            }
            catch (Exception)
            {
                return(new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.InternalServerError,
                    Content = new StringContent("Erro interno no servidor.")
                });
            }
        }
        public void ConsultaComputadorViewModel_ValidarEntrada_ResultadoValido()
        {
            // Arrange
            var vm = new ConsultarComputadorViewModel();

            vm.Id = "123";

            // Act
            vm.ConsultaPorIdEhValida();

            // Assert
            Assert.NotNull(vm);
            Assert.True(!string.IsNullOrEmpty(vm.Id));
            Assert.Equal("123", vm.Id);
        }