/// <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)); } }
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); }
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")); }
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); }
/// <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); }
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")); }
public wsFornecedor() { objFornecedorBll = FactoryBll.criarFornecedorBll(); }
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")); }