Пример #1
0
        /// <summary>
        /// Obtem um fornecedor e converte em Model
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        private bool ObterFornecedor(Guid id, ref FornecedorModel model, ref string mensagemErro)
        {
            //Preparar a requisição e o retorno
            RetornoObterDto <FornecedorDto> retorno = new RetornoObterDto <FornecedorDto>();
            RequisicaoObterDto requisicaoDto        = new RequisicaoObterDto()
            {
                Id            = id,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            FornecedorBll fornecedorBll = new FornecedorBll(true);

            fornecedorBll.Obter(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                mensagemErro = retorno.Mensagem;
                return(false);
            }
            else
            {
                //Converter para Model
                return(model.ConverterDtoParaModel(retorno.Entidade, ref mensagemErro));
            }
        }
Пример #2
0
        public void TestarInclusaoComFalha()
        {
            RequisicaoEntidadeDto <FornecedorDto> requisicaoDto = new RequisicaoEntidadeDto <FornecedorDto>()
            {
                EntidadeDto = RetornarNovoFornecedor()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            FornecedorBll fornecedorBll = new FornecedorBll(true);

            requisicaoDto.EntidadeDto.Id = Guid.Empty;

            // Incluir com id inválido
            RetornoDto retornoDto = new RetornoDto();

            fornecedorBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(false, retornoDto.Retorno);
            Assert.AreEqual("O ID da entidade é obrigatório!", retornoDto.Mensagem);

            requisicaoDto.EntidadeDto.Id = Guid.NewGuid();

            // Incluir com código malicioso
            requisicaoDto.EntidadeDto.NomeFantasia = "";

            retornoDto = new RetornoDto();
            fornecedorBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(false, retornoDto.Retorno);
            Assert.AreEqual("O ID da entidade é obrigatório!", retornoDto.Mensagem);
        }
Пример #3
0
        public ActionResult Editar(FornecedorModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.MensagemErro = "Para editar um fornecedor é necessário " +
                                       $"logar com um fornecedor administrador.";
                return(View("SemPermissao"));
            }

            //Valida a entidade recebida
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //Converte para DTO
            FornecedorDto fornecedorDto = new FornecedorDto();
            string        mensagemErro  = "";

            if (!model.ConverterModelParaDto(ref fornecedorDto, ref mensagemErro))
            {
                ViewBag.MensagemErro = mensagemErro;
                return(View("Erro"));
            }

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();
            RequisicaoEntidadeDto <FornecedorDto> requisicaoDto = new RequisicaoEntidadeDto <FornecedorDto>()
            {
                EntidadeDto   = fornecedorDto,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            FornecedorBll fornecedorBll = new FornecedorBll(true);

            fornecedorBll.Editar(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                ModelState.AddModelError("", retorno.Mensagem);
                return(View(model));
            }

            TempData["Retorno"] = "ALTERADO";

            //Voltar para o visualizar do fornecedor
            return(RedirectToAction("Index"));
        }
Пример #4
0
        public void CrudFornecedor()
        {
            RequisicaoEntidadeDto <FornecedorDto> requisicaoDto = new RequisicaoEntidadeDto <FornecedorDto>()
            {
                EntidadeDto = RetornarNovoFornecedor()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            FornecedorBll fornecedorBll = new FornecedorBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

            fornecedorBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Editar
            requisicaoDto.EntidadeDto.NomeFantasia = "Fornecedor atualizado " + DateTime.Now;
            fornecedorBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Obter
            RetornoObterDto <FornecedorDto> retornoObterDto = new RetornoObterDto <FornecedorDto>();
            RequisicaoObterDto requisicaoObterDto           = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            fornecedorBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Obter lista
            RequisicaoObterListaDto requisicaoObterListaDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOMEFANTASIA",
                IdUsuario            = requisicaoDto.IdUsuario,
                Identificacao        = requisicaoDto.Identificacao,
                NumeroItensPorPagina = 2,
                Pagina = 1
            };

            RetornoObterListaDto <FornecedorDto> retornoObterListaDto = new RetornoObterListaDto <FornecedorDto>();

            fornecedorBll.ObterListaFiltrada(requisicaoObterListaDto, ref retornoObterListaDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            // Excluir
            fornecedorBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
Пример #5
0
        /// <summary>
        /// Obtem uma listra filtrada de fornecedores
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosFornecedorModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "NOMEFANTASIA",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (!string.IsNullOrWhiteSpace(filtros.NomeFantasia))
            {
                requisicaoDto.ListaFiltros.Add("NOMEFANTASIA", filtros.NomeFantasia.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.RazaoSocial))
            {
                requisicaoDto.ListaFiltros.Add("RAZAOSOCIAL", filtros.RazaoSocial.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.Cnpj))
            {
                requisicaoDto.ListaFiltros.Add("CNPJ", filtros.Cnpj.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.NomeFantasiaCnpj))
            {
                requisicaoDto.ListaFiltros.Add("NOMEFANTASIACNPJ", filtros.NomeFantasiaCnpj.Trim());
            }

            //Consumir o serviço
            FornecedorBll fornecedorBll = new FornecedorBll(true);
            RetornoObterListaDto <FornecedorDto> retornoDto = new RetornoObterListaDto <FornecedorDto>();

            fornecedorBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Пример #6
0
        public ActionResult ExcluirFornecedor(ExclusaoModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.MensagemErro = "Para excluir um fornecedor é necessário " +
                                       $"logar com um fornecedor administrador.";
                return(View("SemPermissao"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.Mensagem = "Este fornecedor não tem permissão para excluir outros fornecedores.";
                return(View("Erro"));
            }

            //Preparar requisição e retorno
            RetornoDto         retorno       = new RetornoDto();
            RequisicaoObterDto requisicaoDto = new RequisicaoObterDto()
            {
                Id            = model.Id,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            FornecedorBll fornecedorBll = new FornecedorBll(true);

            fornecedorBll.Excluir(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                ModelState.AddModelError("", retorno.Mensagem);
                return(View("Excluir", model));
            }

            TempData["Retorno"] = "EXCLUIDO";

            //Voltar para a index de fornecedor
            return(RedirectToAction("Index"));
        }
Пример #7
0
 public wsFornecedor()
 {
     objFornecedorBll = FactoryBll.criarFornecedorBll();
 }
Пример #8
0
        public ActionResult Incluir(FornecedorModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            // Validar inclusão do endereço
            Dictionary <string, string> errosEndereco = new Dictionary <string, string>();

            if (!Utilidades.ValidarEndereco(model.Endereco, ref errosEndereco))
            {
                foreach (var erro in errosEndereco)
                {
                    ModelState.AddModelError(erro.Key, erro.Value);
                }
            }

            //Validar a model recebida
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //Converter para DTO
            FornecedorDto fornecedorDto = new FornecedorDto();
            string        mensagemErro  = "";

            if (!model.ConverterModelParaDto(ref fornecedorDto, ref mensagemErro))
            {
                ModelState.AddModelError("", $"Erro ao converter para Dto: {mensagemErro}");
                return(View(model));
            }

            fornecedorDto.Id = Guid.NewGuid();

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();
            RequisicaoEntidadeDto <FornecedorDto> requisicaoDto = new RequisicaoEntidadeDto <FornecedorDto>()
            {
                EntidadeDto   = fornecedorDto,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            FornecedorBll fornecedorBll = new FornecedorBll(true);

            fornecedorBll.Incluir(requisicaoDto, ref retorno);

            //Verificar o retorno
            if (retorno.Retorno == false)
            {
                //Se houver erro, exibir na tela de inclusão
                ModelState.AddModelError("", retorno.Mensagem);
                return(View(model));
            }

            TempData["Retorno"] = "INCLUIDO";

            //Retornar para index
            return(RedirectToAction("Index"));
        }