Exemple #1
0
        /// <summary>
        /// Excluir um registro
        /// </summary>
        public UtilRetorno excluir(int id)
        {
            var Registro = this.carregar(id);

            if (Registro == null)
            {
                return(UtilRetorno.newInstance(true, "O registro informado não pode ser removido."));
            }

            Registro.dtExclusao = DateTime.Now;

            Registro.idUsuarioExclusao = User.id();

            this.db.SaveChanges();

            db.ConfiguracaoAssociadoCampo.Where(x => x.idAssociadoCampoGrupo == Registro.id)
            .Update(x => new ConfiguracaoAssociadoCampo()
            {
                dtExclusao = DateTime.Now, idUsuarioExclusao = Registro.idUsuarioExclusao
            });

            CacheService.getInstance.remover(chaveCache, Registro.idOrganizacao.toInt());
            CacheService.getInstance.remover("lista_campos_associado", Registro.idOrganizacao.toInt());

            return(UtilRetorno.newInstance(false, "O registro foi removido com sucesso."));
        }
        public ActionResult excluir(int[] id)
        {
            JsonMessage Retorno = new JsonMessage();

            Retorno.error = false;

            foreach (int idExclusao in id)
            {
                UtilRetorno RetornoExclusao = this.OAssociadoAreaAtuacaoBL.excluirPorId(idExclusao);

                if (RetornoExclusao.flagError)
                {
                    Retorno.error = false;
                }
            }

            if (Retorno.error)
            {
                Retorno.listMessage.Add("Alguns itens não puderam ser removidos.");
            }
            else
            {
                Retorno.listMessage.Add("Os registros foram removidos com sucesso.");
            }

            return(Json(new { error = Retorno.error, message = string.Join("<br />", Retorno.listMessage) }));
        }
