Example #1
0
 public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
                                             DateTime dataInstrucao, int diasInstrucao)
 {
     switch (tipoInstrucao)
     {
     }
     throw new Exception(
               String.Format(
                   "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                   CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
 }
Example #2
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
                                                    DateTime dataInstrucao, int diasInstrucao)
        {
            switch (tipoInstrucao)
            {
            case EnumTipoInstrucao.NaoHaInstrucoes:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 00,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao = ""
                    });
            }

            case EnumTipoInstrucao.BaixarAposQuinzeDiasDoVencto:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 02,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao = "Baixar após 15 dias do vencimento."
                    });
            }

            case EnumTipoInstrucao.BaixarAposTrintaDiasDoVencto:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 03,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao = "Baixar após 30 dias do vencimento."
                    });
            }

            case EnumTipoInstrucao.NaoBaixar:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 04,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao = "Não baixar."
                    });
            }

            case EnumTipoInstrucao.Protestar:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 06,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao = "Protestar após " + valorInstrucao + " dias úteis."
                    });
            }

            case EnumTipoInstrucao.NaoProtestar:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 07,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao = "Não protestar."
                    });
            }

            case EnumTipoInstrucao.NaoCobrarJurosDeMora:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 08,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao = "Não cobrar juros de mora."
                    });
            }
            }
            throw new Exception(
                      String.Format(
                          "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                          CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
        }
Example #3
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
                                                    DateTime dataInstrucao, int diasInstrucao)
        {
            /*
             * Protestar = 9,                      // Emite aviso ao sacado ap�s N dias do vencto, e envia ao cart�rio ap�s 5 dias �teis
             * NaoProtestar = 10,                  // Inibe protesto, quando houver instru��o permanente na conta corrente
             * ImportanciaporDiaDesconto = 30,
             * ProtestoFinsFalimentares = 42,
             * ProtestarAposNDiasCorridos = 81,
             * ProtestarAposNDiasUteis = 82,
             * NaoReceberAposNDias = 91,
             * DevolverAposNDias = 92,
             * JurosdeMora = 998,
             * DescontoporDia = 999,
             * Multa = 8
             */

            switch (tipoInstrucao)
            {
            case EnumTipoInstrucao.MultaVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 9,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Após vencimento cobrar Multa de " + valorInstrucao + "%"
                    });
            }

            case EnumTipoInstrucao.Protestar:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 9,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + valorInstrucao + " dias úteis."
                    });
            }

            case EnumTipoInstrucao.NaoProtestar:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 10,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não protestar."
                    });
            }

            case EnumTipoInstrucao.DescontoPorDia:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 30,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Importância por dia de desconto."
                    });
            }

            case EnumTipoInstrucao.ProtestoFinsFalimentares:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 42,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protesto para fins falimentares"
                    });
            }

            case EnumTipoInstrucao.ProtestarAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 81,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + diasInstrucao + " dias corridos do vencimento."
                    });
            }

            case EnumTipoInstrucao.ProtestarAposNDiasUteis:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 82,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + diasInstrucao + " dias úteis do vencimento."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposOVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 91,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após " + diasInstrucao + " dias do vencimento."
                    });
            }

            case EnumTipoInstrucao.DevolverAposNDias:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 92,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Devolver após " + diasInstrucao + " dias do vencimento."
                    });
            }

            case EnumTipoInstrucao.JurosdeMora:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 998,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Após vencimento cobrar juros de " + valorInstrucao + "%"
                    });
            }
            }
            throw new Exception(
                      String.Format(
                          "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                          CodigoBanco, tipoInstrucao, valorInstrucao));
        }
Example #4
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao, DateTime dataInstrucao,
                                                    int diasInstrucao)
        {
            switch (tipoInstrucao)
            {
            case EnumTipoInstrucao.NaoReceberPrincipalSemJurosdeMora:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 01,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "NÃO RECEBER PRINCIPAL, SEM JUROS DE MORA"
                    });
            }

            case EnumTipoInstrucao.DevolverSenaoPagoAte15DiasAposVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 02,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "DEVOLVER, SE NÃO PAGO, ATÉ 15 DIAS APÓS O VENCIMENTO"
                    });
            }

            case EnumTipoInstrucao.DevolverSenaoPagoAte30DiasAposVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 03,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "DEVOLVER, SE NÃO PAGO, ATÉ 30 DIAS APÓS O VENCIMENTO"
                    });
            }

            case EnumTipoInstrucao.NaoProtestar:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 07,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "NÃO PROTESTAR"
                    });
            }

            case EnumTipoInstrucao.NaoCobrarJurosDeMora:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 08,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "NÃO COBRAR JUROS DE MORA"
                    });
            }

            case EnumTipoInstrucao.MultaVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 16,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "MULTA"
                    });
            }
            }
            throw new Exception(
                      String.Format(
                          "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                          CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
        }
Example #5
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao, DateTime dataInstrucao,
            int diasInstrucao)
        {
            switch (tipoInstrucao)
            {
                #region Instruções para COMANDO 01 - REGISTRO DE TÍTULO

                    // Para Comando 01 - Registro de Título (posição 109-110)

                /* Instrução 00
                 * Se o COMANDO = 09 - Protestar, o Sistema de Cobrança do Banco assumirá o prazo de protesto de 5 (cinco) dias úteis
                 */
                case EnumTipoInstrucao.SemInstrucoes:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 00,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = string.Empty
                        };
                    }
                case EnumTipoInstrucao.JurosdeMora:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 01,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Cobrar juros"
                        };
                    }
                case EnumTipoInstrucao.ProtestarApos3DiasUteis:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 03,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Protestar no 3º dia útil após o vencido."
                        };
                    }
                case EnumTipoInstrucao.ProtestarApos4DiasUteis:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 04,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Protestar no 4º dia útil após o vencido."
                        };
                    }
                case EnumTipoInstrucao.ProtestarApos5DiasUteis:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 05,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Protestar no 5º dia útil após o vencido."
                        };
                    }
                    // Indica protesto com prazo de 6 a 29, 35 ou 40 dias corridos.
                case EnumTipoInstrucao.ProtestarAposNDiasCorridos:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 06,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Protestar após " + diasInstrucao + " dias."
                        };
                    }
                case EnumTipoInstrucao.NaoProtestar:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 07,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Não protestar"
                        };
                    }
                case EnumTipoInstrucao.ConcederDescontoAte:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 22,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Conceder desconto até " + dataInstrucao.ToString("ddMMyyyy")
                        };
                    }

                #endregion

                #region Instruções para COMANDO 02 - SOLICITAÇÃO DE BAIXA

                    // Para Comando 02 - Solicitação de Baixa (posição 109-110)

                case EnumTipoInstrucao.Devolver:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 42,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Devolver"
                        };
                    }
                case EnumTipoInstrucao.Baixar:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 44,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Baixar"
                        };
                    }
                case EnumTipoInstrucao.EntregarAoSacado:
                    {
                        return new InstrucaoPadronizada()
                        {
                            Codigo = 46,
                            QtdDias = diasInstrucao,
                            Valor = valorInstrucao,
                            TextoInstrucao = "Entregar ao sacado franco de pagamento."
                        };
                    }

                #endregion

            }
            throw new Exception(String.Format("Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
        }
Example #6
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
            DateTime dataInstrucao, int diasInstrucao)
        {
            /*
            Protestar = 9,                      // Emite aviso ao sacado ap�s N dias do vencto, e envia ao cart�rio ap�s 5 dias �teis
            NaoProtestar = 10,                  // Inibe protesto, quando houver instru��o permanente na conta corrente
            ImportanciaporDiaDesconto = 30,
            ProtestoFinsFalimentares = 42,
            ProtestarAposNDiasCorridos = 81,
            ProtestarAposNDiasUteis = 82,
            NaoReceberAposNDias = 91,
            DevolverAposNDias = 92,
            JurosdeMora = 998,
            DescontoporDia = 999,
            Multa = 8
             */

            switch (tipoInstrucao)
            {
                case EnumTipoInstrucao.MultaVencimento:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 9,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Após vencimento cobrar Multa de " + valorInstrucao + "%"
                    };
                }

                case EnumTipoInstrucao.Protestar:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 9,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + valorInstrucao + " dias úteis."
                    };
                }
                case EnumTipoInstrucao.NaoProtestar:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 10,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não protestar."
                    };
                }
                case EnumTipoInstrucao.DescontoPorDia:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 30,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Importância por dia de desconto."
                    };
                }
                case EnumTipoInstrucao.ProtestoFinsFalimentares:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 42,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protesto para fins falimentares"
                    };
                }
                case EnumTipoInstrucao.ProtestarAposNDiasCorridos:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 81,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + diasInstrucao + " dias corridos do vencimento."
                    };
                }
                case EnumTipoInstrucao.ProtestarAposNDiasUteis:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 82,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + diasInstrucao + " dias úteis do vencimento."
                    };
                }
                case EnumTipoInstrucao.NaoReceberAposOVencimento:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 91,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após " + diasInstrucao + " dias do vencimento."
                    };
                }
                case EnumTipoInstrucao.DevolverAposNDias:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 92,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Devolver após " + diasInstrucao + " dias do vencimento."
                    };
                }
                case EnumTipoInstrucao.JurosdeMora:
                {
                    return new InstrucaoPadronizada
                    {
                        Codigo = 998,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Após vencimento cobrar juros de " + valorInstrucao + "%"
                    };
                }
            }
            throw new Exception(
                String.Format(
                    "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                    CodigoBanco, tipoInstrucao, valorInstrucao));
        }
Example #7
0
 public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao, DateTime dataInstrucao,
                                             int diasInstrucao)
 {
     throw new NotImplementedException();
 }
