示例#1
0
        public HttpResponseMessage Put(DependenteEdicaoModel model)
        {
            if (ModelState.IsValid) //verifica se os campos passaram nas validações
            {
                try
                {
                    Dependente dependente = new Dependente();
                    dependente.IdDependente   = model.IdDependente;
                    dependente.Nome           = model.Nome;
                    dependente.DataNascimento = model.DataNascimento;
                    dependente.IdDependente   = model.IdDependente;

                    DependenteRepository repository = new DependenteRepository();
                    repository.Alterar(dependente);

                    return(Request.CreateResponse(HttpStatusCode.OK, "Dependente atualizado com sucessso."));
                }
                catch (Exception e)
                {
                    //INTERNAL SERVER ERROR -> Status HTTP 500
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message));
                }
            }
            else
            {
                //BAD REQUEST -> Status HTTP 400
                return(Request.CreateResponse(HttpStatusCode.BadRequest,
                                              "Ocorreram erros de validação."));
            }
        }
        public IActionResult Edicao(int id,                                                   //parametro passado pela URL (querystring)
                                    [FromServices] FuncionarioRepository funcionarioRepository,
                                    [FromServices] DependenteRepository dependenteRepository) //injeção de dependência
        {
            var model = new DependenteEdicaoModel();

            try
            {
                //buscar o dependente no banco de dados atraves do id
                var dependente = dependenteRepository.ObterPorId(id);

                //verificar se o funcionário foi encontrado
                if (dependente != null)
                {
                    model.IdDependente        = dependente.IdDependente;
                    model.Nome                = dependente.Nome;
                    model.DataNascimento      = dependente.DataNascimento.ToString("dd/MM/yyyy");
                    model.IdFuncionario       = dependente.IdFuncionario.ToString();
                    model.ListaDeFuncionarios = ObterListaDeFuncionarios(funcionarioRepository);
                }
                else
                {
                    TempData["MensagemErro"] = "Dependente não foi encontrado.";
                }
            }
            catch (Exception e)
            {
                TempData["Mensagem"] = "Erro: " + e.Message;
            }

            //enviando o objeto para a página
            return(View(model));
        }
        public HttpResponseMessage Put(DependenteEdicaoModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Dependente dependente = new Dependente();
                    dependente.IdDependente   = model.IdDependente;
                    dependente.Nome           = model.Nome;
                    dependente.DataNascimento = model.DataNascimento;
                    dependente.IdFuncionario  = model.IdFuncionario;

                    DependenteRepository repository = new DependenteRepository();
                    repository.Alterar(dependente);

                    return(Request.CreateResponse(HttpStatusCode.OK, "Dependente alterado com sucesso."));
                }
                catch (Exception e)
                {
                    // Internal server error -> status http 500
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message));
                }
            }
            else
            {
                // bad request -> status http 400
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Ocorreram erros de validação"));
            }
        }
        [HttpPost] //recebe o SUBMIT do formulário
        public IActionResult Cadastro(DependenteCadastroModel model,
                                      [FromServices] FuncionarioRepository funcionarioRepository,
                                      [FromServices] DependenteRepository dependenteRepository)
        {
            if (ModelState.IsValid) //verifica se todos os campos passaram nas validações
            {
                try
                {
                    var dependente = new Dependente();
                    dependente.Nome           = model.Nome;
                    dependente.DataNascimento = DateTime.Parse(model.DataNascimento);
                    dependente.IdFuncionario  = int.Parse(model.IdFuncionario);

                    dependenteRepository.Inserir(dependente);

                    TempData["MensagemSucesso"] = "Dependente cadastrado com sucesso.";
                    ModelState.Clear(); //limpar o formulário
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = "Erro: " + e.Message;
                }
            }

            var result = new DependenteCadastroModel();

            result.ListaDeFuncionarios = ObterListaDeFuncionarios(funcionarioRepository);

            return(View(result)); //enviando os dados para a página
        }
示例#5
0
        public HttpResponseMessage Get()
        {
            try
            {
                List <DependenteConsultaModel> lista = new List <DependenteConsultaModel>();

                //Consultando os Dependentes no banco de dados
                DependenteRepository repository = new DependenteRepository();
                foreach (var item in repository.ObterTodos())
                {
                    DependenteConsultaModel model = new DependenteConsultaModel();
                    model.IdDependente   = item.IdDependente;
                    model.Nome           = item.Nome;
                    model.DataNascimento = item.DataNascimento;
                    model.IdFuncionario  = item.IdFuncionario;

                    lista.Add(model); //adicionar na lista
                }

                return(Request.CreateResponse(HttpStatusCode.OK, lista));
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message));
            }
        }