Exemple #3
0
        //Alterar o tipo de associado e registrar no histórico
        public UtilRetorno alterarTipo(int idAssociado, int idNovoTipo, int idUsuarioAlteracao)
        {
            var OAssociado = this.db.Associado.Find(idAssociado);

            var OTipoAssociado = this.db.TipoAssociado.Find(idNovoTipo);

            if (OAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "Nenhum associado foi localizado com o ID informado."));
            }

            if (OTipoAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "O Tipo de Associado selecionado não existe ou não está habilitado."));
            }

            string obsHistorico = String.Concat("O associado passou do tipo: ", (OAssociado.TipoAssociado == null ? "Nenhum" : OAssociado.TipoAssociado.nomeDisplay), " para: ", OTipoAssociado.nomeDisplay);

            OAssociado.idTipoAssociado = idNovoTipo;

            db.SaveChanges();

            this.OPessoaRelacionamentoBL.salvar(OAssociado.idPessoa, OcorrenciaRelacionamentoConst.idAlteracaoCadastro, idUsuarioAlteracao, obsHistorico);

            return(UtilRetorno.newInstance(false, "O tipo do associado foi alterado com sucesso."));
        }
        //Excluir um associado
        public UtilRetorno excluirAssociados(List <int> idsAssociados, int idMotivoDesligamento, string observacoes)
        {
            var listaAssociados = db.Associado.Where(x => idsAssociados.Contains(x.id)).ToList();

            if (!listaAssociados.Any())
            {
                return(UtilRetorno.newInstance(true, "Nenhum associado foi encontrado."));
            }

            int idUsuarioLogado = User.id();

            listaAssociados.ForEach(x => {
                x.dtExclusao = DateTime.Now;

                x.idUsuarioExclusao = idUsuarioLogado;

                x.idMotivoDesligamento = idMotivoDesligamento;

                x.observacaoDesligamento = observacoes;

                x.ativo = "N";

                x.Pessoa.ativo = "N";

                x.Pessoa.flagExcluido = "S";
            });

            db.SaveChanges();

            this.onAssociadoExcluido.subscribe(new AssociadoExcluidoHandler());
            this.onAssociadoExcluido.publish(((object)listaAssociados));

            return(UtilRetorno.newInstance(false, "Associado(s) desligado(s) com sucesso."));
        }
        /// <summary>
        /// Altera Data de Competência
        /// </summary>
        private UtilRetorno alterarCampoDtCompetencia(TituloDespesaPagamento OItem, LogAlteracao OLog)
        {
            var ORetorno = UtilRetorno.newInstance(true);

            OLog.valorAntigo = OItem.alterarValorCampo(OLog.nomeCampoAlterado, OLog.valorNovo);

            if (OLog.valorAntigo == null)
            {
                ORetorno.listaErros.Add("O valor informado é inválido");
                return(ORetorno);
            }

            OItem.mesCompetencia = Convert.ToByte(OItem.dtCompetencia?.Month);
            OItem.anoCompetencia = Convert.ToInt16(OItem.dtCompetencia?.Year);

            var successSave = db.SaveChanges();

            if (successSave > 0)
            {
                OLog.valorNovo      = OItem.dtCompetencia.ToString();
                OLog.oldValueSelect = OLog.valorAntigo.isEmpty() ? null : OLog.oldValueSelect;
                OLogAlteracaoBL.salvar(OLog);

                ORetorno.flagError = false;
                return(ORetorno);
            }

            ORetorno.listaErros.Add("Não foi possível salvar o registro no banco.");
            return(ORetorno);
        }
        //Validar cupom para utilização
        public UtilRetorno validarUso(int idOrganizacaoParam, string codigoCupom, byte idTipoPagamento)
        {
            var OCupom = this.db.CupomDesconto.FirstOrDefault(x => x.codigo == codigoCupom && x.idOrganizacao == idOrganizacaoParam && x.flagExcluido == "N");

            if (OCupom == null)
            {
                return(UtilRetorno.newInstance(true, "O código de cupom informado é inválido."));
            }

            if (OCupom.dtVencimento.HasValue && OCupom.dtVencimento < DateTime.Today)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, o cupom informado está vencido e não pode mais ser utilizado."));
            }

            if (OCupom.ativo != "S")
            {
                return(UtilRetorno.newInstance(true, "Desculpe, o cupom informado não está ativo para uso."));
            }

            if (OCupom.valorDesconto <= 0)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, o cupom de desconto informado não possui valor válido."));
            }

            bool flagPedido = idTipoPagamento == TipoReceitaConst.PEDIDO;

            bool flagEvento = idTipoPagamento == TipoReceitaConst.INSCRICAO_EVENTO;

            bool flagContribuicao = idTipoPagamento == TipoReceitaConst.CONTRIBUICAO;


            if (flagPedido == true && OCupom.flagPedido != true)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, o cupom informado não pode ser utilizado para pagamento de um pedido."));
            }

            if (flagEvento == true && OCupom.flagEvento != true)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, o cupom informado não pode ser utilizado para pagamento de uma inscrição."));
            }

            if (flagContribuicao == true && OCupom.flagContribuicao != true)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, o cupom informado não pode ser utilizado para esse tipo de pagamento."));
            }

            if (OCupom.qtdeUsos.toInt() == 0)
            {
                return(UtilRetorno.newInstance(false, "Cupom válido!"));
            }

            var qtdeUtilizados = db.TituloReceitaPagamento.Where(x => x.dtExclusao == null && x.idCupomDesconto == OCupom.id).Select(x => x.id).Count();

            if (qtdeUtilizados >= OCupom.qtdeUsos.toInt())
            {
                return(UtilRetorno.newInstance(true, "Desculpe, o limite de utilização desse cupom de desconto já foi atingido."));
            }

            return(UtilRetorno.newInstance(false, "Cupom válido!", OCupom));
        }
