public ActionResult editar(TipoMaterialApoioForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            bool flagSucesso = this.OTipoMaterialApoioBL.salvar(ViewModel.TipoMaterialApoio);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso", "Os dados foram salvos com sucesso."));

                return(RedirectToAction("listar"));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não foi possível salvar as informações, tente novamente."));

            return(View(ViewModel));
        }
示例#2
0
        public ActionResult editar(AssociadoAbrangenciaForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(ViewModel));
            }

            bool flagSalvo = this.OAssociadoAbrangenciaBL.salvar(ViewModel.AssociadoAbrangencia);

            if (flagSalvo)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso", "Os dados foram salvos com sucesso."));
            }
            else
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não foi possível salvar as informações, tente novamente."));
            }

            return(Json(new{ flagSucesso = flagSalvo }));
        }
        public ActionResult editar(OcorrenciaRelacionamentoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            bool flagSucesso = this.OOcorrenciaRelacionamentoPadraoBL.salvar(ViewModel.OcorrenciaRelacionamento);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso", "Os dados foram salvos com sucesso."));
            }
            else
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não foi possível salvar as informações, tente novamente."));
            }

            return(RedirectToAction("editar", new { id = ViewModel.OcorrenciaRelacionamento.id }));
        }
        public ActionResult editar(DetalheTipoCategoriaTituloForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            bool flagSucesso = this.ODetalheTipoCategoriaTituloBL.salvar(ViewModel.DetalheTipoCategoriaTitulo);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados foram salvos com sucesso."));

                return(RedirectToAction("editar", new { ViewModel.DetalheTipoCategoriaTitulo.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve um problema ao salvar o registro. Tente novamente."));

            return(View(ViewModel));
        }
示例#5
0
        public ActionResult salvar(ConfiguracaoDadosAssociadoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("Index", ViewModel));
            }

            var flagSucesso = this.OrganizacaoDadosAssociadoBL.salvar(ViewModel.OrganizacaoDadosAssociado);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "As configurações foram salvas com sucesso."));

                return(RedirectToAction("Index"));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve algum problema ao salvar as configurações."));

            return(View("Index", ViewModel));
        }
