Пример #1
0
        public HttpResponseMessage BuscarPorDescricao(HttpRequestMessage request)
        {
            ConsultarComputadorViewModel vm = new ConsultarComputadorViewModel();

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

                if (vm.ConsultaPorDescricaoEhValida())
                {
                    vm = _appServico.BuscarPorDescricao(vm.Descricao);

                    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_ValidarEntradaPorDescricao_ResultadoValido()
        {
            // Arrange
            var vm = new ConsultarComputadorViewModel();

            vm.Descricao = "C011";

            // Act
            vm.ConsultaPorDescricaoEhValida();

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