Example #8
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
                                                    DateTime dataInstrucao, int diasInstrucao)
        {
            switch (tipoInstrucao)
            {
            case EnumTipoInstrucao.NaoCobrarJurosDeMora:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 08,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não cobrar juros de mora."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposOVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 09,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após o vencimento."
                    });
            }

            case EnumTipoInstrucao.MultaPercentualVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 10,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Multa de 10 % após o 4º dia do vencimento."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 11,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após o 8º dia do vencimento."
                    });
            }

            case EnumTipoInstrucao.CobrarEncargosApos5DiaVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 12,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Cobrar encargos após o 5º dia do vencimento."
                    });
            }

            case EnumTipoInstrucao.CobrarEncargosApos10DiaVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 13,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Cobrar encargos após o 10º dia do vencimento."
                    });
            }

            case EnumTipoInstrucao.CobrarEncargosApos15DiaVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 14,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Cobrar encargos após o 15º dia do vencimento."
                    });
            }

            case EnumTipoInstrucao.ConcederDescontoPagoAposVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 15,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Conceder desconto mesmo se pago após o vencimento."
                    });
            }
            }
            throw new Exception(
                      String.Format(
                          "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                          CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
        }
Example #9
0
 public void AdicionarInstrucao(EnumTipoInstrucao tipoInstrucao, double valor, DateTime data, int dias)
 {
     this.InstrucoesDoBoleto.Add(this.BancoBoleto.ObtemInstrucaoPadronizada(tipoInstrucao, valor, data, dias));
 }
Example #10
0
 public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
     DateTime dataInstrucao, int diasInstrucao)
 {
     switch (tipoInstrucao)
     {
         case EnumTipoInstrucao.MultaPercentualVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 15,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao = "Multa de " + valorInstrucao + " por cento após dia " + dataInstrucao
             };
         }
         case EnumTipoInstrucao.MultaPorDiaVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 16,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao =
                     "Após " + dataInstrucao + " multa dia de " + valorInstrucao + "  máximo " + "???"
             };
         }
         case EnumTipoInstrucao.MultaPorDiaCorrido:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 19,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao =
                     "Multa de R$ " + valorInstrucao + " após " + diasInstrucao + " dias corridos do vencimento."
             };
         }
         case EnumTipoInstrucao.CobrarJurosApos7DiasVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 20,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Cobrar juros só após 07 dias do vencimento."
             };
         }
         case EnumTipoInstrucao.MultaPorDiaUtil:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 22,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao =
                     "Multa de R$ " + valorInstrucao + " após " + diasInstrucao + " dias úteis do vencimento."
             };
         }
         case EnumTipoInstrucao.NaoReceberAposOVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 23,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Não receber após o vencimento."
             };
         }
         case EnumTipoInstrucao.MultaVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 24,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Multa de R$ " + valorInstrucao + " após o vencimento."
             };
         }
         case EnumTipoInstrucao.JurosSoAposData:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 29,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Juros só após " + dataInstrucao + ", cobrar desde o vencimento."
             };
         }
         case EnumTipoInstrucao.ConcederAbatimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 34,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Conceder abatimento conforme proposto pelo pagador."
             };
         }
         case EnumTipoInstrucao.AposVencimentoMulta10PorCento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 36,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Após vencimento multa de 10 por cento."
             };
         }
         case EnumTipoInstrucao.ConcederDescontoPagoAposVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 40,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Conceder desconto mesmo se pago após o vencimento."
             };
         }
         case EnumTipoInstrucao.NaoReceberAntesDoVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 42,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Não receber antes do vencimento."
             };
         }
         case EnumTipoInstrucao.AposVencimentoMulta20PorCentoMaisMora:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 53,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Após vencimento multa de 20% mais mora de 1% a.m."
             };
         }
         case EnumTipoInstrucao.NaoReceberAntesdoVencimentoOu10DiasApos:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 56,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Não receber antes do vencimento ou 10 dias após."
             };
         }
         //case EnumTipoInstrucao.AbatimentoDesconto:
         //{
         //    return new InstrucaoPadronizada
         //    {
         //        Codigo = 65,
         //        QtdDias = diasInstrucao,
         //        Valor = valorInstrucao,
         //        TextoInstrucao = "Abatimento/Desconto só com instrução do benefiário"
         //    };
         //}
         case EnumTipoInstrucao.TituloSujeitoAProtestoAposVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 67,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Título sujeito a protesto após o vencimento."
             };
         }
         case EnumTipoInstrucao.AposVencimentoMulta2PorCento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 68,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Após o vencimento multa de 2 por cento."
             };
         }
         case EnumTipoInstrucao.NaoReceberAposNDiasCorridos:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 71,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Não receber após " + diasInstrucao + " dias corridos do vencimento."
             };
         }
         case EnumTipoInstrucao.NaoReceberAposNDiasUteis:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 72,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Não receber após " + diasInstrucao + " dias úteis do vencimento."
             };
         }
         case EnumTipoInstrucao.MultaDeVPorCentoAposNDiasCorridos:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 73,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Multa de " + valorInstrucao + " por cento após " + diasInstrucao + " dias corridos do vencimento."
             };
         }
         case EnumTipoInstrucao.MultaDeVPorCentoAposNDiasUteis:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 74,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Multa de " + valorInstrucao + " por cento após " + diasInstrucao + " dias úteis do vencimento."
             };
         }
         case EnumTipoInstrucao.ProtestarAposNDiasCorridos:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 75,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Protestar " + diasInstrucao + " dias corridos após o vencimento, se não pago."
             };
         }
         case EnumTipoInstrucao.ProtestarAposNDiasUteis:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 77,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Protestar " + diasInstrucao + " dias úteis após o vencimento, se não pago."
             };
         }
         /* Instruções que não geram mensagens nos boletos */
         case EnumTipoInstrucao.ProtestarAposNDiasUteisNGM:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 76,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Protestar " + diasInstrucao + " dias úteis após o vencimento, se não pago."
             };
         }
         /* Instruções que não geram mensagens nos boletos */
         case EnumTipoInstrucao.ProtestarAposNDiasCorridosNGM:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 84,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Protestar " + diasInstrucao + " dias corridos após o vencimento, se não pago."
             };
         }
     }
     throw new Exception(
         String.Format(
             "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
             CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
 }
Example #11
0
 public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
     DateTime dataInstrucao, int diasInstrucao)
 {
     switch (tipoInstrucao)
     {
         case EnumTipoInstrucao.NaoHaInstrucoes:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 00,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao = ""
             };
         }
         case EnumTipoInstrucao.BaixarAposQuinzeDiasDoVencto:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 02,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao = "Baixar após 15 dias do vencimento."
             };
         }
         case EnumTipoInstrucao.BaixarAposTrintaDiasDoVencto:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 03,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao = "Baixar após 30 dias do vencimento."
             };
         }
         case EnumTipoInstrucao.NaoBaixar:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 04,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao = "Não baixar."
             };
         }
         case EnumTipoInstrucao.Protestar:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 06,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao = "Protestar após " + valorInstrucao + " dias úteis."
             };
         }
         case EnumTipoInstrucao.NaoProtestar:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 07,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao = "Não protestar."
             };
         }
         case EnumTipoInstrucao.NaoCobrarJurosDeMora:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 08,
                 QtdDias = (int) valorInstrucao,
                 TextoInstrucao = "Não cobrar juros de mora."
             };
         }
     }
     throw new Exception(
         String.Format(
             "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
             CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
 }
Example #12
0
 public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
     DateTime dataInstrucao, int diasInstrucao)
 {
     switch (tipoInstrucao)
     {
         case EnumTipoInstrucao.NaoCobrarJurosDeMora:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 08,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Não cobrar juros de mora."
             };
         }
         case EnumTipoInstrucao.NaoReceberAposOVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 09,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Não receber após o vencimento."
             };
         }
         case EnumTipoInstrucao.MultaPercentualVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 10,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Multa de 10 % após o 4º dia do vencimento."
             };
         }
         case EnumTipoInstrucao.NaoReceberAposNDiasCorridos:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 11,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Não receber após o 8º dia do vencimento."
             };
         }
         case EnumTipoInstrucao.CobrarEncargosApos5DiaVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 12,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Cobrar encargos após o 5º dia do vencimento."
             };
         }
         case EnumTipoInstrucao.CobrarEncargosApos10DiaVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 13,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Cobrar encargos após o 10º dia do vencimento."
             };
         }
         case EnumTipoInstrucao.CobrarEncargosApos15DiaVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 14,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Cobrar encargos após o 15º dia do vencimento."
             };
         }
         case EnumTipoInstrucao.ConcederDescontoPagoAposVencimento:
         {
             return new InstrucaoPadronizada
             {
                 Codigo = 15,
                 QtdDias = diasInstrucao,
                 Valor = valorInstrucao,
                 TextoInstrucao = "Conceder desconto mesmo se pago após o vencimento."
             };
         }
     }
     throw new Exception(
         String.Format(
             "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
             CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
 }
Example #13
0
 public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao, DateTime dataInstrucao,
     int diasInstrucao)
 {
     throw new NotImplementedException();
 }
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao, DateTime dataInstrucao,
                                                    int diasInstrucao)
        {
            switch (tipoInstrucao)
            {
            case EnumTipoInstrucao.SemInstrucoes:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 0,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "AUSENCIA DE INSTRUCOES"
                    });
            }

            case EnumTipoInstrucao.JurosdeMora:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 1,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "COBRAR JUROS"
                    });
            }

            case EnumTipoInstrucao.ProtestarApos3DiasUteis:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 3,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "PROTESTAR APÓS " + diasInstrucao + " DIAS ÚTEIS DO VENCIMENTO"
                    });
            }

            case EnumTipoInstrucao.ProtestarApos4DiasUteis:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 4,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "PROTESTAR APÓS " + diasInstrucao + " DIAS ÚTEIS DO VENCIMENTO"
                    });
            }

            case EnumTipoInstrucao.ProtestarApos5DiasUteis:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 5,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "PROTESTAR APÓS " + diasInstrucao + " DIAS ÚTEIS DO VENCIMENTO"
                    });
            }

            case EnumTipoInstrucao.NaoProtestar:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 7,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "NÃO PROTESTAR"
                    });
            }

            case EnumTipoInstrucao.ProtestarAposNDiasUteis:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 10,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "PROTESTAR APÓS " + diasInstrucao + " DIAS ÚTEIS DO VENCIMENTO"
                    });
            }

            case EnumTipoInstrucao.ConcederDescontoAte:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 22,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "CONCEDER DESCONTO SO ATE A DATA ESTIPULADA"
                    });
            }
            }

            throw new Exception(
                      String.Format(
                          "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                          CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
        }
Example #15
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
                                                    DateTime dataInstrucao, int diasInstrucao)
        {
            switch (tipoInstrucao)
            {
            case EnumTipoInstrucao.Protestar:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 9,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + valorInstrucao + " dias úteis."
                    });
            }

            case EnumTipoInstrucao.NaoProtestar:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 10,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não protestar."
                    });
            }

            case EnumTipoInstrucao.DevolverApos90Dias:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 18,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Devolver após 90 dias do vencimento."
                    });
            }

            case EnumTipoInstrucao.ProtestarAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 34,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + diasInstrucao + " dias corridos do vencimento."
                    });
            }

            case EnumTipoInstrucao.ProtestarAposNDiasUteis:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 35,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar após " + diasInstrucao + " dias úteis do vencimento."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposOVencimento:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 39,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após o vencimento."
                    });
            }

            case EnumTipoInstrucao.ImportanciaPorDiaDeAtrasoAPartirDeDDMMAA:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 44,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Importância por dia de atraso a partir de " + dataInstrucao.ToString("ddmmyy")
                    });
            }

            case EnumTipoInstrucao.NoVencimentoPagavelEmQualquerAgencia:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 90,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "No vencimento pagável em qualquer agência bancária."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 91,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após " + diasInstrucao + " dias do vencimento."
                    });
            }

            case EnumTipoInstrucao.DevolverAposNDias:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 92,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Devolver após " + diasInstrucao + " dias do vencimento."
                    });
            }

            case EnumTipoInstrucao.MultaVencimento:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 997,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Cobrar multa após o vencimento."
                    });
            }

            case EnumTipoInstrucao.JurosdeMora:
            {
                return(new InstrucaoPadronizada()
                    {
                        Codigo = 998,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Cobrar juros após o vencimento."
                    });
            }
            }
            throw new Exception(
                      String.Format(
                          "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                          CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
        }
Example #16
0
 public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao, DateTime dataInstrucao, int diasInstrucao)
 {
     switch (tipoInstrucao)
     {
         case EnumTipoInstrucao.Protestar:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 9,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Protestar após " + valorInstrucao + " dias úteis."
                 };
             }
         case EnumTipoInstrucao.NaoProtestar:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 10,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Não protestar."
                 };
             }
         case EnumTipoInstrucao.DevolverApos90Dias:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 18,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Devolver após 90 dias do vencimento."
                 };
             }
         case EnumTipoInstrucao.ProtestarAposNDiasCorridos:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 34,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Protestar após " + diasInstrucao + " dias corridos do vencimento."
                 };
             }
         case EnumTipoInstrucao.ProtestarAposNDiasUteis:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 35,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Protestar após " + diasInstrucao + " dias úteis do vencimento."
                 };
             }
         case EnumTipoInstrucao.NaoReceberAposOVencimento:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 39,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Não receber após o vencimento."
                 };
             }
         case EnumTipoInstrucao.ImportanciaPorDiaDeAtrasoAPartirDeDDMMAA:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 44,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Importância por dia de atraso a partir de " + dataInstrucao.ToString("ddmmyy")
                 };
             }
         case EnumTipoInstrucao.NoVencimentoPagavelEmQualquerAgencia:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 90,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "No vencimento pagável em qualquer agência bancária."
                 };
             }
         case EnumTipoInstrucao.NaoReceberAposNDiasCorridos:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 91,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Não receber após " + diasInstrucao + " dias do vencimento."
                 };
             }
         case EnumTipoInstrucao.DevolverAposNDias:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 92,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Devolver após " + diasInstrucao + " dias do vencimento."
                 };
             }
         case EnumTipoInstrucao.MultaVencimento:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 997,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Cobrar multa após o vencimento."
                 };
             }
         case EnumTipoInstrucao.JurosdeMora:
             {
                 return new InstrucaoPadronizada()
                 {
                     Codigo = 998,
                     QtdDias = diasInstrucao,
                     Valor = valorInstrucao,
                     TextoInstrucao = "Cobrar juros após o vencimento."
                 };
             }
     }
     throw new Exception(String.Format("Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
         CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
 }
Example #17
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
                                                    DateTime dataInstrucao,
                                                    int diasInstrucao)
        {
            switch (tipoInstrucao)
            {
            case EnumTipoInstrucao.JurosdeMora:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 01,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.MultaDeVPorCentoSobreValorTitulo:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 03,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.MultaDeVPorCentoAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 04,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.MultaDeVPorCentoSobreValorTituloMaisEncargos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 05,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.MultaDeVPorCentoAposNDiasCorridosValorTituloMaisEncargos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 06,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.NaoCobrarJurosDeMora:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 08,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.ProtestarAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 09,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposOVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 13,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.CobrarJurosMaisVariacaoIDTR50:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 18,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 94,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = string.Empty
                    });
            }
            }

            throw new Exception(
                      String.Format(
                          "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                          CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
        }
Example #18
0
 public void AdicionarInstrucao(EnumTipoInstrucao tipoInstrucao, double valor, DateTime data, int dias)
 {
     this.InstrucoesDoBoleto.Add(this.BancoBoleto.ObtemInstrucaoPadronizada(tipoInstrucao, valor, data, dias));
 }
Example #19
0
        public IInstrucao ObtemInstrucaoPadronizada(EnumTipoInstrucao tipoInstrucao, double valorInstrucao,
                                                    DateTime dataInstrucao, int diasInstrucao)
        {
            switch (tipoInstrucao)
            {
            case EnumTipoInstrucao.MultaPercentualVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 15,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao = "Multa de " + valorInstrucao + " por cento após dia " + dataInstrucao
                    });
            }

            case EnumTipoInstrucao.MultaPorDiaVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 16,
                        QtdDias = (int)valorInstrucao,
                        TextoInstrucao =
                            "Após " + dataInstrucao + " multa dia de " + valorInstrucao + "  máximo " + "???"
                    });
            }

            case EnumTipoInstrucao.MultaPorDiaCorrido:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 19,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao =
                            "Multa de R$ " + valorInstrucao + " após " + diasInstrucao + " dias corridos do vencimento."
                    });
            }

            case EnumTipoInstrucao.CobrarJurosApos7DiasVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 20,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Cobrar juros só após 07 dias do vencimento."
                    });
            }

            case EnumTipoInstrucao.MultaPorDiaUtil:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 22,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao =
                            "Multa de R$ " + valorInstrucao + " após " + diasInstrucao + " dias úteis do vencimento."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposOVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 23,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após o vencimento."
                    });
            }

            case EnumTipoInstrucao.MultaVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 24,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Multa de R$ " + valorInstrucao + " após o vencimento."
                    });
            }

            case EnumTipoInstrucao.JurosSoAposData:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 29,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Juros só após " + dataInstrucao + ", cobrar desde o vencimento."
                    });
            }

            case EnumTipoInstrucao.ConcederAbatimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 34,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Conceder abatimento conforme proposto pelo pagador."
                    });
            }

            case EnumTipoInstrucao.AposVencimentoMulta10PorCento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 36,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Após vencimento multa de 10 por cento."
                    });
            }

            case EnumTipoInstrucao.ConcederDescontoPagoAposVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 40,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Conceder desconto mesmo se pago após o vencimento."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAntesDoVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 42,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber antes do vencimento."
                    });
            }

            case EnumTipoInstrucao.AposVencimentoMulta20PorCentoMaisMora:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 53,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Após vencimento multa de 20% mais mora de 1% a.m."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAntesdoVencimentoOu10DiasApos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 56,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber antes do vencimento ou 10 dias após."
                    });
            }

            //case EnumTipoInstrucao.AbatimentoDesconto:
            //{
            //    return new InstrucaoPadronizada
            //    {
            //        Codigo = 65,
            //        QtdDias = diasInstrucao,
            //        Valor = valorInstrucao,
            //        TextoInstrucao = "Abatimento/Desconto só com instrução do benefiário"
            //    };
            //}
            case EnumTipoInstrucao.TituloSujeitoAProtestoAposVencimento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 67,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Título sujeito a protesto após o vencimento."
                    });
            }

            case EnumTipoInstrucao.AposVencimentoMulta2PorCento:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 68,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Após o vencimento multa de 2 por cento."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 71,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após " + diasInstrucao + " dias corridos do vencimento."
                    });
            }

            case EnumTipoInstrucao.NaoReceberAposNDiasUteis:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 72,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Não receber após " + diasInstrucao + " dias úteis do vencimento."
                    });
            }

            case EnumTipoInstrucao.MultaDeVPorCentoAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 73,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Multa de " + valorInstrucao + " por cento após " + diasInstrucao + " dias corridos do vencimento."
                    });
            }

            case EnumTipoInstrucao.MultaDeVPorCentoAposNDiasUteis:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 74,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Multa de " + valorInstrucao + " por cento após " + diasInstrucao + " dias úteis do vencimento."
                    });
            }

            case EnumTipoInstrucao.ProtestarAposNDiasCorridos:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 75,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar " + diasInstrucao + " dias corridos após o vencimento, se não pago."
                    });
            }

            case EnumTipoInstrucao.ProtestarAposNDiasUteis:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 77,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar " + diasInstrucao + " dias úteis após o vencimento, se não pago."
                    });
            }

            /* Instruções que não geram mensagens nos boletos */
            case EnumTipoInstrucao.ProtestarAposNDiasUteisNGM:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 76,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar " + diasInstrucao + " dias úteis após o vencimento, se não pago."
                    });
            }

            /* Instruções que não geram mensagens nos boletos */
            case EnumTipoInstrucao.ProtestarAposNDiasCorridosNGM:
            {
                return(new InstrucaoPadronizada
                    {
                        Codigo = 84,
                        QtdDias = diasInstrucao,
                        Valor = valorInstrucao,
                        TextoInstrucao = "Protestar " + diasInstrucao + " dias corridos após o vencimento, se não pago."
                    });
            }
            }
            throw new Exception(
                      String.Format(
                          "Não foi possível obter instrução padronizada. Banco: {0} Código Instrução: {1} Qtd Dias/Valor: {2}",
                          CodigoBanco, tipoInstrucao.ToString(), valorInstrucao));
        }