Exemple #7
0
        //
        public UtilRetorno enviar(NotificacaoSistema ONotificacao)
        {
            var idsPessoas = ONotificacao.listaPessoa.Select(x => x.idPessoa).ToList();

            var listaDispositivos = this.OPessoaDeviceConsultaBL.listar("").Where(x => idsPessoas.Contains(x.idPessoa))
                                    .Select(x => new {
                x.idPessoa, x.idDevice, x.token
            }).ToListJsonObject <PessoaDevice>();

            var ORetorno = new UtilRetorno();

            if (ORetorno.flagError)
            {
                return(ORetorno);
            }

            var OMensageiroApp = MensageiroAppFactoryBL.getInstance.factory(ONotificacao);

            if (OMensageiroApp == null)
            {
                return(UtilRetorno.newInstance(true, "Não foi possível encontrar as configurações de envio do gateway selecionado para envio da mensagem."));
            }

            ORetorno = OMensageiroApp.enviar(ONotificacao, listaDispositivos);

            return(ORetorno);
        }
        /// <summary>
        /// Registrar o pagamento de uma parcela de um titullo
        /// </summary>
        public UtilRetorno registrarPagamento(int idTituloReceitaPagamento, DateTime dtPagamentoPrm)
        {
            TituloReceitaPagamento OTituloReceitaPagamento = this.carregarDadosPagamento(new TituloReceitaPagamento {
                id = idTituloReceitaPagamento
            });

            if (OTituloReceitaPagamento == null)
            {
                return(UtilRetorno.newInstance(true, "O pagamento informado não pôde ser localizado."));
            }

            if (OTituloReceitaPagamento.dtPagamento.HasValue)
            {
                return(UtilRetorno.newInstance(true, "O pagamento informado já está quitado."));
            }

            this.PagamentoCadastroBL.db
            .TituloReceitaPagamento
            .Where(x => x.id == idTituloReceitaPagamento && x.dtPagamento == null)
            .Update(x => new TituloReceitaPagamento {
                dtPagamento         = dtPagamentoPrm,
                dtBaixa             = DateTime.Now,
                idUsuarioBaixa      = User.id(),
                flagBaixaAutomatica = false,
                idUsuarioAlteracao  = User.id(),
                valorRecebido       = OTituloReceitaPagamento.valorOriginal
            });

            return(UtilRetorno.newInstance(false, "O pagamento foi registrado com sucesso."));
        }
        /// <summary>
        /// Registrar o pagamento de uma parcela de um titulo
        /// Utilizado para a realizacao das baixas manuais
        /// </summary>
        public UtilRetorno registrarPagamento(TituloReceitaPagamento OTituloReceitaPagamento)
        {
            OTituloReceitaPagamento.idUsuarioBaixa = User.id();

            OTituloReceitaPagamento.idUsuarioAlteracao = User.id();

            OTituloReceitaPagamento.dtBaixa = DateTime.Now;

            OTituloReceitaPagamento.idFormaPagamento = OTituloReceitaPagamento.idFormaPagamento > 0? OTituloReceitaPagamento.idFormaPagamento : OTituloReceitaPagamento.definirFormaPagamento();

            OTituloReceitaPagamento = this.AntecipacaoConsultaBL.carregarDescontoAntecipacao(OTituloReceitaPagamento);

            this.PagamentoCadastroBL.atualizarDadosPagamento(OTituloReceitaPagamento);

            if (OTituloReceitaPagamento.qtdeParcelas > 1 && OTituloReceitaPagamento.idMeioPagamento == MeioPagamentoConst.CARTAO_CREDITO)
            {
                this.registrarPagamentoParcelas(OTituloReceitaPagamento);
            }

            this.onPagamentoRecebido.subscribe(new OnPagamentoRecebidoHandler());

            this.onPagamentoRecebido.publish(OTituloReceitaPagamento as object);

            return(UtilRetorno.newInstance(false, "O pagamento foi registrado com sucesso."));
        }
Exemple #10
0
        public ActionResult excluirPerfilComissionavel(int[] id)
        {
            var Retorno = new UtilRetorno();

            Retorno.flagError = false;

            foreach (var idUsuario in id)
            {
                var RetornoItem = this.OConfiguracaoPerfilComissionavelBL.excluir(idUsuario);

                if (RetornoItem.flagError)
                {
                    Retorno.flagError = true;
                    Retorno.listaErros.Add("Não foi possível remover todos os registros.");
                }
            }

            if (!Retorno.flagError)
            {
                Retorno.listaErros.Add("Os registros informados foram removidos com sucesso.");
            }

            CacheService.getInstance.remover("configuracao_comissao");

            return(Json(Retorno));
        }
