/// <summary> /// guarda los datos del recibo /// </summary> /// <param name="oRecibo"></param> /// <param name="tipoPago"></param> public int putRecibo(RecibosEbuy oRecibo,int tipoPago) { valida5Porc(oRecibo); try { return FactDataProvider.putRecibo(oRecibo,tipoPago); } catch(Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// Trae los recibos /// </summary> /// <param name="Lista"></param> /// <param name="commandText"></param> /// <param name="Parametros"></param> /// <param name="ConGenericos"></param> public static int ExecuteSP(RecibosEbuy oRecibo, List<docImputados> ldi, String commandText, String commandText2, SqlParameter[] Parametros, SqlParameter[] Parametros2, bool ConGenericos) { SqlConnection dc = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["EbuyConexion"].ConnectionString); //"Database=EplaceDb;Server=10.20.20.200;User Id=executor;Password=executor;"); SqlCommand command; using (dc) { dc.Open(); SqlTransaction tran = dc.BeginTransaction(); try { int IdRecibo; command = new SqlCommand(); command = getEbuy(commandText,ref Parametros, ConGenericos); command.Transaction = tran; command.Connection = dc; command.ExecuteNonQuery(); IdRecibo = (int)Parametros[10].Value; command = new SqlCommand(); command = getEbuy(commandText2,ref Parametros2, ConGenericos); command.Transaction = tran; command.Connection = dc; Parametros2[0].Value = IdRecibo; command.ExecuteNonQuery(); SqlParameter[] param3; if (ldi.Count == 0) throw new Exception(); 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("@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) { param3[3].Value = 3; } else param3[3].Value = 0; param3[4] = new SqlParameter("@provID", SqlDbType.VarChar); param3[4].Value = EbuySession.DatosDe; command = new SqlCommand(); command = getEbuy("COIG_FEBUY_putAsocFactRecibo",ref param3, ConGenericos); command.Transaction = tran; command.Connection = dc; command.ExecuteNonQuery(); } tran.Commit(); return((int)IdRecibo); } catch (Exception ex) { tran.Rollback(); throw new Exception(ex.Message); } } }
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 <= mas5 & oRecibo.PagoInformado.importe >= menos5) { oRecibo.PagoInformado.importe = sumaFacturas; } return oRecibo; }