public ActionResult Editar(ContaReceberModel 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 uma conta é necessário " + $"logar com um contaReceber administrador."; return(View("SemPermissao")); } //Valida a entidade recebida if (!ModelState.IsValid) { return(View(model)); } //Converte para DTO ContaReceberDto contaReceberDto = new ContaReceberDto(); string mensagemErro = ""; if (!model.ConverterModelParaDto(ref contaReceberDto, ref mensagemErro)) { ViewBag.Mensagem = mensagemErro; return(View("Erro")); } //Preparar requisição e retorno RetornoDto retorno = new RetornoDto(); RequisicaoEntidadeDto <ContaReceberDto> requisicaoDto = new RequisicaoEntidadeDto <ContaReceberDto>() { EntidadeDto = contaReceberDto, Identificacao = SessaoUsuario.SessaoLogin.Identificacao, IdUsuario = SessaoUsuario.SessaoLogin.IdUsuario }; //Consumir o serviço ContaReceberBll contaReceberBll = new ContaReceberBll(true); contaReceberBll.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 conta a receber return(RedirectToAction("Index")); }
public ActionResult Incluir(ContaReceberModel 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)); } //Converter para DTO ContaReceberDto contaReceberDto = new ContaReceberDto(); string mensagemErro = ""; if (!model.ConverterModelParaDto(ref contaReceberDto, ref mensagemErro)) { ModelState.AddModelError("Servico", $"Erro ao converter para Dto: {mensagemErro}"); return(View(model)); } contaReceberDto.Id = Guid.NewGuid(); //Preparar requisição e retorno RetornoDto retorno = new RetornoDto(); RequisicaoEntidadeDto <ContaReceberDto> requisicaoDto = new RequisicaoEntidadeDto <ContaReceberDto>() { EntidadeDto = contaReceberDto, Identificacao = SessaoUsuario.SessaoLogin.Identificacao, IdUsuario = SessaoUsuario.SessaoLogin.IdUsuario }; //Consumir o serviço ContaReceberBll contaReceberBll = new ContaReceberBll(true); contaReceberBll.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")); }
/// <summary> /// Converte uma conta de Model para Dto /// </summary> /// <param name="contaReceberDto"></param> /// <param name="mensagemErro"></param> /// <returns></returns> public bool ConverterModelParaDto(ref ContaReceberDto contaReceberDto, ref string mensagemErro) { if (!base.ConverterModelParaDto(contaReceberDto, ref mensagemErro)) { return(false); } try { contaReceberDto.IdPedido = this.IdPedido; return(true); } catch (Exception ex) { mensagemErro = ex.Message; return(false); } }