Exemple #11
0
        //Admitir um associado que estava em processo de admissao
        public UtilRetorno admitirAssociados(List <int> idsAssociados, DateTime?dtAdmissao, string observacoes)
        {
            var listaAssociados = db.Associado.Where(x => idsAssociados.Contains(x.id)).ToList();

            if (!listaAssociados.Any())
            {
                return(UtilRetorno.newInstance(true, "Nenhum associado foi encontrado."));
            }

            int idUsuarioLogado = User.id();

            listaAssociados.ForEach(x => {
                x.dtAdmissao        = dtAdmissao;
                x.idUsuarioAdmissao = idUsuarioLogado;
                x.ativo             = "S";
            });

            db.SaveChanges();

            var listaParametros = new List <object>();

            listaParametros.Add(listaAssociados);
            listaParametros.Add(observacoes);

            this.onAdmissao.subscribe(new OnAdmissaoHandler());
            this.onAdmissao.publish((object)listaParametros);

            return(UtilRetorno.newInstance(false, "Associado(s) admitido(s) com sucesso."));
        }
        //Rotina para recuperacao de senha do usuario
        public UtilRetorno recuperarSenha(string login)
        {
            var OUsuario = (from Usu in this.db.UsuarioSistema
                            where
                            Usu.login == login &&
                            Usu.dtExclusao == null
                            select Usu).FirstOrDefault();

            if (OUsuario == null)
            {
                return(UtilRetorno.newInstance(true, "Nenhum usuário encontrado com os dados informados."));
            }

            if (OUsuario.ativo == "N")
            {
                return(UtilRetorno.newInstance(true, "O usuário vinculado à essa conta está desativado no momento, entre em contato com a administração."));
            }

            string novaSenha = UtilString.randomString(8);

            OUsuario.senha = UtilCrypt.SHA512(novaSenha);

            OUsuario.flagAlterarSenha = "S";

            db.SaveChanges();

            IEnvioNovoUsuario OEmail = RecuperacaoSenhaUsuario.factory(OUsuario.idOrganizacao.toInt(), OUsuario.Pessoa.ToEmailsPessoa(), null);

            OEmail.enviar(OUsuario, novaSenha);

            return(UtilRetorno.newInstance(false, "Uma nova senha foi reenviada para os e-mails vinculados à essa conta."));
        }
        //Geracao de uma nova senha para o usuario
        public UtilRetorno criarNovaSenha(int idUsuario)
        {
            var OUsuario = (from Usu in this.db.UsuarioSistema
                            where
                            Usu.id == idUsuario && Usu.dtExclusao == null
                            select Usu).FirstOrDefault();

            if (OUsuario == null)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, esse usuário não pôde ser localizado."));
            }


            string novaSenha = UtilString.randomString(8);

            OUsuario.senha = UtilCrypt.SHA512(novaSenha);

            OUsuario.flagAlterarSenha = "S";

            db.SaveChanges();

            IEnvioNovoUsuario OEmail = ReenvioSenhaUsuario.factory(OUsuario.idOrganizacao.toInt(), OUsuario.Pessoa.ToEmailsPessoa(), null);

            OEmail.enviar(OUsuario, novaSenha);

            return(UtilRetorno.newInstance(false, "Uma nova senha foi enviada para o e-mail vinculado à conta."));
        }
        //Atributos

        //Propriedades

        //eventos

        /// <summary>
        /// Realizar a exclusao pelo ID do registro
        /// </summary>
        public virtual UtilRetorno excluir(int idTituloReceita, string motivo = "")
        {
            TituloReceita dbTitulo = this.db.TituloReceita.condicoesSeguranca().FirstOrDefault(x => x.id == idTituloReceita);

            if (dbTitulo == null)
            {
                return(UtilRetorno.newInstance(true, "O título informado não pôde ser localizado."));
            }

            dbTitulo.dtExclusao = DateTime.Now;

            dbTitulo.idUsuarioExclusao = User.id();

            dbTitulo.motivoExclusao = motivo;

            int qtdeAfetados = this.db.SaveChanges();

            if (qtdeAfetados == 0)
            {
                return(UtilRetorno.newInstance(true, "Houve um problema ao remover o registro, tente novamente mais tarde."));
            }

            this.removerParcelas(dbTitulo.id, User.id(), motivo);

            return(UtilRetorno.newInstance(false, "O registro foi removido com sucesso."));
        }
        /// <summary>
        ///Vincular uma contribuicao com o associado dependente
        ///Pode-se informar qual contribuição será vinculada
        /// </summary>
        public UtilRetorno gerarCobrancaDependente(Associado OAssociado, AssociadoContribuicao OAssociadoContribuicao)
        {
            if (OAssociado?.TipoAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "O tipo do associado dependente informado não foi informado."));
            }

            var OContribuicao = OAssociadoContribuicao.Contribuicao;

            if (OContribuicao == null)
            {
                OContribuicao = this.OContribuicaoBL.carregar(OAssociadoContribuicao.idContribuicao);
            }

            int?idContribuicao = OContribuicao.id;


            var TabelaPreco = OContribuicao.retornarTabelaVigente();

            if (TabelaPreco == null)
            {
                return(UtilRetorno.newInstance(true, "Não há tabela de preços configuradas para a contribuição."));
            }

            var Preco = TabelaPreco.retornarPreco(UtilNumber.toInt32(OAssociado.idTipoAssociado));

            AssociadoContribuicao ODependenteContribuicao = new AssociadoContribuicao();

            this.verificarIsencao(ref ODependenteContribuicao, Preco, OAssociado);

            ODependenteContribuicao.idAssociado = OAssociado.id;

            ODependenteContribuicao.idOrganizacao = OAssociadoContribuicao.idOrganizacao;

            ODependenteContribuicao.idUnidade = OAssociadoContribuicao.idUnidade;

            ODependenteContribuicao.idTipoAssociado = UtilNumber.toInt32(OAssociado.idTipoAssociado);

            ODependenteContribuicao.idContribuicao = idContribuicao.toInt();

            ODependenteContribuicao.valorOriginal = UtilNumber.toDecimal(Preco.valorFinal);

            ODependenteContribuicao.valorAtual = ODependenteContribuicao.valorOriginal;

            ODependenteContribuicao.dtVencimentoOriginal = OAssociadoContribuicao.dtVencimentoOriginal;

            ODependenteContribuicao.dtVencimentoAtual = ODependenteContribuicao.dtVencimentoOriginal;

            ODependenteContribuicao.idContribuicaoVencimento = OAssociadoContribuicao.idContribuicaoVencimento;

            ODependenteContribuicao.dtInicioVigencia = OAssociadoContribuicao.dtInicioVigencia;

            ODependenteContribuicao.dtFimVigencia = OAssociadoContribuicao.dtFimVigencia;

            ODependenteContribuicao.idAssociadoContribuicaoPrincipal = OAssociadoContribuicao.id;

            ODependenteContribuicao.Associado = OAssociado;

            return(this.gerarCobranca(ODependenteContribuicao));
        }
        //Sobreposicao obrigatorio do metodo abstrato
        public override UtilRetorno enviar(IDictionary <string, object> info, string assunto)
        {
            this.Subject = assunto;

            this.prepararMensagem("");

            this.Body = this.Body.Replace("#SIGLA_ASSOCIACAO#", OConfiguracaoSistema.siglaOrganizacao);

            this.Body = this.Body.Replace("#NOME_PESSOA#", info["nome"].ToString());

            string personalizacao = info["personalizacao"]?.ToString() ?? "";

            if (!personalizacao.isEmpty())
            {
                var parametros = JsonConvert.DeserializeObject <Dictionary <string, string> >(personalizacao);

                foreach (KeyValuePair <string, string> campo in parametros)
                {
                    this.Body = this.Body.Replace(campo.Key, campo.Value);
                }
            }

            // Configurar Anexo
            var ORetorno = UtilRetorno.newInstance(false);

            ORetorno = this.disparar();

            return(ORetorno);
        }
