예제 #1
0
 /// <summary>
 /// Inicia uma nova instância da classe <see cref="ListaDto"/>.
 /// </summary>
 /// <param name="acertoCheque">O acerto do cheque que será retornado.</param>
 public ListaDto(AcertoCheque acertoCheque)
 {
     this.Id          = (int)acertoCheque.IdAcertoCheque;
     this.Funcionario = acertoCheque.NomeFunc;
     this.Data        = acertoCheque.DataAcerto;
     this.Valor       = acertoCheque.ValorAcerto;
     this.Situacao    = acertoCheque.DescrSituacao;
     this.Observacao  = acertoCheque.Obs;
     this.Permissoes  = new PermissoesDto
     {
         Cancelar        = acertoCheque.CancelVisible,
         LogCancelamento = LogCancelamentoDAO.Instance.TemRegistro(LogCancelamento.TabelaCancelamento.AcertoCheque, acertoCheque.IdAcertoCheque),
     };
 }
예제 #2
0
        /// <summary>
        /// Cria um cheque, na tabela cheques_acerto_cheque, a partir de uma string.
        /// </summary>
        public void InserirPelaString(GDASession sessao, AcertoCheque acertoCheque, IEnumerable <string> dadosChequesRecebimento)
        {
            if ((dadosChequesRecebimento?.Where(f => !string.IsNullOrWhiteSpace(f)).Count()).GetValueOrDefault() == 0)
            {
                return;
            }

            foreach (var dadosChequeRecebimento in dadosChequesRecebimento.Where(f => !string.IsNullOrWhiteSpace(f)))
            {
                // Divide o cheque para pegar suas propriedades.
                var propriedadesCheque = dadosChequeRecebimento.Split('\t');
                var tipoCheque         = ChequesDAO.Instance.GetTipo(propriedadesCheque[0]);

                // Insere cheque no BD.
                Insert(sessao, new ChequesAcertoCheque
                {
                    IdAcertoCheque = (int)acertoCheque.IdAcertoCheque,
                    IdLoja         = propriedadesCheque[22].StrParaInt(),
                    // Recupera a conta bancária através da agência e conta do cheque, caso a conta bancária não tenha sido informada e o tipo do cheque seja Próprio.
                    IdContaBanco = tipoCheque == 1 && propriedadesCheque[1].StrParaIntNullable().GetValueOrDefault() == 0 ?
                                   (int?)ContaBancoDAO.Instance.GetIdByAgenciaConta(propriedadesCheque[16], propriedadesCheque[17]) : propriedadesCheque[1].StrParaIntNullable(),
                    CpfCnpj   = propriedadesCheque[21].Replace(".", string.Empty).Replace("-", string.Empty).Replace("/", string.Empty),
                    Num       = propriedadesCheque[2].StrParaInt(),
                    DigitoNum = propriedadesCheque[3],
                    Banco     = propriedadesCheque[15],
                    Agencia   = propriedadesCheque[16],
                    Conta     = propriedadesCheque[17],
                    Titular   = propriedadesCheque[4],
                    Valor     = decimal.Parse(propriedadesCheque[5], NumberStyles.AllowDecimalPoint),
                    DataVenc  = DateTime.Parse(propriedadesCheque[6]),
                    Origem    = propriedadesCheque[8].StrParaInt(),
                    Tipo      = tipoCheque,
                    Obs       = propriedadesCheque[19]
                });
            }
        }
