public void btn_GrabarRetenciones(object sender, EventArgs e) { oRecibo = this.retornaRecibo(); int cont = 0; /* foreach (RepeaterItem r in Repeater1.Items) { TextBox txt = (TextBox)r.FindControl("txtRetenciones"); if (txt.Text != "") { oRecibo.Docid_imputados[cont].importeRetenciones = Convert.ToDecimal(txt.Text); } cont++; } */ GrabarPago(); }
public void btn_Pago_Click(object sender, EventArgs e) { oRecibo = this.retornaRecibo(); if (oRecibo == null) { Page.Validate("pago"); return; } decimal totalaPagar = 0; //traigo las facturas elegidas por el usuario List<docImputados> facts = this.CtaCte1.listaFacturas(ref totalaPagar); List<docImputados> factsNoElegidas = this.CtaCte1.listaFacturasNoElegidas(ref totalaPagar); oRecibo.Docid_imputados = new List<docImputados>(); oRecibo.Docid_imputados = facts; oRecibo.Docid_imputados_no_elegidos = new List<docImputados>(); oRecibo.Docid_imputados_no_elegidos = factsNoElegidas; //reviso si es necesario pedirle que discrimine las retenciones por factura. if (!PedirRetenciones(facts)) //Si no es necesario, voy directo a mostrarle el detalle para confirmar. { GrabarPago(); } }
public void GrabarPago() { oRecibo = this.retornaRecibo(); if (oRecibo != null) { try { bool validoretenciones = true; decimal totalaPagar = 0; oRecibo.Docid_imputados = this.CtaCte1.listaFacturas(ref totalaPagar); decimal sobrantepago = oRecibo.PagoInformado.importe.Valor - totalaPagar; //oRecibo.Docid_imputados_no_elegidos = this.CtaCte1.listaFacturasNoElegidas(ref totalaPagarNoelegidas); validoretenciones = LLenarFacturaRetenciones(); if (oRecibo.Docid_imputados == null) { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = "Seleccione las facturas a pagar"; Panel2_ModalPopupExtender.Enabled = true; this.Panel2_ModalPopupExtender.Show(); return; } if (!validoretenciones) { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = "La discriminación de retenciones debe coincidir con lo ingresado en la pantalla inicial."; Panel2_ModalPopupExtender.Enabled = true; this.Panel2_ModalPopupExtender.Show(); return; } if (config.EsFacturador) { if (EstadoElegido.SelectedValue == null || EstadoElegido.SelectedValue == "") { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = "Debe seleccionar el estado con que ingresa el pago. "; Panel2_ModalPopupExtender.Enabled = true; this.Panel2_ModalPopupExtender.Show(); return; } } //Chequeo que las retenciones no sean mayor al 30% del pago. if (oRecibo.conRetenciones > (oRecibo.PagoInformado.importe.Valor - oRecibo.conRetenciones) * 50 / 100) { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = "El valor de las retenciones no puede ser mayor al 50% del pago."; lbl_errorimporte.Text = "El valor de las retenciones no puede ser mayor al 50% del pago."; Panel2_ModalPopupExtender.Enabled = true; this.Panel2_ModalPopupExtender.Show(); return; } if (oRecibo.Docid_imputados != null) { TextBox imp; imp = (TextBox)FindControl("txt_importeE"); if (totalaPagar * 200 < (decimal.Parse(imp.Text))) { lbl_errorimporte.Text = "Verifique el importe, está abonando mas del doble de la deuda"; } else lbl_errorimporte.Text = ""; List<docImputados> documentos = oRecibo.Docid_imputados; calcularPagosParciales(ref documentos, oRecibo.PagoInformado.importe.Valor); oRecibo.Docid_imputados = documentos; if (sobrantepago > 0) { List<docImputados> documentosNoelegidos; documentosNoelegidos = oRecibo.Docid_imputados_no_elegidos; calcularPagosParcialesNoelegidas(ref documentosNoelegidos, sobrantepago); if (documentosNoelegidos != null) oRecibo.Docid_imputados.AddRange(documentosNoelegidos); } //Reviso cuales tengo que pagar de prepo. if (oRecibo.Docid_imputados.Count == 1) { oRecibo.Docid_imputados[0].importeRetenciones = oRecibo.conRetenciones ; } mostrarDatos(documentos, oRecibo); Fin_PopupExtender1.Show(); } } catch (Exception ex) { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = ex.Message; this.Panel2_ModalPopupExtender.Show(); } } }
/// <summary> /// carga los datos en el popup para que el usuario los confirme /// </summary> void mostrarDatos(List<docImputados> documentos, RecibosEbuy recibo) { ((EbuyLabel)EbuyPopup2.FindControl("lbl_importe")).Text = recibo.Importe.ToString().Replace(",", "."); ((EbuyLabel)EbuyPopup2.FindControl("lbl_fechaDep")).Text = recibo.fechaDeposito.ToString(); ((BulletedList)EbuyPopup2.FindControl("lbl_facturasN")).Items.Clear(); foreach (docImputados DocI in documentos) { decimal suma = DocI.importePagado ; ((BulletedList)EbuyPopup2.FindControl("lbl_facturasN")).Items.Add(DocI.numFactura + " - $ " + suma); //if (lbl_facturasN.Text == "") // lbl_facturasN.Text = DocI.numFactura.ToString() + " - $ " + DocI.importePagado; //else //{ // lbl_facturasN.Text = ", " + DocI.numFactura.ToString() + " - $ " + DocI.importePagado; //} } ((EbuyLabel)EbuyPopup2.FindControl("lbl_transaccionN")).Text = recibo.PagoInformado.transaccion; ((EbuyLabel)EbuyPopup2.FindControl("lbl_mediodePago")).Text = this.tipoPago.descripcion; }
/// <summary> /// finaliza el proceso de alta luego de la confirmación del usuario /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void finalizarAlta(object sender, EventArgs e) { oRecibo = this.retornaRecibo(); //oRecibo = (RecibosEbuy) ViewState["Recibo"]; if (oRecibo != null) { /*try {*/ decimal totalaPagar = 0; oRecibo.Docid_imputados = this.CtaCte1.listaFacturas(ref totalaPagar); decimal sobrantepago = oRecibo.PagoInformado.importe.Valor - totalaPagar; LLenarFacturaRetenciones(); if (oRecibo.Docid_imputados != null) { List<docImputados> documentos = oRecibo.Docid_imputados; calcularPagosParciales(ref documentos, oRecibo.PagoInformado.importe.Valor); oRecibo.Docid_imputados = documentos; if (sobrantepago > 0) { oRecibo.Docid_imputados_no_elegidos = this.CtaCte1.listaFacturasNoElegidas(ref sobrantepago); List<docImputados> documentosNoelegidos; documentosNoelegidos = oRecibo.Docid_imputados_no_elegidos; calcularPagosParcialesNoelegidas(ref documentosNoelegidos, sobrantepago); if (documentosNoelegidos != null) oRecibo.Docid_imputados.AddRange(documentosNoelegidos); } if (oRecibo.Docid_imputados.Count == 1) { oRecibo.Docid_imputados[0].importeRetenciones = oRecibo.conRetenciones; } EstadosFact est = EstadosFact.Pago_en_Revision; if (oRecibo.Rec_Docid != -1) { string reciboInt = ds.putRecibo(oRecibo, this.tipoPago.idTipoPago, esEbuy,Socio).ToString(); if (reciboInt == "-1") { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = "¡ATENCION! Está ingresando el mismo pago nuevamente, si necesita repetir el pago, espere 2 minutos."; this.Panel2_ModalPopupExtender.Show(); return; } lbl_numRecibo.Text = reciboInt; string recibo = ""; if (config.EsFacturador) { if (Txt_ReciboSerie.Text != "" && Txt_ReciboNumero.Text != "") recibo = Txt_ReciboSerie.Text + "-" + Txt_ReciboNumero.Text; if (EstadoElegido.SelectedValue == "8") { est = EstadosFact.Pago_Aceptado; } else { est = EstadosFact.Pago_en_Revision; } } ds.updateRecibo("", Convert.ToInt16(est), Convert.ToInt32(reciboInt), recibo,Socio); } else { ds.AplicarPagoPendiente(oRecibo); } //ds.RedondearSobranteFaltante(Convert.ToInt32(oRecibo.Rec_Docid)); CtaCte1.ejecutado = 0; CtaCte1.ClearGridView(); CtaCte1.actGrilla(); this.limpiaCampos(); CtaCte1.resetFactSelec(); //txt_empresa.Text = ""; if (est == EstadosFact.Pago_en_Revision) { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = "Su pago ha sido ingresado y quedará en revisión."; } else { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = "El pago ha sido ingresado y aceptado."; } EbuyPopup1.Titulo = "Mensaje del sistema"; Repeater1.DataSource = null; Repeater1.DataBind(); this.Panel2_ModalPopupExtender.Show(); } /* } catch (Exception ex) { ((Label)EbuyPopup1.FindControl("lbl_error")).Text = ex.Message; this.Panel2_ModalPopupExtender.Show(); }*/ } }
RecibosEbuy valida5Porc(RecibosEbuy oRecibo) { decimal mas5; decimal menos5; decimal sumaFacturas =0; foreach (docImputados di in oRecibo.Docid_imputados) { sumaFacturas += di.importeF; } mas5 = (sumaFacturas * (decimal)1.05); menos5 = (sumaFacturas * (decimal)0.95); if (oRecibo.PagoInformado.importe.Valor <= mas5 & oRecibo.PagoInformado.importe.Valor >= menos5) { oRecibo.PagoInformado.importe.Valor = sumaFacturas; } return oRecibo; }
public void AplicarPagoPendiente(RecibosEbuy oRecibo) { FactDataProvider.AplicarPagoPendiente(oRecibo); }
/// <summary> /// carga los datos en el popup para que el usuario los confirme /// </summary> void mostrarDatos(List<docImputados> documentos, RecibosEbuy recibo) { lbl_importe.Text = recibo.Importe.ToString().Replace(",", "."); lbl_fechaDep.Text = recibo.fechaDeposito.ToString(); foreach (docImputados DocI in documentos) { if (lbl_facturasN.Text == "") lbl_facturasN.Text = DocI.idFactura.ToString() + " - $ " + DocI.importePagado; else { lbl_facturasN.Text = ", " + DocI.idFactura.ToString() + " - $ " + DocI.importePagado; } } lbl_transaccionN.Text = recibo.PagoInformado.transaccion; lbl_mediodePago.Text = this.InformePago1.tipoPago.descripcion; }
/// <summary> /// guarda los datos del recibo /// </summary> /// <param name="oRecibo"></param> /// <param name="tipoPago"></param> public int putRecibo(RecibosEbuy oRecibo,int tipoPago,bool esebuy, string socio) { valida5Porc(oRecibo); try { return FactDataProvider.putRecibo(oRecibo, tipoPago, esebuy, socio); } catch(Exception ex) { throw new Exception(ex.Message); } }
public void parametrizarRecibo(out SqlParameter[] parametros, RecibosEbuy oRecibo, int tipoPago, string socio) { try { SqlParameter[] param = new SqlParameter[14]; param[0] = new SqlParameter("@fechaInforme", oRecibo.fechaInforme); param[1] = new SqlParameter("@fechaDeposito", oRecibo.fechaDeposito); if (EbuyFuncion.FechaEsCero(oRecibo.PagoInformado.datosCheque.fechaDiferida)== null) { param[2] = new SqlParameter("@fechaAcreditacion", System.DateTime.Now); } else { param[2] = new SqlParameter("@fechaAcreditacion", oRecibo.PagoInformado.datosCheque.fechaDiferida); } param[3] = new SqlParameter("@Importe", SqlDbType.Decimal); param[3].Value = oRecibo.Importe; param[4] = new SqlParameter("@estado", SqlDbType.Int); param[4].Value = (int) oRecibo.estado; param[5] = new SqlParameter("@userId", SqlDbType.VarChar); param[5].Value = oRecibo.userId; param[6] = new SqlParameter("@monid", SqlDbType.VarChar); param[6].Value = oRecibo.monid; param[7] = new SqlParameter("@provId", SqlDbType.VarChar); param[7].Value = oRecibo.provId; param[8] = new SqlParameter("@tipoPago", SqlDbType.Int); param[8].Value = tipoPago; param[9] = new SqlParameter("@conRetenciones", SqlDbType.Decimal); param[9].Value = oRecibo.conRetenciones; param[10] = new SqlParameter("@IdRecibo", SqlDbType.Int); param[10].Direction = ParameterDirection.Output; param[10].Value = ""; param[11] = new SqlParameter("@ReciboId", SqlDbType.VarChar); param[11].Value = oRecibo.ReciboId; param[12] = new SqlParameter("@ModoPago", SqlDbType.Int); param[12].Value = oRecibo.ModoPago.ID ; param[13] = new SqlParameter("@Socio", SqlDbType.Int); param[13].Value = socio; parametros = param; } catch (Exception ex) { throw new Exception(ex.Message); } }
public RecibosEbuy castDR(IDataReader dr) { RecibosEbuy item = new RecibosEbuy(); docImputados docs = new docImputados(); try { if (dr["conRetenciones"] is System.DBNull) { item.conRetenciones = 0; } else { item.conRetenciones = (decimal)dr["conRetenciones"]; } if (!(dr["estado"] is System.DBNull)) { item.estado = (EstadosFact) Convert.ToInt16(dr["estado"]); } if (dr["fechaInforme"] is System.DBNull) { item.fechaInforme = DateTime.Parse("01/01/1900"); } else { item.fechaInforme = (DateTime)dr["fechaInforme"]; } if (dr["Importe"] is System.DBNull) { item.Importe = 0; } else { item.Importe = (decimal)dr["Importe"]; } if (dr["monid"] is System.DBNull) { item.monid = ""; } else { item.monid = (string)dr["monid"]; } if (dr["pagoTipo"] is System.DBNull) { item.pagoTipo = ""; } else { item.pagoTipo = (string)dr["pagoTipo"]; } if (dr["Importe_Parcial"] is System.DBNull) { item.Importe_Parcial = 0; } else { item.Importe_Parcial = (decimal)dr["Importe_Parcial"]; } if (dr["ReciboId"] is System.DBNull) { item.ReciboId = ""; } else { item.ReciboId = (string)dr["ReciboId"]; } if (dr["Rec_Docid"] is System.DBNull) { item.Rec_Docid = 0; } else { item.Rec_Docid = (decimal)dr["Rec_Docid"]; } //Nuevos campos. if (dr["ModoPago"] is System.DBNull) { item.ModoPago.ID = 0; item.ModoPago.descripcion = ""; } else { item.ModoPago.ID = (int)dr["ModoPago"]; item.ModoPago.descripcion = (string)dr["ModoPagoDescripcion"]; } if (dr["Factura_DocId"] is System.DBNull) { docs.idFactura = "0"; } else { docs.idFactura = dr["Factura_DocId"].ToString(); } if (dr["RetencionFactura"] is System.DBNull) { docs.importeRetenciones = 0; } else { docs.importeRetenciones = Convert.ToDecimal(dr["RetencionFactura"]); } List<docImputados> listaDocs = new List<docImputados>(); listaDocs.Add(docs); item.Docid_imputados = listaDocs; } catch (Exception e) { throw new Exception(e.Message); } return item; }
/// <summary> /// trae los recibos asociados a varias facturas. La factura debe tener el docid. Con eso alcanza /// </summary> /// <param name="idFactura"></param> /// <returns></returns> public List<RecibosEbuy> getRecibosdeUnaFact(List<Factura_cabecera> facturas) { SqlParameter[] param = new SqlParameter[1]; RecibosEbuy item = new RecibosEbuy(); string cadena =""; foreach (Factura_cabecera f in facturas) { cadena += f.docid + ","; } param[0] = new SqlParameter("@Factura_DocId", cadena); List<RecibosEbuy> lista = new List<RecibosEbuy>(); datosSQL.ConGenerico = false; datosSQL.Parametros = param; datosSQL.Stored = "COCG_FEBUY_recibosAsocFact"; lector = ebSQL.ExecuteSPReader(datosSQL); while (lector.Read()) { lista.Add(item.castDR(lector)); } lector.Close(); //EbuySqlFact.ExecuteSP(out lista,"FEBUY_monedas", param, false); return lista; }
/// <summary> /// trae los recibos asociados a una factura /// </summary> /// <param name="idFactura"></param> /// <returns></returns> public List<RecibosEbuy> getRecibosdeUnaFact(string idFactura) { SqlParameter[] param = new SqlParameter[1]; RecibosEbuy item = new RecibosEbuy(); param[0] = new SqlParameter("@Factura_DocId",idFactura); List<RecibosEbuy> lista = new List<RecibosEbuy>(); datosSQL.ConGenerico = false; datosSQL.Parametros = param; datosSQL.Stored = "COCG_FEBUY_recibosAsocFact"; lector = ebSQL.ExecuteSPReader(datosSQL); while (lector.Read()) { lista.Add(item.castDR(lector)); } lector.Close(); //EbuySqlFact.ExecuteSP(out lista,"FEBUY_monedas", param, false); return lista; }
/// <summary> /// Trae un recibo /// </summary> /// <param name="idFactura"></param> /// <returns></returns> public RecibosEbuy getRecibo(int reciboint) { SqlParameter[] param = new SqlParameter[1]; RecibosEbuy item = new RecibosEbuy(); param[0] = new SqlParameter("@reciboint", reciboint); RecibosEbuy recibo = new RecibosEbuy(); datosSQL.ConGenerico = false; datosSQL.Parametros = param; datosSQL.Stored = "COCG_FEBUY_Recibo"; DataSet ds = ebSQL.ExecuteSP(datosSQL); DataTable dt = ds.Tables[0]; DataRow dr = dt.Rows[0]; recibo.estado = (EstadosFact)(Convert.ToInt16(dr["Estado"])); recibo.Importe = (Convert.ToDecimal(dr["Importe"])); recibo.conRetenciones = (Convert.ToDecimal(dr["conRetenciones"])); recibo.Rec_Docid = (Convert.ToInt16(dr["Rec_Docid"])); //recibo.estado = (EstadosFact)(Convert.ToInt16(dr["Estado"])); //EbuySqlFact.ExecuteSP(out lista,"FEBUY_monedas", param, false); return recibo; }
public void AplicarPagoPendiente(RecibosEbuy oRecibo) { List<docImputados> ldi = oRecibo.Docid_imputados; if (ldi.Count == 0) throw new Exception(); SqlParameter[] param3; foreach (docImputados dci in ldi) { param3 = new SqlParameter[5]; param3[0] = new SqlParameter("@Factura_DocId", SqlDbType.VarChar); param3[0].Value = dci.idFactura; param3[1] = new SqlParameter("@Importe_Parcial", SqlDbType.Decimal); param3[1].Value = dci.importePagado; param3[2] = new SqlParameter("@estadoF", SqlDbType.Int); if (dci.importePagado == dci.importeF) { param3[2].Value = 3; } else param3[2].Value = 0; param3[3] = new SqlParameter("@provID", SqlDbType.VarChar); param3[3].Value = oRecibo.provId; param3[4] = new SqlParameter("@Retenciones", SqlDbType.Decimal); param3[4].Value = dci.importeRetenciones; datosSQL.ConGenerico = false; datosSQL.Parametros = param3; datosSQL.Stored = "COIG_FEBUY_putAsocFactReciboPendiente"; ebSQL.ExecuteNonQuery(datosSQL); } }
public int putRecibo(RecibosEbuy oRecibo, int tipoPago,bool esebuy, string socio) { int idRecibo; ebSQL.BeginTran(); SqlParameter[] param = new SqlParameter[12]; try { if (oRecibo.Rec_Docid == -1 || oRecibo.Rec_Docid == 0) { parametrizarRecibo(out param, oRecibo, tipoPago, socio); datosSQL.ConGenerico = false; datosSQL.Parametros = param; datosSQL.Stored = "COIG_FEBUY_putRecibo"; DataSet ds = ebSQL.ExecuteSP(datosSQL); int error = Convert.ToInt16(ds.Tables[0].Rows[0]["Error"].ToString()); if (error != 0) { return -1; } idRecibo = (int)param[10].Value; SqlParameter[] param2; switch (tipoPago) { case 1: param2 = new SqlParameter[6]; param2[0] = new SqlParameter("@Rec_Docid", SqlDbType.Int); param2[0].Value = idRecibo; param2[1] = new SqlParameter("@bancoId", SqlDbType.Int); param2[1].Value = oRecibo.PagoInformado.bancoId; param2[2] = new SqlParameter("@Importe", SqlDbType.Decimal); param2[2].Value = oRecibo.PagoInformado.importe.Valor; param2[3] = new SqlParameter("@transaccion", SqlDbType.VarChar); param2[3].Value = oRecibo.PagoInformado.transaccion; param2[4] = new SqlParameter("@observaciones", SqlDbType.VarChar); param2[4].Value = oRecibo.PagoInformado.observaciones; param2[5] = new SqlParameter("@Sucursal", SqlDbType.VarChar); if (oRecibo.PagoInformado.datosEfectivo.Banco != null) param2[5].Value = oRecibo.PagoInformado.datosEfectivo.Banco.Sucursal; else param2[5].Value = 0; datosSQL.ConGenerico = false; datosSQL.Parametros = param2; datosSQL.Stored = "COIG_FEBUY_putReciboPagoEfvo"; //idRecibo = EbuySqlFact.ExecuteSP(oRecibo, oRecibo.Docid_imputados, "COIG_FEBUY_putRecibo", "COIG_FEBUY_putReciboPagoEfvo", param, param2, false); break; case 2: param2 = new SqlParameter[9]; param2[0] = new SqlParameter("@Rec_Docid", SqlDbType.Int); param2[0].Value = idRecibo; param2[1] = new SqlParameter("@bancoId", SqlDbType.Int); param2[1].Value = oRecibo.PagoInformado.bancoId; param2[2] = new SqlParameter("@Importe", SqlDbType.Decimal); param2[2].Value = oRecibo.PagoInformado.importe.Valor; param2[3] = new SqlParameter("@transaccion", SqlDbType.VarChar); param2[3].Value = oRecibo.PagoInformado.transaccion; param2[4] = new SqlParameter("@observaciones", SqlDbType.VarChar); param2[4].Value = oRecibo.PagoInformado.observaciones; param2[5] = new SqlParameter("@nroCheque", SqlDbType.VarChar); param2[5].Value = oRecibo.PagoInformado.datosCheque.nroCheque; param2[6] = new SqlParameter("@bancoIddeDeposito", SqlDbType.Int); param2[6].Value = oRecibo.PagoInformado.datosCheque.BancoDestino.bank_id; param2[7] = new SqlParameter("@sucursal", SqlDbType.VarChar); param2[7].Value = oRecibo.PagoInformado.datosCheque.sucursal; param2[8] = new SqlParameter("@fechadiferida", oRecibo.PagoInformado.datosCheque.fechaDiferida); //param2[8].Value = oRecibo.PagoInformado.datosCheque.fechaDiferida; datosSQL.ConGenerico = false; datosSQL.Parametros = param2; datosSQL.Stored = "COIG_FEBUY_putReciboPagoCheque"; //idRecibo = EbuySqlFact.ExecuteSP(oRecibo, oRecibo.Docid_imputados, "COIG_FEBUY_putRecibo", "COIG_FEBUY_putReciboPagoCheque", param, param2, false); break; case 3: param2 = new SqlParameter[6]; param2[0] = new SqlParameter("@Rec_Docid", SqlDbType.Int); param2[0].Value = idRecibo; param2[1] = new SqlParameter("@bancoId", SqlDbType.Int); param2[1].Value = oRecibo.PagoInformado.datosTransferencia.bancoIDDesde; param2[2] = new SqlParameter("@Importe", SqlDbType.Decimal); param2[2].Value = oRecibo.PagoInformado.importe.Valor; param2[3] = new SqlParameter("@transaccion", SqlDbType.VarChar); param2[3].Value = oRecibo.PagoInformado.transaccion; param2[4] = new SqlParameter("@bancoIdDestino", SqlDbType.Int); param2[4].Value = oRecibo.PagoInformado.datosTransferencia.bancoIdDestino; param2[5] = new SqlParameter("@observaciones", SqlDbType.VarChar); param2[5].Value = oRecibo.PagoInformado.observaciones; datosSQL.ConGenerico = false; datosSQL.Parametros = param2; datosSQL.Stored = "COIG_FEBUY_putReciboPagoTransf"; // idRecibo = EbuySqlFact.ExecuteSP(oRecibo, oRecibo.Docid_imputados, "COIG_FEBUY_putRecibo", "COIG_FEBUY_putReciboPagoTransf", param, param2, false); break; } if (tipoPago != 0) ebSQL.ExecuteNonQuery(datosSQL); } else { idRecibo = Convert.ToInt32(oRecibo.Rec_Docid); } List<docImputados> ldi = oRecibo.Docid_imputados; if (ldi.Count == 0) throw new Exception(); SqlParameter[] param3; int cont = 1; foreach (docImputados dci in ldi) { param3 = new SqlParameter[7]; param3[0] = new SqlParameter("@Factura_DocId", SqlDbType.VarChar); param3[0].Value = dci.idFactura; param3[1] = new SqlParameter("@Rec_DocId", SqlDbType.VarChar); param3[1].Value = idRecibo; param3[2] = new SqlParameter("@Importe_Parcial", SqlDbType.Decimal); param3[2].Value = dci.importePagado; param3[3] = new SqlParameter("@estadoF", SqlDbType.Int); if (dci.importePagado >= dci.importeF) { if (esebuy) param3[3].Value = 4; else param3[3].Value = 3; } else param3[3].Value = 0; param3[4] = new SqlParameter("@provID", SqlDbType.VarChar); param3[4].Value = oRecibo.provId; param3[5] = new SqlParameter("@Retenciones", SqlDbType.Decimal); param3[5].Value = dci.importeRetenciones; param3[6] = new SqlParameter("@ContinuarBuscando", SqlDbType.Int); if (cont == ldi.Count) param3[6].Value = 1; else param3[6].Value = 0; datosSQL.ConGenerico = false; datosSQL.Parametros = param3; datosSQL.Stored = "COIG_FEBUY_putAsocFactRecibo"; ebSQL.ExecuteNonQuery(datosSQL); cont++; } ebSQL.EndTran(); } catch (Exception ex) { throw new Exception(ex.Message); } //int idRecibo=0; //return idRecibo; return idRecibo; }