Exemple #17
0
        /// <summary>
        ///
        /// </summary>
        public override UtilRetorno validar(MovimentoOperacaoDTO Transacao)
        {
            var ValidacaoContas = this.validarContas(Transacao);

            if (ValidacaoContas.flagError)
            {
                return(ValidacaoContas);
            }


            if (Transacao.MembroDestino.idTipoCadastro == (byte)AssociadoTipoCadastroEnum.CONSUMIDOR)
            {
                return(UtilRetorno.newInstance(true, "A conta destino não pertence à um estabelecimento comercial."));
            }

            var MovimentoResumo = new MovimentoResumoVW();

            MovimentoResumo.idTipoTransacao = (byte)TipoTransacaoEnum.PAGAMENTO;

            MovimentoResumo.descricaoTipoTransacao = "Pagamento";

            MovimentoResumo.captarDados(Transacao);

            return(UtilRetorno.newInstance(false, "", MovimentoResumo));
        }
Exemple #18
0
        /// <summary>
        /// Envio de email de cobranca de pedido
        /// </summary>
        public UtilRetorno enviarEmailCobranca(int idPedido)
        {
            var OPedido = this.OPedidoBL.carregar(idPedido);

            if (OPedido == null)
            {
                return(UtilRetorno.newInstance(true, "Pedido não localizado no sistema."));
            }

            OPedido.TituloReceita = this.OTituloReceitaBL.query()
                                    .Where(x => x.idReceita == OPedido.id && x.dtExclusao == null)
                                    .Select(x => new { x.id, x.descricao })
                                    .FirstOrDefault()
                                    .ToJsonObject <TituloReceita>() ?? new TituloReceita();

            IEnvioNovoPedido EnvioEmail = EnvioNovoPedido.factory(HttpContextFactory.Current.User.idOrganizacao(), new List <string> {
                OPedido.email
            }, null);

            var ORetorno = EnvioEmail.enviar(OPedido);

            if (!ORetorno.flagError)
            {
                return(UtilRetorno.newInstance(false, "O e-mail foi enviado com sucesso."));
            }

            return(UtilRetorno.newInstance(true, "Não foi possível enviar o e-mail de cobrança."));
        }