示例#6
0
        public ActionResult editar(MotivoDesligamentoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            bool flagSucesso = this.OMotivoDesligamentoBL.salvar(ViewModel.MotivoDesligamento);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados forma salvos com sucesso."));

                return(RedirectToAction("editar", new { id = ViewModel.MotivoDesligamento.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve um problema ao salvar o registro. Tente novamente."));

            return(View(ViewModel));
        }
示例#7
0
        public ActionResult editar(MeioDivulgacaoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            bool flagSucesso = this.OMeioDivulgacaoBL.salvar(ViewModel.MeioDivulgacao);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados foram salvos com sucesso."));

                return(RedirectToAction("listar"));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve um problema ao salvar o registro. Tente novamente."));

            return(View(ViewModel));
        }
示例#8
0
        public ActionResult salvarFormCampo(AssociadoCampoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("modal-form-campo", ViewModel));
            }

            bool flagSucesso = OConfiguracaoAssociadoCampoBL.salvar(ViewModel.AssociadoCampo);

            if (ViewModel.idCampoClone > 0 && flagSucesso)
            {
                var idCampo = UtilNumber.toInt32(ViewModel.idCampoClone);

                var flagExisteOCampoClone = this.OConfiguracaoAssociadoCampoBL.carregar(idCampo, ViewModel.AssociadoCampo.idOrganizacao);

                if (flagExisteOCampoClone == null)
                {
                    return(Json(new { error = false, ViewModel.AssociadoCampo.idTipoCampoCadastro, message = "Os dados foram salvos com sucesso." }));
                }

                this.OConfiguracaoAssociadoCampoOpcaoBL.clonarOpcoesCampo(idCampo, ViewModel.AssociadoCampo.id);

                this.OConfiguracaoAssociadoCampoPropriedadeBL.clonarPropriedadesCampo(idCampo, ViewModel.AssociadoCampo.id);

                return(Json(new { error = false, ViewModel.AssociadoCampo.idTipoCampoCadastro, message = "Os dados foram salvos com sucesso." }));
            }


            if (flagSucesso)
            {
                CacheService.getInstance.remover("lista_campos_associado");

                CacheService.getInstance.remover("lista_grupos_campos_associado");

                return(Json(new { error = false, ViewModel.AssociadoCampo.idTipoCampoCadastro, message = "Os dados foram salvos com sucesso." }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha!", "Não foi possível salvar o registro."));

            return(PartialView("modal-form-campo", ViewModel));
        }
示例#9
0
        public ActionResult editar(NoticiaForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            ViewModel.Noticia.idTipoNoticia = TipoNoticiaConst.ARTIGO;

            bool flagSucesso = this.ONoticiaBL.salvar(ViewModel.Noticia, ViewModel.OArquivo, ViewModel.OArquivoPDF);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados foram salvos com sucesso."));
                return(RedirectToAction("editar", new { id = ViewModel.Noticia.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve um problema ao salvar o registro. Tente novamente."));

            return(View(ViewModel));
        }
示例#10
0
        public ActionResult editar(MacroContaForm ViewModel)
        {
            ViewModel.listaCentroCusto = this.OCentroCustoBL.listar("", true).ToList();

            if (!ModelState.IsValid)
            {
                ViewModel.carregarCheckboxes();

                return(View(ViewModel));
            }

            bool flagSucesso = this.OMacroContaBL.salvar(ViewModel.MacroConta);

            if (flagSucesso)
            {
                var idsSelecionados = ViewModel.listaSelecionados.Where(x => x.isChecked)
                                      .Select(x => x.id)
                                      .ToArray();

                var listaMacroContaCentroCusto = ViewModel.listaCentroCusto
                                                 .Where(x => idsSelecionados.Contains(x.id))
                                                 .Select(o => new CentroCustoMacroConta()
                {
                    idMacroConta = ViewModel.MacroConta.id, idCentroCusto = o.id
                })
                                                 .ToList();

                this.OCentroCustoMacroContaBL.salvar(ViewModel.MacroConta.id, 0, listaMacroContaCentroCusto);

                CacheService.getInstance.limparCacheOrganizacao(null, MacroContaBL.keyCache);

                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados foram salvos com sucesso."));

                return(RedirectToAction("editar", new { ViewModel.MacroConta.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve um problema ao salvar o registro. Tente novamente."));

            return(View(ViewModel));
        }
        public ActionResult editar(AssociacaoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            ViewModel.Associacao.Pessoa.idTipoDocumento = TipoDocumentoConst.CNPJ;
            ViewModel.Associacao.Pessoa.flagTipoPessoa  = "J";

            var flagSucesso = this.OAssociacaoBL.salvar(ViewModel.Associacao, ViewModel.Logotipo);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso", "Os dados da Associacao foram salvos com sucesso."));

                return(RedirectToAction("editar", new { ViewModel.Associacao.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Houve um problema ao salvar o registro. Tente novamente."));
            return(View(ViewModel));
        }
        public ActionResult salvar(TipoContatoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("modal-form-cadastro", ViewModel));
            }

            var flagSucesso = this.OTipoContatoCadastroBL.salvar(ViewModel.TipoContato);

            if (flagSucesso)
            {
                if (ViewModel.flagRecarregar)
                {
                    this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados do tipo de contato foram salvos com sucesso."));
                }

                return(Json(new { error = false, ViewModel.flagRecarregar, ViewModel.idComboSelecionar, ViewModel.TipoContato.id, ViewModel.TipoContato.descricao }, JsonRequestBehavior.AllowGet));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve algum problema ao salvar o tipo de contato."));

            return(View("modal-form-cadastro", ViewModel));
        }
        /// <summary>
        ///
        /// </summary>
        public ActionResult atualizar(int idMembro)
        {
            var Item = Consulta.query().FirstOrDefault(x => x.valorSaldoAtual != x.valorSaldoMovimento && x.idMembro == idMembro);

            if (Item == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha!", "O registro informado não possui inconsistências."));

                return(RedirectToAction("listar"));
            }

            var dtAtualizacao = DateTime.Now;

            Saldo.atualizarOuInserir(new int[] { Item.idMembro }, x => new MembroSaldo {
                saldoAtual = Item.valorSaldoMovimento, dtAtualizacaoSaldo = dtAtualizacao
            });

            MovimentoCadastro.atualizarSincronizacao(new int[] { Item.idMembro }, dtAtualizacao);

            this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Operação Concluída!", "A sincronização de saldo foi realizada com sucesso!"));

            return(RedirectToAction("listar"));
        }
示例#14
0
        public ActionResult salvarPedido(PedidoCadastroForm ViewModel)
        {
            var OPedidoTemp = this.OPedidoTempBL.carregar(Session.SessionID);

            // Preencher os dados financeiros da tabela temporária
            OPedidoTemp = ViewModel.prencherDadosFinanceiros(OPedidoTemp);

            // Preencher os dados de agendamento/limite de entrega da tabela temporária
            OPedidoTemp = ViewModel.prencherDadosDataEntrega(OPedidoTemp);


            this.OPedidoTempBL.salvar(OPedidoTemp);

            // Validados dados do pedido
            var OPedidoValidacaoVM = new PedidoCadastroValidacaoVM();
            var ORetorno           = OPedidoValidacaoVM.validar(OPedidoTemp);

            if (ORetorno.flagError)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", ORetorno.listaErros.FirstOrDefault()));

                return(RedirectToAction("index"));
            }

            var OPedidoGerado = this.OPedidoCadastroBL.salvar(OPedidoTemp);

            if (OPedidoGerado.id > 0)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "O pedido foi criado com sucesso."));

                return(RedirectToAction("index", "PedidoDetalhes", new { OPedidoGerado.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve algum problema ao gerar o pedido. Tente novamente mais tarde."));

            return(RedirectToAction("index"));
        }
示例#15
0
        public ActionResult editar(ProdutoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            ViewModel.Produto.valor = ViewModel.Produto.flagCortesia == true ? new decimal(0) : ViewModel.Produto.valor;

            bool flagSucesso = this.OProdutoBL.salvar(ViewModel.Produto, ViewModel.OImagem);

            if (flagSucesso)
            {
                this.OProdutoTipoAssociadoBL.salvar(ViewModel.Produto.id, ViewModel.listaIdsTipoAssociado);

                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso", "Os dados foram salvos com sucesso."));

                return(RedirectToAction("editar", new { id = ViewModel.Produto.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não foi possível salvar as informações, tente novamente."));

            return(View(ViewModel));
        }
示例#16
0
        public ActionResult salvarCredor(CredorCadastroForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                ViewModel.Credor.Pessoa = ViewModel.Credor.Pessoa ?? new Pessoa();

                return(View("index", ViewModel));
            }

            var flagSucesso = this.OCredorBL.salvar(ViewModel.Credor);

            if (flagSucesso)
            {
                CacheService.getInstance.remover(CredorVWBL.keyCache);

                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados do credor foram salvos com sucesso"));

                return(RedirectToAction("index", new { ViewModel.Credor.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve algum problema ao salvar os dados do credor."));

            return(View("index", ViewModel));
        }
        public ActionResult editar(ContaMovimentacaoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            bool flagSucesso = this.OContaBancariaMovimentacaoBL.salvar(ViewModel.ContaMovimentacao);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso", "Os dados foram salvos com sucesso."));
            }
            else
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não foi possível salvar as informações, tente novamente."));
            }
            if (ViewModel.ContaMovimentacao.id > 0)
            {
                return(RedirectToAction("editar", new { ViewModel.ContaMovimentacao.id, ViewModel.ContaMovimentacao.idContaBancariaOrigem, ViewModel.ContaMovimentacao.idTipoOperacao, urlRetorno = ViewModel.urlRetorno }));
            }

            return(View(ViewModel));
        }
示例#18
0
        public ActionResult salvarFormPropriedade(AssociadoCampoPropriedadeForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("partial-form-propriedade", ViewModel));
            }

            bool flagSucesso = OConfiguracaoAssociadoCampoPropriedadeBL.salvar(ViewModel.AssociadoCampoPropriedade);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Registro salvo!", "Os dados foram enviados com sucesso."));

                CacheService.getInstance.remover("lista_campos_associado");

                CacheService.getInstance.remover("lista_grupos_campos_associado");

                return(Json(new { error = false, message = "Os dados foram salvos com sucesso." }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha!", "Não foi possível salvar o registro."));

            return(PartialView("partial-form-propriedade", ViewModel));
        }
        public ActionResult index(int?id)
        {
            int idPedido = id.toInt();

            var ViewModel = new PedidoDetalhesVM();

            ViewModel.Pedido = this.OPedidoBL.query(1)
                               .Where(x => x.id == idPedido)
                               .Select(
                x => new {
                x.id,
                x.idAssociado,
                x.idNaoAssociado,
                x.idPessoa,
                x.ativo,
                x.dtCadastro,
                x.dtCancelamento,
                x.dtQuitacao,
                x.dtFinalizado,
                x.dtFaturamento,
                x.dtExpedicao,
                x.dtAtendimento,
                x.dtVencimento,
                x.nomePessoa,
                x.cpf,
                x.email,
                x.telPrincipal,
                x.telSecundario,
                x.valorDesconto,
                x.valorDescontoCupom,
                x.valorFrete,
                x.valorProdutos,
                x.idStatusPedido,
                MeioPagamento = new {
                    id = x.MeioPagamento == null? 0: x.MeioPagamento.id,
                    x.MeioPagamento.descricao
                },
                StatusPedido = new {
                    x.StatusPedido.id,
                    x.StatusPedido.descricao
                },
                Pessoa = new {
                    x.Pessoa.id,
                    x.Pessoa.nome,
                    x.Pessoa.nroDocumento
                },
                Associado = new {
                    id = x.Associado == null? 0: x.Associado.id,
                    x.Associado.nroAssociado
                },
                NaoAssociado = new {
                    id = x.NaoAssociado == null? 0: x.NaoAssociado.id,
                    x.NaoAssociado.nroAssociado
                }
            }
                )
                               .FirstOrDefault()
                               .ToJsonObject <Pedido>();

            if (ViewModel.Pedido == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "O pedido informado não foi encontrado."));

                return(RedirectToAction("index", "PedidoCadastro"));
            }

            ViewModel.PedidoEntrega = this.OPedidoEntregaBL.listar()
                                      .Where(x => x.flagExcluido == "N" && x.idPedido == ViewModel.Pedido.id)
                                      .Select(
                x => new {
                x.id,
                x.idPedido,
                x.logradouro,
                x.numero,
                x.complemento,
                x.bairro,
                x.idCidade,
                x.nomeCidade,
                x.idEstado,
                x.idTipoEndereco,
                x.dtAgendamentoEntrega
            }
                )
                                      .FirstOrDefault()
                                      .ToJsonObject <PedidoEntrega>();

            ViewModel.Pedido.TituloReceita = this.OTituloReceitaBL.query().Where(x => x.idReceita == ViewModel.Pedido.id && x.dtExclusao == null)
                                             .Select(
                x => new {
                x.id,
                x.idTipoReceita,
                x.descricao,
                x.idReceita,
                x.dtExclusao,
                listaTituloReceitaPagamento = x.listaTituloReceitaPagamento
                                              .Where(y => y.dtExclusao == null)
                                              .Select(
                    y => new {
                    y.id
                }
                    )
            }
                )
                                             .FirstOrDefault()
                                             .ToJsonObject <TituloReceita>(true) ?? new TituloReceita();

            return(View(ViewModel));
        }
示例#20
0
        public ActionResult index(LoginVM ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(ViewModel));
            }

            var ValidacaoLogin = OUsuarioSistemaAcessoBL.login(ViewModel.login, ViewModel.senha);

            if (ValidacaoLogin.flagError)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Acesso Negado!", ValidacaoLogin.listaErros.FirstOrDefault()));

                return(PartialView(ViewModel));
            }

            var OUsuario = (ValidacaoLogin.info as UsuarioSistema);

            if (OUsuario == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Acesso Negado!", ValidacaoLogin.listaErros.FirstOrDefault()));

                return(PartialView(ViewModel));
            }

            OUsuario = this.OUsuarioSistemaBL.carregar(OUsuario.id);

            User.signInFromEntity(OUsuario);

            if (OUsuario.PerfilAcesso.flagTodasUnidades != true)
            {
                var queryUnidadesAcesso = this.OUsuarioUnidadeBL.listar(OUsuario.id, 0);

                var listaIdsUnidadesAcesso = queryUnidadesAcesso.Select(x => x.idUnidade).ToArray();

                User.signUnidades(listaIdsUnidadesAcesso);

                if (!User.flagTodasUnidades())
                {
                    var OUnidadeLogada = queryUnidadesAcesso.FirstOrDefault();

                    User.setUnidade(OUnidadeLogada.idUnidade.ToString(), OUnidadeLogada.Unidade.sigla);
                }
            }

            if (OUsuario.PerfilAcesso.flagOrganizacao == true)
            {
                var queryOrganizacoesAcesso = this.OUsuarioOrganizacaoBL.listar(OUsuario.id, 0);

                var listaIdsOrganizacoessAcesso = queryOrganizacoesAcesso.Select(x => x.idOrganizacao).ToList();
                if (listaIdsOrganizacoessAcesso.All(x => x != OUsuario.idOrganizacao))
                {
                    listaIdsOrganizacoessAcesso.Add(OUsuario.idOrganizacao ?? 0);
                }

                User.signOrganizacoes(listaIdsOrganizacoessAcesso.ToArray());
            }

            ViewModel.LogUsuariosistemaAcesso.idUsuario = OUsuario.id;

            this.OLogUsuarioSistemaAcessoBL.salvar(HttpContext, ViewModel.LogUsuariosistemaAcesso);

            string urlRedirecionamento = String.IsNullOrEmpty(ViewModel.returnUrl)? Url.Action("index", "home", new { area = "" }) : ViewModel.returnUrl;

            return(Json(new { error = false, urlRedirecionamento }));
        }
示例#21
0
        //
        public ActionResult detalhe(int id, string returnUrl)
        {
            var ViewModel = new AtendimentoForm();

            ViewModel.Atendimento = this.OAtendimentoConsultaBL.carregar(id);

            var idUnidade = User.idUnidade() == 0 ? null : (int?)User.idUnidade();

            if (ViewModel.Atendimento == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "O atendimento informado não foi encontrado."));

                return(RedirectToAction(returnUrl));
            }

            if (!idUnidade.isEmpty() && ViewModel.Atendimento.Associado?.idUnidade != idUnidade)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "O atendimento informado pertence a outra unidade."));
                return(RedirectToAction("index", "home", new { area = "" }));
            }

            if (ViewModel.Atendimento.idAssociado > 0)
            {
                var idAssociado = ViewModel.Atendimento.idAssociado.toInt();

                ViewModel.AssociadoVinculado = this.OAssociadoRelatorioVWBL.listar(0, "", "", "").Where(x => x.id == idAssociado)
                                               .Select(x => new ItemListaAssociado {
                    id = x.id, nroAssociado = x.nroAssociado,
                    descricaoTipoAssociado = x.descricaoTipoAssociado,
                    flagTipoPessoa         = x.flagTipoPessoa, nome = x.nome,
                    razaoSocial            = x.razaoSocial, nroDocumento = x.nroDocumento,
                    dtCadastro             = x.dtCadastro, ativo = x.ativo
                                                                   //flagSituacaoContribuicao = x.flagSituacaoContribuicao
                }).FirstOrDefault();
            }

            if (ViewModel.Atendimento.idNaoAssociado > 0)
            {
                var idNaoAssociado = ViewModel.Atendimento.idNaoAssociado.toInt();

                ViewModel.AssociadoVinculado = this.ONaoAssociadoRelatorioVWBL.listar(0, "", "", "").Where(x => x.id == idNaoAssociado)
                                               .Select(x => new ItemListaAssociado {
                    id = x.id, nroAssociado = x.nroAssociado,
                    descricaoTipoAssociado = x.descricaoTipoAssociado,
                    flagTipoPessoa         = x.flagTipoPessoa, nome = x.nome,
                    razaoSocial            = x.razaoSocial, nroDocumento = x.nroDocumento,
                    dtCadastro             = x.dtCadastro, ativo = x.ativo
                }).FirstOrDefault();
            }

            int idMembro = ViewModel.Atendimento.idNaoAssociado > 0 ? ViewModel.Atendimento.idNaoAssociado.toInt() : ViewModel.Atendimento.idAssociado.toInt();

            MembroSaldo Saldo = this.OSaldoConsultaBL.query(idMembro)
                                .Select(x => new { x.id, x.saldoAtual, x.dtAtualizacaoSaldo })
                                .FirstOrDefault()
                                .ToJsonObject <MembroSaldo>() ?? new MembroSaldo();

            ViewBag.Saldo = Saldo;

            return(View(ViewModel));
        }
        public ActionResult salvarCadastro(AssociadoCadastroPFForm ViewModel)
        {
            var flagEdicao = ViewModel.Associado.id > 0;

            if (ViewModel.Associado.id == 1)
            {
                if (ViewModel.flagRetornoAjax == true)
                {
                    return(Json(new { error = true, message = "Os dados da conta principal do sistema não podem ser editados." }));
                }

                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Os dados da conta principal do sistema não podem ser editados."));

                return(View("aba-dados-cadastrais", ViewModel));
            }

            ViewModel.carregaDados(flagEdicao);

            ViewModel.listaCampos.bind(Request.Form);

            if (!ModelState.IsValid || ViewModel.listaCampos.Any(x => x.flagValidado == false))
            {
                if (ViewModel.flagRetornoAjax == true)
                {
                    string errosValidacao = ModelState.retornarErros();

                    string errosCampos = string.Join("<br>", ViewModel.listaCampos.Select(x => x.mensagemErro).Where(x => !x.isEmpty()));

                    string errosConcatenados = String.Join(errosValidacao.Trim(), errosCampos.Trim());

                    return(Json(new { error = true, message = errosConcatenados }));
                }

                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Algumas informações não passaram na validação, verifique abaixo."));

                return(View("aba-dados-cadastrais", ViewModel));
            }

            var dbAssociado = this.OAssociadoBL.carregar(ViewModel.Associado.id);

            if (dbAssociado != null && dbAssociado.idOrganizacao != User.idOrganizacao())
            {
                if (ViewModel.flagRetornoAjax == true)
                {
                    return(Json(new { error = true, message = "Você não tem permissão para acessar esse cadastro." }));
                }

                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Você não tem permissão para acessar esse cadastro."));

                return(View("aba-dados-cadastrais", ViewModel));
            }

            ViewModel = ViewModel.atribuirValoresFixos(ViewModel);

            ViewModel.Associado.Pessoa.flagTipoPessoa = "F";

            ViewModel.Associado.Pessoa.idTipoDocumento = TipoDocumentoConst.CPF;

            ViewModel.Associado.ativo = "E"; //Em admissão

            ViewModel.Associado.idOrigem = OrigemCadastroConst.SISTEMA;

            OAssociadoCadastroBL.salvar(ViewModel.Associado);

            if (ViewModel.Associado.id > 0)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso", "Os dados do membro foram validados e salvos sem erros."));

                return(Json(new { error = false, message = "Os dados foram salvos com sucesso.", id = ViewModel.Associado.id, urlRedirecionamento = Url.Action("editar", new { ViewModel.Associado.id }) }));
            }

            if (ViewModel.flagRetornoAjax == true)
            {
                return(Json(new { error = true, message = "Não foi possível salvar os dados." }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não foi possível salvar os dados."));

            return(View("aba-dados-cadastrais", ViewModel));
        }
        public ActionResult exibirRecibo(string i)
        {
            int idInscricao = UtilNumber.toInt32(UtilCrypt.toBase64Decode(i));

            var OAssociadoInscricao = this.OAssociadoContribuicaoBL.carregar(idInscricao);

            if (OAssociadoInscricao == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "O pagamento informado não foi localizado no sistema"));

                return(RedirectToAction("error404", "Erro", new { area = "Erros" }));
            }

            var OTitulo = this.OTituloReceitaBL.carregarPorReceita(OAssociadoInscricao.id);

            if (OTitulo == null && OAssociadoInscricao.dtPagamento.HasValue)
            {
                this.OTituloReceitaGeradorBL.gerar(OAssociadoInscricao as object);

                OTitulo = this.OTituloReceitaBL.carregarPorReceita(OAssociadoInscricao.id);

                OTitulo.dtQuitacao = OAssociadoInscricao.dtPagamento;

                this.OTituloReceitaGeradorBL.salvar(OTitulo);
            }

            if (OTitulo == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "O título de pagamento informado não pôde ser localizado."));
                return(RedirectToAction("error404", "Erro", new { area = "Erros" }));
            }

            var ConfiguracaoSistema = ConfiguracaoSistemaBL.getInstance.carregar(OAssociadoInscricao.idOrganizacao);

            string htmlRecibo = ConfiguracaoReciboBL.getInstance.carregar().htmlRecibo;

            if (htmlRecibo.isEmpty())
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Falha", "Não existem configurações de recibo no momento."));
                return(RedirectToAction("error404", "Erro", new { area = "Erros" }));
            }

            var OTituloRecibo = this.OTituloReceitaReciboVWBL.carregar(OTitulo.id);

            htmlRecibo = htmlRecibo.Replace("#LINK_LOGO#", ConfiguracaoImagemBL.linkImagemOrganizacao(OTitulo.idOrganizacao, ConfiguracaoImagemBL.IMAGEM_PRINT_SISTEMA));

            htmlRecibo = htmlRecibo.Replace("#NOME_ORGANIZACAO#", ConfiguracaoSistema.nomeEmpresaResumo);

            htmlRecibo = htmlRecibo.Replace("#TEL_1_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelPrincipal + " " + OTituloRecibo.organizacaoNroTelPrincipal));

            htmlRecibo = htmlRecibo.Replace("#TEL_2_CABECALHO#", UtilString.formatPhone(OTituloRecibo.organizacaoDddTelSecundario + " " + OTituloRecibo.organizacaoNroTelSecundario));

            htmlRecibo = htmlRecibo.Replace("#ENDERECO_CABECALHO#", string.Concat(OTituloRecibo.organizacaoLogradouro, ", ", OTituloRecibo.organizacaoNumero, " ", OTituloRecibo.organizacaoComplemento, ", ", OTituloRecibo.organizacaoBairro.isEmpty() ? "" : " " + OTituloRecibo.organizacaoBairro, " - ", UtilString.formatCEP(OTituloRecibo.organizacaoCep)));

            htmlRecibo = htmlRecibo.Replace("#UF_CIDADE_CABECALHO#", string.Concat(OTituloRecibo.organizacaoNomeCidade, ", ", OTituloRecibo.organizacaoSiglaEstado));

            htmlRecibo = htmlRecibo.Replace("#NUMERO#", OTituloRecibo.id.ToString().PadLeft(8, '0'));

            var valorTotal = decimal.Add(OTituloRecibo.valorTotal.toDecimal(), OTituloRecibo.valorTotalJuros.toDecimal());

            valorTotal = decimal.Subtract(valorTotal, UtilNumber.toDecimal(OTituloRecibo.valorDesconto));

            DateTime dtQuitacao = OTituloRecibo.dtQuitacao.GetValueOrDefault();

            htmlRecibo = htmlRecibo.Replace("#VALOR#", valorTotal.ToString("C"));

            htmlRecibo = htmlRecibo.Replace("#NOME#", OTituloRecibo.nomeRecibo);

            htmlRecibo = htmlRecibo.Replace("#NRO_DOCUMENTO#", UtilString.formatCPFCNPJ(OTituloRecibo.documentoRecibo));

            htmlRecibo = htmlRecibo.Replace("#DESCRICAO#", OTituloRecibo.descricao);

            htmlRecibo = htmlRecibo.Replace("#DATA#", String.Concat(dtQuitacao.Day.ToString(), " de ", UtilDate.retornarMesPorExtenso(dtQuitacao.Month), " de ", dtQuitacao.Year.ToString()));

            htmlRecibo = htmlRecibo.Replace("#ASSINATURA#", UtilCrypt.signRecipe("ctb", i));

            var ViewModel = new ReciboVM();

            ViewModel.htmlRecibo = htmlRecibo;

            return(View(ViewModel));
        }