Ejemplo n.º 1
0
        /// <summary>
        /// Obtem uma taxa de entrega  e converte em Model
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        private bool ObterTaxaEntrega(Guid id, ref TaxaEntregaModel model, ref string mensagemErro)
        {
            //Preparar a requisição e o retorno
            RetornoObterDto <TaxaEntregaDto> retorno = new RetornoObterDto <TaxaEntregaDto>();
            RequisicaoObterDto requisicaoDto         = new RequisicaoObterDto()
            {
                Id            = id,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            TaxaEntregaBll produtoBll = new TaxaEntregaBll(true);

            produtoBll.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));
            }
        }
Ejemplo n.º 2
0
        public void ObterIncluirEditarListaTaxas()
        {
            BaseRequisicaoDto requisicaoDto = new BaseRequisicaoDto();

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);

            // Obter a lista
            RetornoObterListaDto <TaxaEntregaDto> retornoDto = new RetornoObterListaDto <TaxaEntregaDto>();

            taxaEntregaBll.ObterListaBairrosComTaxa(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            RequisicaoListaEntidadesDto <TaxaEntregaDto> requisicaoIncluirDto = new RequisicaoListaEntidadesDto <TaxaEntregaDto>()
            {
                Identificacao     = requisicaoDto.Identificacao,
                IdUsuario         = requisicaoDto.IdUsuario,
                ListaEntidadesDto = retornoDto.ListaEntidades
            };

            RetornoDto retornoIncluirDto = new RetornoDto();

            taxaEntregaBll.IncluirEditarLista(requisicaoIncluirDto, ref retornoIncluirDto);
            Assert.AreEqual(true, retornoDto.Retorno);
        }
Ejemplo n.º 3
0
        public ActionResult ConfigurarTaxas(List <TaxaEntregaModel> model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

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

            string mensagemErro             = "";
            List <TaxaEntregaDto> listaDtos = new List <TaxaEntregaDto>();

            //Converter para DTO
            foreach (var taxa in model)
            {
                TaxaEntregaDto produtoDto = new TaxaEntregaDto();
                if (!taxa.ConverterModelParaDto(ref produtoDto, ref mensagemErro))
                {
                    ModelState.AddModelError("", $"Erro ao converter para Dto: {mensagemErro}");
                    return(View(model));
                }

                listaDtos.Add(produtoDto);
            }

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();
            RequisicaoListaEntidadesDto <TaxaEntregaDto> requisicaoDto = new RequisicaoListaEntidadesDto <TaxaEntregaDto>()
            {
                ListaEntidadesDto = listaDtos,
                Identificacao     = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario         = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            TaxaEntregaBll produtoBll = new TaxaEntregaBll(true);

            produtoBll.IncluirEditarLista(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"));
        }
Ejemplo n.º 4
0
        public void CrudTaxaEntrega()
        {
            RequisicaoEntidadeDto <TaxaEntregaDto> requisicaoDto = new RequisicaoEntidadeDto <TaxaEntregaDto>()
            {
                EntidadeDto = RetornarNovoTaxaEntrega()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);

            // Incluir
            RetornoDto retornoDto = new RetornoDto();

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

            // Editar
            requisicaoDto.EntidadeDto.BairroCidade = "Outro bairro";
            taxaEntregaBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

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

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

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

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

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

            // Excluir
            taxaEntregaBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);
        }
Ejemplo n.º 5
0
        public ActionResult Editar(TaxaEntregaModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

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

            //Converte para DTO
            TaxaEntregaDto taxaEntregaDto = new TaxaEntregaDto();
            string         mensagemErro   = "";

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

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

            //Consumir o serviço
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);

            taxaEntregaBll.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 da taxa de entrega
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 6
0
        public ActionResult ExcluirTaxaEntrega(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 uma  taxa de entrega é necessário " +
                                       $"logar com um administrador.";
                return(View("SemPermissao"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.Mensagem = "Este usuario não tem permissão para excluir outros uma taxa de entrega.";
                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
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);

            taxaEntregaBll.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 taxaEntrega
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Chama a tela para incluir/alterar uma lista de taxas de entrega
        /// </summary>
        /// <returns></returns>
        public ActionResult ConfigurarTaxas()
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            //Taxas a serem incluídas
            List <TaxaEntregaModel> model          = new List <TaxaEntregaModel>();
            TaxaEntregaBll          taxaEntregaBll = new TaxaEntregaBll(false);
            BaseRequisicaoDto       requisicaoDto  = new BaseRequisicaoDto()
            {
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            // Obter a lista com bairros e taxas
            RetornoObterListaDto <TaxaEntregaDto> retornoDto = new RetornoObterListaDto <TaxaEntregaDto>();

            if (!taxaEntregaBll.ObterListaBairrosComTaxa(requisicaoDto, ref retornoDto))
            {
                ViewBag.MensagemErro = retornoDto.Mensagem;
                return(View("Erro"));
            }

            // Converter e add a lista da model
            string mensagemErro = "";

            foreach (var tax in retornoDto.ListaEntidades)
            {
                TaxaEntregaModel taxaModel = new TaxaEntregaModel();
                if (!taxaModel.ConverterDtoParaModel(tax, ref mensagemErro))
                {
                    ViewBag.MensagemErro = mensagemErro;
                    return(View("Erro"));
                }

                model.Add(taxaModel);
            }

            TempData["Retorno"] = "INCLUINDO";

            //Chamar a view
            return(View(model));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Obtem a taxa de entrega de um bairro
        /// </summary>
        /// <param name="bairro"></param>
        /// <returns></returns>
        public string ObterTaxaPorBairro(string bairroCidade)
        {
            RequisicaoObterTaxaPorBairroDto requisicaoDto = new RequisicaoObterTaxaPorBairroDto()
            {
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                BairroCidade  = bairroCidade
            };

            // Consumir o serviço
            RetornoObterDto <TaxaEntregaDto> retornoDto = new RetornoObterDto <TaxaEntregaDto>();
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);

            taxaEntregaBll.ObterTaxaPorBairro(requisicaoDto, ref retornoDto);

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

            return(retorno);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Obtem uma listra filtrada de taxas de entrega
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosTaxaEntregaModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = string.IsNullOrWhiteSpace(filtros.CampoOrdenacao) ? "" : filtros.CampoOrdenacao.Trim(),
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

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

            if (filtros.TaxaInicial > 0)
            {
                requisicaoDto.ListaFiltros.Add("VALORTAXAMAIOR", filtros.TaxaInicial.ToString());
            }

            if (filtros.TaxaFinal > 0)
            {
                requisicaoDto.ListaFiltros.Add("VALORTAXAMENOR", filtros.TaxaFinal.ToString());
            }

            //Consumir o serviço
            TaxaEntregaBll taxaEntregaBll = new TaxaEntregaBll(true);
            RetornoObterListaDto <TaxaEntregaDto> retornoDto = new RetornoObterListaDto <TaxaEntregaDto>();

            taxaEntregaBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

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

            return(retorno);
        }