Exemple #19
0
        /// <summary>
        ///
        /// </summary>
        public override UtilRetorno validar(MovimentoOperacaoDTO Transacao)
        {
            var ValidacaoContas = this.validarContas(Transacao);

            if (ValidacaoContas.flagError)
            {
                return(ValidacaoContas);
            }


            if (Transacao.MembroOrigem.idTipoCadastro == (byte)AssociadoTipoCadastroEnum.CONSUMIDOR && Transacao.MembroDestino.idTipoCadastro == (byte)AssociadoTipoCadastroEnum.COMERCIANTE)
            {
                return(UtilRetorno.newInstance(true, "A operação de transferência para estabelecimentos não é permitida."));
            }

            var MovimentoResumo = new MovimentoResumoVW();

            MovimentoResumo.idTipoTransacao = (byte)TipoTransacaoEnum.TRANSFERÊNCIA;

            MovimentoResumo.descricaoTipoTransacao = "Transferência";

            MovimentoResumo.captarDados(Transacao);

            return(UtilRetorno.newInstance(false, "", MovimentoResumo));
        }
Exemple #20
0
        /// <summary>
        ///
        /// </summary>
        private UtilRetorno salvarMovimentos(List <Movimento> listaMovimentos)
        {
            var Retorno = UtilRetorno.newInstance(false);

            using (var conex = new DataContext()) {
                try {
                    var dtAtualizacao = DateTime.Now;

                    StringBuilder command = new StringBuilder();

                    foreach (var Item in listaMovimentos)
                    {
                        command.AppendLine($"update tb_movimento set dtIntegracaoSaldo = '{dtAtualizacao:yyyy-MM-dd HH:mm:ss.fff}' where id = {Item.id};");
                    }

                    conex.Database.ExecuteSqlCommand(command.ToString());
                } catch (Exception ex) {
                    UtilLog.saveError(ex, "Erro ao registrar integracao de saldo nos movimentos.");

                    Retorno.flagError = true;

                    Retorno.listaErros.Add("Houveram problemas ao registrar atualização nos saldos.");

                    Retorno.listaErros.Add($"{ex.Message} - {ex.StackTrace}");
                }

                conex.Dispose();
            }


            return(Retorno);
        }
Exemple #21
0
        //Atributos

        //Propriedades

        //
        public UtilRetorno validar(PedidoTemp OPedidoTemp)
        {
            var ORetorno = UtilRetorno.newInstance(false);

            if (!OPedidoTemp.listaProdutos.Any())
            {
                ORetorno.flagError = true;

                ORetorno.listaErros.Add("O pedido não pode ser gerado pois não possui nenhum produto adicionado.");

                return(ORetorno);
            }

            if (OPedidoTemp.listaProdutos.Count > 1)
            {
                ORetorno.flagError = true;

                ORetorno.listaErros.Add("Não deve ser adicionado mais de um produto por pedido.");

                return(ORetorno);
            }

            if (OPedidoTemp.flagFaturamentoCadastro &&
                OPedidoTemp.flagCartaoCreditoPermitido != true &&
                OPedidoTemp.flagBoletoBancarioPermitido != true &&
                OPedidoTemp.flagDepositoPermitido != true)
            {
                ORetorno.flagError = true;
                ORetorno.listaErros.Add("Você deve habilitar pelo menos uma forma de pagamento.");
                return(ORetorno);
            }


            return(ORetorno);
        }
