/// <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)); } }
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")); }
/// <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)); }
/// <summary> /// Chama a tela para visualizar uma aaxa de entrega /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Visualizar(Guid id) { //Se não tiver login, encaminhar para a tela de login if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao)) { return(RedirectToAction("Login", "Usuario")); } //Model a ser populada TaxaEntregaModel model = new TaxaEntregaModel(); string mensagemRetorno = ""; //Obtem a taxa de entrega pelo ID if (!this.ObterTaxaEntrega(id, ref model, ref mensagemRetorno)) { ViewBag.Mensagem = mensagemRetorno; return(View("Erro")); } TempData["Retorno"] = "VISUALIZANDO"; //Chamar a view return(View(model)); }