示例#6
0
        //método de ação para excluir dependente
        public IActionResult Exclusao(int id, [FromServices] DependenteRepository dependenteRepository)
        {
            try
            {
                var dependente = dependenteRepository.GetById(id);

                //verificar se o cliente foi obtido no banco de dados
                if (dependente != null)
                {
                    //excluindo o cliente
                    dependenteRepository.Delete(dependente);
                    TempData["MensagemSucesso"] = "Dependente excluído com sucesso.";
                }
                else
                {
                    throw new Exception("Dependente não encontrado.");
                }
            }
            catch (Exception e)
            {
                TempData["MensagemErro"] = "Erro: " + e.Message;
            }

            //redirecionar de volta para a página de consulta.
            return(RedirectToAction("Consulta"));
        }
示例#7
0
        public IActionResult Cadastro(DependenteCadastroModel model, [FromServices] DependenteRepository dependenteRepository, [FromServices] ClienteRepository clienteRepository)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var dependente = new Dependente();
                    dependente.Nome           = model.Nome;
                    dependente.DataNascimento = DateTime.Parse(model.DataNascimento);
                    dependente.IdCliente      = Convert.ToInt32(model.IdCliente);

                    dependenteRepository.Create(dependente);

                    TempData["MensagemSucesso"] = "Dependente cadastrado com sucesso.";
                    ModelState.Clear(); //limpar os campos do formulário
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = "Erro: " + e.Message;
                }
            }

            var result = GetDependenteCadastroModel(clienteRepository);

            return(View(result));
        }
示例#8
0
        [HttpPost] //método recebe o SUBMIT do formulário
        public IActionResult Edicao(DependenteEdicaoModel model, [FromServices] DependenteRepository dependenteRepository, [FromServices] ClienteRepository clienteRepository)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var dependente = new Dependente();

                    dependente.IdDependente   = Convert.ToInt32(model.IdDependente);
                    dependente.Nome           = model.Nome;
                    dependente.DataNascimento = DateTime.Parse(model.DataNascimento);
                    dependente.IdCliente      = Convert.ToInt32(model.IdCliente);

                    //atualizando no banco de dados
                    dependenteRepository.Update(dependente);

                    TempData["MensagemSucesso"] = "Dependente atualizado com sucesso.";
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = "Erro: " + e.Message;
                }
            }
            var result = GetDependenteEdicaoModel(clienteRepository);

            return(View(result));
        }
        public IActionResult Exclusao(int id,                                                   //parametro passado na URL (querystring)
                                      [FromServices] DependenteRepository dependenteRepository) //injeção de dependência
        {
            try
            {
                //buscar o dependente no banco de dados atraves do id
                var dependente = dependenteRepository.ObterPorId(id);

                //verificando o dependente foi encontrado
                if (dependente != null)
                {
                    //excluindo o dependente
                    dependenteRepository.Excluir(dependente);
                    TempData["MensagemSucesso"] = "Dependente excluído com sucesso.";
                }
                else
                {
                    TempData["MensagemErro"] = "Dependente não encontrado.";
                }
            }
            catch (Exception e)
            {
                TempData["MensagemErro"] = "Erro: " + e.Message;
            }

            //redirecionamento
            return(RedirectToAction("Consulta"));
        }
        public void CreateDependenteRepositoryTest()
        {
            //Arrange
            Dependente p = ObjectMother.GetDependente();
            IDependenteRepository repository = new DependenteRepository();

            //Action
            Dependente newDependente = repository.Save(p);

            //Assert
            Assert.IsTrue(newDependente.Id > 0);
        }
示例#11
0
        //método de ação para consultar dependente
        public IActionResult Consulta([FromServices] DependenteRepository dependenteRepository)
        {
            var dependentes = new List <Dependente>();

            try
            {
                dependentes = dependenteRepository.GetAll();
            }
            catch (Exception e)
            {
                TempData["MensagemErro"] = "Erro: " + e.Message;
            }

            return(View(dependentes));
        }
        public void DeleteDependenteRepositoryTest()
        {
            //Arrange
            IDependenteRepository repository = new DependenteRepository();

            //Action
            var deletedDependente= repository.Delete(1);

            //Assert
            var persistedDependente = _contextForTest.Dependentes.Find(1);
            Assert.IsNull(persistedDependente);

            //Assert - utilizando o Framework FluentAssertions
            //Apenas um exemplo didático (NÃO CAI NA PROVA)
            //persistedPost.Should().BeNull();
        }