Exemple #22
0
        /// <summary>
        ///
        /// </summary>
        private UtilRetorno salvarSaldos(List <MembroSaldo> listaSaldos)
        {
            var Retorno = UtilRetorno.newInstance(false);

            using (var conex = new DataContext()) {
                try {
                    var dtAtualizacao = DateTime.Now;

                    StringBuilder command = new StringBuilder();

                    foreach (var Item in listaSaldos)
                    {
                        command.AppendLine($"update tb_membro_saldo set saldoAtual = '{Item.saldoAtual.ToString("F4", CultureInfo.GetCultureInfo("en-GB"))}', dtAtualizacaoSaldo = '{dtAtualizacao:yyyy-MM-dd HH:mm:ss.fff}' where id = {Item.id};");
                    }

                    conex.Database.ExecuteSqlCommand(command.ToString());
                } catch (Exception ex) {
                    UtilLog.saveError(ex, "Erro ao salvar saldos");

                    Retorno.flagError = true;

                    Retorno.listaErros.Add("Houveram problemas ao tentar atualizar os saldos.");

                    Retorno.listaErros.Add($"{ex.Message} - {ex.StackTrace}");
                }

                conex.Dispose();
            }


            return(Retorno);
        }
        /// <summary>
        /// Altera o valor original do pagamento
        /// </summary>
        private UtilRetorno alterarCampoValorOriginal(TituloDespesaPagamento OItem, LogAlteracao OLog)
        {
            var ORetorno = UtilRetorno.newInstance(true);

            OLog.valorAntigo = OItem.valorOriginal.ToString();

            var valorOrginal = UtilNumber.toDecimal(OLog.valorNovo);

            if (valorOrginal == 0)
            {
                ORetorno.listaErros.Add("O valor informado é inválido");
                return(ORetorno);
            }

            OItem.valorOriginal = valorOrginal;
            var successSave = db.SaveChanges();

            if (successSave > 0)
            {
                OLog.valorNovo      = OItem.valorOriginal.ToString();
                OLog.oldValueSelect = OLog.valorAntigo.isEmpty() ? null : OLog.oldValueSelect;
                OLogAlteracaoBL.salvar(OLog);

                ORetorno.flagError = false;
                return(ORetorno);
            }

            ORetorno.listaErros.Add("Não foi possível salvar o registro no banco.");
            return(ORetorno);
        }
        /// <summary>
        ///
        /// </summary>
        public UtilRetorno salvar(ArquivoUpload OArquivoUpload, HttpPostedFileBase OArquivo, string subFolder)
        {
            var OArquivoSalvo = this.gravarArquivo(OArquivo, subFolder);

            if (!OArquivoSalvo.Exists)
            {
                return(UtilRetorno.newInstance(true, "Não foi possível salvar o arquivo em disco."));
            }

            OArquivoUpload.extensao = OArquivoSalvo.Extension;

            OArquivoUpload.path = $"{subFolder}/{OArquivoSalvo.Name}";

            OArquivoUpload.pathThumb = OArquivoUpload.path;

            OArquivoUpload.contentType = OArquivo.ContentType;

            OArquivoUpload.nomeArquivo = OArquivoSalvo.Name;

            var OArquivoUploadSalvo = this.ArquivoUploadCadastroBL.salvar(OArquivoUpload);

            if (OArquivoUploadSalvo == null)
            {
                OArquivoSalvo.Delete();

                return(UtilRetorno.newInstance(true, "Não foi possível salvar os dados do arquivo."));
            }

            return(UtilRetorno.newInstance(false, "", OArquivoUploadSalvo));
        }
Exemple #25
0
        //Recuperacao de senha para o associado
        //Gerar uma nova senha e enviar para o e-mail do associado
        public UtilRetorno recuperarSenha(string login)
        {
            var query = from Ass in db.Associado
                        .Include(x => x.Pessoa)
                        where
                        (Ass.Pessoa.login == login || Ass.Pessoa.emailSecundario == login) &&
                        Ass.dtExclusao == null
                        select
                        Ass;

            var OAssociado = query.FirstOrDefault();

            if (OAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "Desculpe, não foi localizado nenhum associado com os dados informados."));
            }

            if (OAssociado.ativo == "N")
            {
                return(UtilRetorno.newInstance(true, "Desculpe, os dados informados pertencem à um associado que está desativado."));
            }

            string novaSenha = UtilString.randomString(8);

            OAssociado.Pessoa.senha = UtilCrypt.SHA512(novaSenha);
            db.SaveChanges();

            var EnvioEmail = EnvioRecuperacaoSenha.factory(OAssociado.idOrganizacao, OAssociado.Pessoa.ToEmailList(), null);

            EnvioEmail.enviar(OAssociado, novaSenha);

            return(UtilRetorno.newInstance(false, "Geramos uma nova senha para sua conta com sucesso. Você irá recebê-la nos e-mails de seu cadastro em alguns instantes."));
        }
Exemple #26
0
        //Reativar um associado que estava com status inativo
        public UtilRetorno reativarAssociados(List <int> idsAssociados, string observacoes)
        {
            var listaAssociados = db.Associado.condicoesSeguranca().Where(x => idsAssociados.Contains(x.id)).ToList();

            if (!listaAssociados.Any())
            {
                return(UtilRetorno.newInstance(true, "Nenhum associado foi encontrado."));
            }

            int idUsuarioLogado = User.id();

            listaAssociados.ForEach(x => {
                x.dtReativacao = DateTime.Now;

                x.idUsuarioReativacao = idUsuarioLogado;

                x.ativo = "S";

                x.Pessoa.ativo = "S";

                x.Pessoa.flagExcluido = "N";
            });

            db.SaveChanges();

            listaAssociados.ForEach(x => {
                x.observacoes = observacoes;
            });

            this.onAssociadoAtivado.subscribe(new OnAssociadoAtivadoHandler());

            this.onAssociadoAtivado.publish((listaAssociados as object));

            return(UtilRetorno.newInstance(false, "Associado(s) reativado(s) com sucesso."));
        }
