private Stream getSCOTIA(int paymentAuthId, int bankId, int bankAccountId, int detraction) { DateTime hoy = DateTime.Now; string someString = ""; string druc = ""; //Ruc proveedor 11 string drsocial = ""; //Razon Social 60 string dnrofact = ""; //nro de factura 14 string dfecfact = ""; //Fech. fact. 8 YYYYMMDD string dmtopago = ""; //MOnto de pago 11 (2 decimales sin separador decimal) string dformapago = ""; //form de pago 1 (2 abono cta cte. / 3 cta ahorros, / 4 cta otro bco ) string dbcocodofi = ""; //Codigo de oficina 3 (obligatorio si forma de pago 2/3) string dbcocuenta = ""; //Cta de banco scotia 7 ( si es banco scotia obligatorio 2/3 , blanco si es 1/4) string dsinglepay = " "; // 1 string demail = someString.PadRight(30, ' '); // 30 string dcci = ""; // 20 string dfactoring = " "; // 1 (F) string dfecVctoFactoring = someString.PadRight(8, ' '); // 8 string dtransExte = " "; //1 VE_Payment auth = getPaymentsByAuthId(paymentAuthId)[0]; //context.PaymentAuth.Where(i => i.Id == Id).FirstOrDefault(); BL_Bank _blBank = new BL_Bank(); _blBank.connectionString = connectionString; BE_Bank bank = _blBank.GetBankById(bankId); //context.Bank.SingleOrDefault(b => b.Id == BankId); var bankaccount = _blBank.GetBankAccountById(bankAccountId); // context.BankAccount.SingleOrDefault(ba => ba.Id == BankAccountId); long hctrolcheck_tmp = Int64.Parse(bankaccount.accountNumber); var mimeType = "text/plain"; var FileBanco = "TMP" + paymentAuthId; var date_pay = Convert.ToDateTime(auth.payDate.ToString()).ToString("yyyyMMdd"); FileBanco = FileBanco + "-" + date_pay + ".TXT"; var source = ""; List <VE_Payment> payments = getPaymentsAuthBankAccountById(paymentAuthId, bankAccountId); //var payments = context.Payment.Where(p => (p.PaymentAuthId == Id && p.BankAccountId == BankAccountId)).ToList(); foreach (var payment in payments) // query executed and data obtained from database { druc = ""; //Ruc proveedor 11 drsocial = ""; //Razon Social 60 dnrofact = ""; //nro de factura 14 dfecfact = ""; //Fech. fact. 8 YYYYMMDD dmtopago = ""; //MOnto de pago 11 (2 decimales sin separador decimal) dformapago = ""; //form de pago 1 (2 abono cta cte. / 3 cta ahorros, / 4 cta otro bco ) dbcocodofi = ""; //Codigo de oficina 3 (obligatorio si forma de pago 2/3) dbcocuenta = ""; //Cta de banco scotia 7 ( si es banco scotia obligatorio 2/3 , blanco si es 1/4) dsinglepay = " "; // 1 demail = someString.PadRight(30, ' '); // 30 dcci = someString.PadRight(20, ' '); // 20 dfactoring = " "; // 1 (F) dfecVctoFactoring = someString.PadRight(8, ' '); // 8 dtransExte = " "; //1 druc = payment.customerRuc.PadRight(11, ' ').Substring(0, 11); //Número de documento del proveedor 12 25 123456789012 drsocial = RemoveAccents(payment.customerName).PadRight(60, ' ').Substring(0, 60); //Nombre del proveedor 75 40 Flávio Millioli //dnrofact = payment.NroComprobante.PadLeft(14,' '); //nro de factura 14 dnrofact = GetLast(payment.documentType.PadLeft(2, ' '), 2) + GetLast(payment.nroSerie.PadLeft(4, ' '), 4) + GetLast(payment.nroComprobante.PadRight(8, '0'), 8); dfecfact = payment.documentDate.ToString("yyyyMMdd"); List <string> CustomerAccount = new List <string>(); var _BankMasterId = ""; var _TipoCta = ""; var _CtaCargo = ""; var _CtaCargoInter = ""; int _tmphimportotal = Decimal.ToInt32(Math.Round(payment.amountPaymentFromBank, 2) * 100); dmtopago = LeadingZeros(_tmphimportotal.ToString(), 11); if (bankaccount.currency == "USD") { CustomerAccount = payment.customerBankAccountUsd.Split('|').ToList(); } else { CustomerAccount = payment.customerBankAccountPen.Split('|').ToList(); } try { _BankMasterId = CustomerAccount[0]; } catch { _BankMasterId = ""; } try { _TipoCta = CustomerAccount[1]; } catch { _TipoCta = ""; } //A ahorro, C corriente, M Maestra try { _CtaCargo = CustomerAccount[2]; } catch { _CtaCargo = ""; } try { _CtaCargoInter = CustomerAccount[3]; } catch { _CtaCargoInter = ""; } dformapago = "4"; //2 abono cta cte. / 3 cta ahorros, / 4 cta otro bco if (_TipoCta == "C") // { dformapago = "2"; } else if (_TipoCta == "A") { dformapago = "3"; } if (dformapago == "4") //if interbancario { dcci = LeadingRSpaces(_CtaCargoInter, 20); } else { dbcocodofi = _CtaCargo.Substring(0, 3); //Codigo de oficina 3 (obligatorio si forma de pago 2/3) dbcocuenta = GetLast(_CtaCargo, 7); //Cta de banco scotia 7 ( si es banco scotia obligatorio 2/3 , blanco si es 1/4) } source = source + druc + drsocial + dnrofact + dfecfact + dmtopago + dformapago + dbcocodofi + dbcocuenta + dsinglepay + demail + dcci + dfactoring + dfecVctoFactoring + dtransExte + "\r\n"; } return(ToStream(source)); }
private Stream getIBK(int paymentAuthId, int bankId, int bankAccountId, int detraction) { string someString = ""; string codregistro = "02"; //Código de registro 02**(02) string codbenef = ""; //Código de beneficiario(RUC)**(20) string tipoperacion = "F"; //Tipo de operacion(Facturas)**(1) string docnumero = ""; //Nro de factura**(20) string fecvctodoc = ""; //Fecha de vencimiento del documento a pagar Fecha en formato "aaaammdd"(8)*/ string monoperacion = ""; //Tipo de moneda soles 01, dolares 10**(2) string impoperacion = ""; //Importe mayor a 0, hasta 13 enteros y 2 decimales**(15) string indbanco = "0"; //Indicador de cuenta bancaria, Interbank 0**(1) string tipoabono = ""; //Tipo abono efectivo 00, abono en cuenta ibk 09, cheque gerencia 11, interbankario 99(2) string producto = "001"; //productos cuenta corriente 001, cuenta ahorros 002, cts 007(3) string moneda = ""; //Tipo de moneda soles 01, dolares 10**(2) string oficina = ""; //Código de la oficina a usar en el pago según el producto(3) string ctanumero = ""; //Número de la cuenta a usar en el pago según el producto IB: 10 posiciones, CCI: 20 posiciones(20) string tipopersona = ""; //Persona natural P, persona jurídica o comercial C(1) string bendocidetip = ""; //Tipo de documento beneficiario DNI 01, RUC 02, Carnet de extranjería 03, cédula de identidad 04, pasaporte 05(2) string bendocidenro = ""; //Nro documento del beneficiario, si Tipo Persona = P, longitud DNI debe ser igual a 8 posiciones(15) string bennombre = ""; //Natural "P" Nombre Beneficiario ApPaterno(20)+ApMaterno(20)+Nombres(20),Juridica "C" Razon Social del Beneficiario(60) campo Alfanumérico hasta 60 caracteres(60) VE_Payment auth = getPaymentsByAuthId(paymentAuthId)[0]; BL_Bank _blBank = new BL_Bank(); _blBank.connectionString = connectionString; BE_Bank bank = _blBank.GetBankById(bankId); var bankaccount = _blBank.GetBankAccountById(bankAccountId); var mimeType = "text/plain"; var FileBanco = "TMP" + paymentAuthId; var date_pay = Convert.ToDateTime(auth.payDate.ToString()).ToString("yyyyMMdd"); FileBanco = FileBanco + "-" + date_pay + ".TXT"; var source = ""; List <VE_Payment> payments = getPaymentsAuthBankAccountById(paymentAuthId, bankAccountId); //var payments = context.Payment.Where(p => (p.PaymentAuthId == Id && p.BankAccountId == BankAccountId)).ToList(); foreach (var payment in payments) { someString = ""; codregistro = "02"; codbenef = ""; tipoperacion = "F"; docnumero = ""; monoperacion = ""; impoperacion = ""; indbanco = "0"; tipoabono = ""; producto = "001"; moneda = ""; oficina = ""; ctanumero = ""; tipopersona = ""; bendocidetip = ""; bendocidenro = ""; bennombre = ""; ctanumero = bankaccount.accountNumber + someString.PadLeft(20, ' '); ctanumero = ctanumero.Substring(0, 20); codbenef = auth.customerRuc + someString.PadRight(20, ' '); codbenef = codbenef.Substring(0, 20); docnumero = auth.documentId + someString.PadLeft(20, ' '); docnumero = docnumero.Substring(0, 20); fecvctodoc = auth.dueDate.ToString(); DateTime payDate = DateTime.Parse(fecvctodoc); // String.Format("{0:yyyyMM/dd/yyyy}", payDate); fecvctodoc = String.Format("{0:yyyyMMdd}", payDate); if (bankaccount.currency == "USD") { monoperacion = "10"; moneda = "10"; } // Moneda de operacion dolares 10, soles 01 else { monoperacion = "01"; moneda = "01"; } var _BankMasterId = ""; if (bank.bankMasterId == _BankMasterId) { tipoabono = "09"; } else { tipoabono = "99"; } decimal _tmphimportotal = Decimal.ToInt32(Math.Round(payment.amountPaymentFromBank, 2)); impoperacion = LeadingZeros(_tmphimportotal.ToString(), 15); var _oficina = string.Empty; oficina = LeadingRSpaces(_oficina, 3); if (auth.documentType == "01") { bendocidetip = "DNI"; tipopersona = "P"; } else { bendocidetip = "RUC"; tipopersona = "C"; } var _bendocidenro = paymentAuthId.ToString(); var _bennombre = paymentAuthId.ToString(); if (tipopersona == "P") { bendocidenro = LeadingRSpaces(_bendocidenro, 8); bennombre = LeadingRSpaces(_bennombre, 62); } else { bennombre = LeadingRSpaces(_bennombre, 60); } source = source + codregistro + codbenef + tipoperacion + docnumero + fecvctodoc + monoperacion + impoperacion + indbanco + tipoabono + producto + moneda + oficina + ctanumero + tipopersona + bendocidetip + bendocidenro + bennombre + "\r\n"; } return(ToStream(source)); }
private Stream getBBVA(int paymentAuthId, int bankId, int bankAccountId, int detraction) { string someString = ""; //someString.PadLeft(8, '0'); string hregtype = "750"; //Tipo de Registro string hctacargo = ""; //Cuenta de Cargo //string Max 20; string hmdacargo = ""; //Moneda de Cuenta de Cargo //string 3 string htamount = ""; //Importe a Cargar //string 15, zeros left, no decimales (x100) string hproctype = "A"; //Tipo de Proceso // string 1 string hdateproc = someString.PadLeft(8, ' '); //Fecha de Proceso // string 8 //vacio string htimeproc = someString.PadLeft(1, ' '); //Hora de proceso //string 1 //vacio string hid = ""; //Referencia //string 25 string hnroregs = ""; //Total de Registros 6, zero left string hvalidat = "S"; //Validación de Pertenencia string hcontrol = someString.PadLeft(15, ' '); //Valor de Control //string 15 //vacio string hindprod = someString.PadLeft(3, ' '); //Indicador de Proceso // string 3 //vacio string hdescrip = someString.PadLeft(30, ' '); //Descripción string 30 //vacio string hfiller = someString.PadLeft(20, ' '); //Descripción string 20 //vacio string dregtype = "002"; //Tipo de Registro 3 string ddoctype = "R"; //DOI - Tipo 1 //RUC string ddocnumb = ""; //DOI - Número 12 string dtipabono = ""; //Tipo de abono 1 // ??? string dctabono = ""; //Número de cuenta de abono 20 // ??? string drazonsoc = ""; //Nombre de Beneficiario 40 string dmtopagar = ""; //Importe a Abonar 15 string dtipdoc = ""; //Tipo de Documento 1 string dnrodoc = ""; //Número de Documento 12 string daboagrup = "N"; //Abono Agrupado 1 string dreferen = someString.PadLeft(40, ' '); //Referencia 40 //vacio string dindaviso = "E"; //Indicador de Aviso 1 string dmedaviso = someString.PadLeft(50, ' '); //Medio de Aviso 50 //vacio string dcontacto = someString.PadLeft(30, ' '); //Persona de Contacto 30 string dindicont = someString.PadLeft(2, ' '); //Indicador de Proceso 2 string ddescrip = someString.PadLeft(30, ' '); //Descripción 30 string dfiller = someString.PadLeft(18, ' ');; //Filler 18 VE_Payment auth = getPaymentsByAuthId(paymentAuthId)[0]; //context.PaymentAuth.Where(i => i.Id == Id).FirstOrDefault(); BL_Bank _blBank = new BL_Bank(); _blBank.connectionString = connectionString; BE_Bank bank = _blBank.GetBankById(bankId); //context.Bank.SingleOrDefault(b => b.Id == BankId); var bankaccount = _blBank.GetBankAccountById(bankAccountId); // context.BankAccount.SingleOrDefault(ba => ba.Id == BankAccountId); //Filling out header variables hctacargo = bankaccount.accountNumber + someString.PadLeft(20, ' '); hctacargo = hctacargo.Substring(0, 20); hmdacargo = bankaccount.currency; //Moneda de Cuenta de Cargo //string 3 decimal _htamount = 0; //context.Payment.Where(p => (p.PaymentAuthId == Id && p.BankAccountId == BankAccountId)).Sum(p => p.AmountPaymentFromBank); foreach (VE_Payment _vePayment in getPaymentsAuthBankAccountById(paymentAuthId, bankAccountId)) { _htamount += _vePayment.amountPaymentFromBank; } int _tmphtamount = Decimal.ToInt32(Math.Round(_htamount, 2) * 100); htamount = LeadingZeros(_tmphtamount.ToString(), 15); //Importe a Cargar //string 15, zeros left, no decimales (x100) var _hid = paymentAuthId.ToString(); hid = LeadingRSpaces(_hid, 25); //Referencia //string 25 List <VE_Payment> _lstPayment = getPaymentsAuthBankAccountById(paymentAuthId, bankAccountId); int _hnroregs = _lstPayment.Count(); hnroregs = LeadingZeros(_hnroregs.ToString(), 6); //Total de Registros 6, zero left var mimeType = "text/plain"; var FileBanco = "TMP" + paymentAuthId; var date_pay = Convert.ToDateTime(auth.payDate.ToString()).ToString("yyyyMMdd"); FileBanco = FileBanco + "-" + date_pay + ".TXT"; var payments = _lstPayment; var source = hregtype + hctacargo + hmdacargo + htamount + hproctype + hdateproc + htimeproc + hid + hnroregs + hvalidat + hcontrol + hindprod + hdescrip + hfiller + "\r\n"; foreach (var payment in payments) // query executed and data obtained from database { var _ddocnumb = payment.customerRuc; ddocnumb = LeadingRSpaces(_ddocnumb, 12); List <string> CustomerAccount = new List <string>(); if (bankaccount.currency == "USD") { CustomerAccount = payment.customerBankAccountUsd.Split('|').ToList(); } else { CustomerAccount = payment.customerBankAccountPen.Split('|').ToList(); } var _BankMasterId = ""; var _TipoCta = ""; var _CtaCargo = ""; var _CtaCargoInter = ""; try { _BankMasterId = CustomerAccount[0]; } catch { _BankMasterId = ""; } try { _TipoCta = CustomerAccount[1]; } catch { _TipoCta = ""; } try { _CtaCargo = CustomerAccount[2]; } catch { _CtaCargo = ""; } try { _CtaCargoInter = CustomerAccount[3]; } catch { _CtaCargoInter = ""; } dtipabono = "I"; //Interbancario if (bank.bankMasterId == _BankMasterId) { dtipabono = "P"; //Interbancario } if (dtipabono == "P") { //dctabono = "0011" + dctabono = LeadingRSpaces(_CtaCargo, 20); } else { dctabono = LeadingRSpaces(_CtaCargoInter, 20); } drazonsoc = LeadingRSpaces(RemoveAccents(payment.customerName), 40); int _dmtopagar = Decimal.ToInt32(Math.Round(payment.amountPaymentFromBank, 2) * 100); dmtopagar = LeadingZeros(_dmtopagar.ToString(), 15); //Importe a Cargar //string 15, zeros left, no decimales (x100) dtipdoc = "F"; //Fact if (payment.documentType == "01") { dtipdoc = "F"; //Fact } else if (payment.documentType == "03") { dtipdoc = "B"; //Bol } else if (payment.documentType == "07") { dtipdoc = "N"; //Nota de credito } dnrodoc = LeadingRSpaces(payment.documentId, 12); //Número de Documento 12 source = source + dregtype + ddoctype + ddocnumb + dtipabono + dctabono + drazonsoc + dmtopagar + dtipdoc + dnrodoc + daboagrup + dreferen + dindaviso + dmedaviso + dcontacto + dindicont + ddescrip + dfiller + "\r\n"; } return(ToStream(source)); }
public VE_Payment updatePaymentGeneral(VE_Payment _vE_Payment) { _database = new MySQLDatabase(connectionString); return(new DA_Payment(_database).updatePaymentGeneral(_vE_Payment)); }