示例#13
0
        public HttpResponseMessage Delete(int id)
        {
            try
            {
                DependenteRepository repository = new DependenteRepository();
                Dependente           dependente = repository.ObterPorId(id);

                //excluindo
                repository.Excluir(dependente);

                return(Request.CreateResponse(HttpStatusCode.OK, "Dependente excluído com sucesso."));
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message));
            }
        }
        [HttpPost]                                                                              //recebe a requisição do formulário
        public IActionResult Consulta(DependenteConsultaModel model,                            //dados do formulário
                                      [FromServices] DependenteRepository dependenteRepository) //injeção de dependência
        {
            if (ModelState.IsValid)                                                             //validação da model
            {
                try
                {
                    model.Dependentes = dependenteRepository.Consultar(model.Nome);
                }
                catch (Exception e)
                {
                    TempData["MensagemErro"] = "Erro: " + e.Message;
                }
            }

            //enviando a model..
            return(View(model));
        }
        public void RetrieveDependenteRepositoryTest()
        {
            //Arrange
            IDependenteRepository repository = new DependenteRepository();

            //Action
            Dependente dependente = repository.Get(1);

            //Assert
            Assert.IsNotNull(dependente);
            Assert.IsTrue(dependente.Id > 0);
            Assert.IsFalse(string.IsNullOrEmpty(dependente.Nome));
               // Assert.IsFalse(string.IsNullOrEmpty(dependente.DataNascimento));

            //Assert - utilizando o Framework FluentAssertions
            //Apenas um exemplo didático (NÃO CAI NA PROVA)
            //blog.Should().NotBeNull();
            //blog.ShouldBeEquivalentTo(ObjectMother.GetBlog(), options => options.Excluding(b => b.Id));
        }
示例#16
0
        //método de ação para abrir a página de edição de dependente
        public IActionResult Edicao(int id, [FromServices] DependenteRepository dependenteRepository, [FromServices] ClienteRepository clienteRepository)
        {
            //criando um objeto da classe model
            var model = GetDependenteEdicaoModel(clienteRepository);

            try
            {
                //buscando o cliente no banco de dados pelo id
                var dependente = dependenteRepository.GetById(id);

                //transferir os dados do cliente para a model
                model.IdDependente   = dependente.IdDependente;
                model.Nome           = dependente.Nome;
                model.DataNascimento = dependente.DataNascimento.ToString("dd/MM/yyyy");
                model.IdCliente      = dependente.IdCliente;
            }
            catch (Exception e)
            {
                TempData["MensagemErro"] = e.Message;
            }
            return(View(model)); //abrir uma página
        }
示例#17
0
 public DependenteBusiness()
 {
     repository = new DependenteRepository();
 }
        public void UpdateDependenteRepositoryTest()
        {
            //Arrange
            IDependenteRepository repository = new DependenteRepository();
            Funcionario funcionario = _contextForTest.Funcionarios.Find(2);
            funcionario.Nome = "Teste";
            funcionario.DataAdmissao = DateTime.Now;
            funcionario.DataNascimento = new DateTime(1970, 06, 01, 0, 0, 0);
            funcionario.Cpf = "902901920192";
            funcionario.Funcao = "Programador";

            Dependente dependente = _contextForTest.Dependentes.Find(1);
            dependente.Nome = "blabla";
             dependente.DataNascimento = new DateTime(2015, 06, 01, 0, 0, 0);
             dependente.Cpf = "90909090";

            dependente.Funcionario = funcionario;

            //Action
            var updatedDependente = repository.Update(dependente);

            //Assert
            var persistedDependente= _contextForTest.Dependentes.Find(1);
            Assert.IsNotNull(updatedDependente);
            Assert.AreEqual(updatedDependente.Id, persistedDependente.Id);
            Assert.AreEqual(updatedDependente.Nome, persistedDependente.Nome);
            Assert.AreEqual(updatedDependente.DataNascimento, persistedDependente.DataNascimento);
            Assert.AreEqual(updatedDependente.Cpf, persistedDependente.Cpf);
            Assert.AreEqual(updatedDependente.Funcionario, persistedDependente.Funcionario);

            //Assert - utilizando o Framework FluentAssertions
            //Apenas um exemplo didático (NÃO CAI NA PROVA)
            // updatedBlog.Should().NotBeNull();
            //updatedBlog.ShouldBeEquivalentTo(persistedBlog);
        }