public static StringBuilder Shipping(Empresa EmpresaCedente, List <Cliente> ClientesSacados, Bank CodigoBancario, Int32 Sequencial) { String File; StringBuilder Result; String[] FilePart; Int32 TotalRegCount = 0; try { EmpresaCedente.Verificar(); Result = new StringBuilder(); var Itau = new WriteShipping.Itau(); var CNB240 = new RemessaCNAB240(EmpresaCedente, Sequencial); switch (CodigoBancario) { case Bank.Itau: { //Init Header File File = Itau.WriteHeaderFile(CNB240); foreach (Cliente FoundClient in ClientesSacados) { FoundClient.Verificar(); CNB240 = new RemessaCNAB240(EmpresaCedente, FoundClient, Sequencial); //CNB240.Registros = new Registro(); CNB240.Registros.SequencialLote++; //Init Header Allotment File += "|" + Itau.WriteHeaderAllotment(CNB240); foreach (Cobranca Cobranca in FoundClient.CobrancaAgendada) { Cobranca.Verificar(); CNB240.Registros.SequencialDetalhe++; TotalRegCount++; CNB240.ClienteSacado.ValorAgendado = Cobranca.Valor; CNB240.ClienteSacado.DataCobranca = Cobranca.Data.ToShortDateString(); CNB240.ClienteSacado.ValorMoeda = (Cobranca.Valor * Cobranca.PctIOF); CNB240.ClienteSacado.NDocto = Cobranca.NDocto; //Details File += "|" + Itau.WriteDetailsAllotment(CNB240); } //Close Header Allotment File += "|" + Itau.WriteTrailerAllotment(CNB240); } CNB240.Registros.TotalQtdLotes = ClientesSacados.Count; CNB240.Registros.TotalQtdRegs = 2 + (2 * ClientesSacados.Count) + TotalRegCount; //Close Header File File += "|" + Itau.WriteTrailerFile(CNB240); FilePart = File.Split('|'); foreach (String FoundFile in FilePart) { Result.AppendLine(FoundFile); } break; } case Bank.Bradesco: { throw new Exception("O banco ainda não foi implementado!"); break; } case Bank.Brasil: { throw new Exception("O banco ainda não foi implementado!"); break; } case Bank.Caixa: { throw new Exception("O banco ainda não foi implementado!"); break; } case Bank.Santander: { throw new Exception("O banco ainda não foi implementado!"); break; } default: { throw new Exception("O banco não foi encontrado!"); break; } } } catch { throw; } return(Result); }