예제 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Cheques cheque      = ChequesDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(Request["IdCheque"]));
            string  localizacao = String.Empty;

            if (cheque.Origem == (int)Cheques.OrigemCheque.FinanceiroPagto)
            {
                localizacao += "Cheque avulso. ";
            }

            localizacao += "Cadastrado em: " + cheque.DataCad + ", por " + FuncionarioDAO.Instance.GetNome(cheque.Usucad) + " ";

            // Verifica se este cheque foi utilizado em algum depósito
            if (cheque.IdDeposito > 0)
            {
                DepositoCheque deposito = DepositoChequeDAO.Instance.GetElement(cheque.IdDeposito.Value);

                if (deposito == null)
                {
                    localizacao += "Depósito não localizado.";
                }
                else
                {
                    localizacao += "Este cheque foi utilizado no depósito número " + cheque.IdDeposito +
                                   ". O depósito foi efetuado na conta bancária: " + deposito.DescrContaBanco + ", no dia " +
                                   deposito.DataDeposito.ToString("dd/MM/yyyy") + " por " + deposito.NomeFuncDeposito + ". ";
                }
            }

            if (cheque.IdAcertoCheque > 0)
            {
                AcertoCheque acertoCheque = AcertoChequeDAO.Instance.GetElement(cheque.IdAcertoCheque.Value);

                localizacao += "Este cheque foi utilizado no acerto de cheque número " + cheque.IdAcertoCheque +
                               ". O acerto de cheque foi feito no dia " + acertoCheque.DataAcerto.ToString("dd/MM/yyyy") +
                               " por " + acertoCheque.NomeFunc + ". ";
            }
            else
            {
                // Verifica se o cheque foi utilizado em algum pagamento
                uint idPagto = PagtoChequeDAO.Instance.GetPagtoByCheque(cheque.IdCheque);

                if (idPagto > 0)
                {
                    Pagto pagto = PagtoDAO.Instance.GetPagto(idPagto);

                    localizacao += "Este cheque foi utilizado no pagamento número " + idPagto +
                                   ". O pagamento foi efetuado no dia " + pagto.DataPagto.ToString("dd/MM/yyyy") +
                                   " por " + pagto.NomeFuncPagto + ". ";

                    if (pagto.IdFornec > 0)
                    {
                        localizacao += "Fornecedor pago: " + pagto.NomeFornec + ". ";
                    }

                    if (cheque.DataReceb != null)
                    {
                        localizacao += "Este cheque foi compensado no dia " + cheque.DataReceb.Value.ToString("dd/MM/yyyy") + ". ";
                    }
                }
                else if (cheque.IdDeposito == 0)
                {
                    localizacao += "Localização do cheque desconhecida. ";
                }
            }

            if (cheque.Situacao == (int)Cheques.SituacaoCheque.Trocado)
            {
                // Verifica se há alguma movimentação no caixa geral de quitação deste cheque
                CaixaGeral[] lstCxGeral = CaixaGeralDAO.Instance.GetByCheque(cheque.IdCheque);

                localizacao += "Este cheque foi trocado";

                foreach (CaixaGeral c in lstCxGeral)
                {
                    if (c.IdConta == UtilsPlanoConta.GetPlanoConta(UtilsPlanoConta.PlanoContas.RecChequeDevDinheiro))
                    {
                        localizacao += " por " + c.ValorMov.ToString("C") + " em dinheiro,";
                    }
                    else if (c.IdConta == UtilsPlanoConta.GetPlanoConta(UtilsPlanoConta.PlanoContas.RecChequeDevCartao))
                    {
                        localizacao += " por " + c.ValorMov.ToString("C") + " pago no cartão,";
                    }
                    else if (c.IdConta == UtilsPlanoConta.GetPlanoConta(UtilsPlanoConta.PlanoContas.RecChequeDevDeposito))
                    {
                        localizacao += " por " + c.ValorMov.ToString("C") + " pago por depósito em conta,";
                    }
                    else if (c.IdConta == UtilsPlanoConta.GetPlanoConta(UtilsPlanoConta.PlanoContas.RecChequeDevCheque))
                    {
                        localizacao += " por um cheque no valor de " + c.ValorMov.ToString("C") + ",";
                    }
                }

                localizacao = localizacao.TrimEnd(',') + ".";
            }
            else if (cheque.Situacao == (int)Cheques.SituacaoCheque.Quitado)
            {
                // Verifica se há alguma movimentação no caixa geral de quitação deste cheque
                CaixaGeral[] lstCxGeral = CaixaGeralDAO.Instance.GetByCheque(cheque.IdCheque);

                localizacao += "Este cheque foi quitado";

                var idsAcertoCheque = ItemAcertoChequeDAO.Instance.GetIdsAcertoByCheque(null, cheque.IdCheque, true);
                if (!String.IsNullOrEmpty(idsAcertoCheque))
                {
                    localizacao += " no(s) acerto(s) de cheques " + idsAcertoCheque;
                }

                foreach (CaixaGeral c in lstCxGeral)
                {
                    if (c.IdConta == UtilsPlanoConta.GetPlanoConta(UtilsPlanoConta.PlanoContas.RecChequeDevDinheiro))
                    {
                        localizacao += " por " + c.ValorMov.ToString("C") + " em dinheiro,";
                    }
                    else if (c.IdConta == UtilsPlanoConta.GetPlanoConta(UtilsPlanoConta.PlanoContas.RecChequeDevCartao))
                    {
                        localizacao += " por " + c.ValorMov.ToString("C") + " pago no cartão,";
                    }
                    else if (c.IdConta == UtilsPlanoConta.GetPlanoConta(UtilsPlanoConta.PlanoContas.RecChequeDevDeposito))
                    {
                        localizacao += " por " + c.ValorMov.ToString("C") + " pago por depósito em conta,";
                    }
                    else if (c.IdConta == UtilsPlanoConta.GetPlanoConta(UtilsPlanoConta.PlanoContas.RecChequeDevCheque))
                    {
                        localizacao += " por um cheque no valor de " + c.ValorMov.ToString("C") + ",";
                    }
                }

                localizacao = localizacao.TrimEnd(',') + ".";
            }

            lblLocalizacao.Text = localizacao;
        }
예제 #4
0
 /// <summary>
 /// Cria o Log de Cancelamento para o acerto de cheque.
 /// </summary>
 /// <param name="acertoCheque"></param>
 /// <param name="motivo"></param>
 /// <param name="manual"></param>
 public void LogAcertoCheque(AcertoCheque acertoCheque, string motivo, bool manual)
 {
     InserirLog(UserInfo.GetUserInfo.CodUser, LogCancelamento.TabelaCancelamento.AcertoCheque,
                acertoCheque.IdAcertoCheque, acertoCheque, motivo, manual);
 }