Exemple #27
0
        public UtilRetorno excluir(ConciliacaoFinanceira OConciliacaoFinanceira)
        {
            OConciliacaoFinanceira.listaConciliacaoFinanceiraDetalhe.ForEach(item =>
            {
                var flagReceita  = true;
                var idLancamneto = UtilNumber.toInt32(item.idTituloReceitaPagamento);

                if (item.idTituloDespesaPagamento > 0)
                {
                    flagReceita  = false;
                    idLancamneto = UtilNumber.toInt32(item.idTituloDespesaPagamento);
                }

                this.atualizaLancamentos(flagReceita, idLancamneto, null, null);
            });


            var idUsuario = User.id();

            db.ConciliacaoFinanceira.Where(x => x.id == OConciliacaoFinanceira.id).condicoesSeguranca()
            .Update(x => new ConciliacaoFinanceira {
                dtExclusao = DateTime.Now, idUsuarioExclusao = idUsuario
            });

            return(UtilRetorno.newInstance(false));
        }
        //Salvar anuidade unitaria para um associado.
        public UtilRetorno gerarCobranca(AssociadoContribuicao OAssociadoContribuicao)
        {
            if (!OAssociadoContribuicao.flagImportado)
            {
                OAssociadoContribuicao.dtPagamento = null;
            }

            OAssociadoContribuicao.setDefaultInsertValues();

            OAssociadoContribuicao.dtExclusao = null;

            OAssociadoContribuicao.Associado = null;

            OAssociadoContribuicao.Contribuicao = null;

            OAssociadoContribuicao.ContribuicaoVencimento = null;

            db.AssociadoContribuicao.Add(OAssociadoContribuicao);

            db.SaveChanges();

            bool flagSucesso = OAssociadoContribuicao.id > 0;

            if (!flagSucesso)
            {
                return(UtilRetorno.newInstance(true, "Não foi possível salvar a contribuição para o associado."));
            }

            //onContribuicaoVinculada.subscribe(new OnContribuicaoVinculadaHandler());

            onContribuicaoVinculada.publish(OAssociadoContribuicao as object);

            return(UtilRetorno.newInstance(false, "A cobrança foi gerada com sucesso.", OAssociadoContribuicao));
        }
        //Enviar
        public UtilRetorno enviarPorEmail(int idAssociado, string emails, int idUsuario)
        {
            var OAssociado = this.db.Associado.Find(idAssociado);

            if (OAssociado == null)
            {
                return(UtilRetorno.newInstance(true, "Nenhum cadastro foi localizado com o ID informado."));
            }

            string obsHistorico = String.Concat("A ficha cadastral do não associado foi enviada por email para: " + emails.Replace(";", "; "));

            db.SaveChanges();

            this.OPessoaRelacionamentoBL.salvar(OAssociado.idPessoa, OcorrenciaRelacionamentoConst.idEnvioFichaPorEmail, idUsuario, obsHistorico);

            var listaParametros = new List <object>(2);

            listaParametros.Add(idAssociado);
            listaParametros.Add(emails);

            this.onNaoAssociadoEnvioFicha.subscribe(new OnNaoAssociadoEnvioFichaHandler());
            this.onNaoAssociadoEnvioFicha.publish((listaParametros as object));

            return(UtilRetorno.newInstance(false, "A ficha de cadastro do não associado foi enviada com sucesso."));
        }
        /// <summary>
        ///
        /// </summary>
        public override UtilRetorno validar(MovimentoOperacaoDTO Transacao)
        {
            var ValidacaoDestino = this.validarDestino(Transacao);

            if (ValidacaoDestino.flagError)
            {
                return(ValidacaoDestino);
            }

            ValidacaoDestino = this.validarSaldoOrigem(Transacao);

            if (ValidacaoDestino.flagError)
            {
                return(ValidacaoDestino);
            }

            var MovimentoResumo = new MovimentoResumoVW();

            MovimentoResumo.idTipoTransacao = Transacao.idTipoTransacao ?? (byte)TipoTransacaoEnum.LANCAMENTO_DEBITO;

            MovimentoResumo.descricaoTipoTransacao = "Lançamento de Débito";

            MovimentoResumo.captarDados(Transacao);

            return(UtilRetorno.newInstance(false, "", MovimentoResumo));
        }