public static Valores GetValores(ComprobanteDePago cdp, System.Data.DataSet parentDataset) { Valores valores = GetValores(parentDataset); cdp.Valores = valores; ArrayList _cotizaciones = new ArrayList(); _cotizaciones = new ArrayList(); mz.erp.businessrules.tfi_CotizacionesMonedas.GetCotizaciones(_cotizaciones, cdp.IdMonedaCierre); //Recupero los valores asociados al comporbante de Pago cdp System.Data.DataSet dataPagos = mz.erp.businessrules.tsa_ComprobanteDetalleDePagos.GetList(null, null, cdp.IdComprobante, null, decimal.MinValue); foreach (System.Data.DataRow row in dataPagos.Tables[0].Rows) { string IdValor = Convert.ToString(row["IdValor"]); Valor valor = new Valor(IdValor, null, null); //System.Data.DataRow rowValor = mz.erp.businessrules.tfi_Valores.GetByPk(IdValor); //Valor valor = Factory.GetValor(rowValor); decimal montoSinRecargo = 0; if (!row.IsNull("MontoSinRecargos")) { montoSinRecargo = Convert.ToDecimal(row["MontoSinRecargos"]); } valor.IdFormaDePago = Convert.ToString(row["IdFormaDePago"]); valor.MontoSinRecargos = montoSinRecargo; tfi_ValoresExDataset dataValoresEx = mz.erp.businessrules.data.tfi_ValoresEx.GetByPk(valor.IdValor); //valores.DataValoresEx.Merge(dataValoresEx); decimal monto = Convert.ToDecimal(row["Monto"]); valor.IncluyeRecargos = false; if (montoSinRecargo > 0) { if (decimal.Round(monto, 2) > decimal.Round(montoSinRecargo, 2)) { valor.IncluyeRecargos = true; } } cdp.RefreshValores(valor); } return(valores); }
public override void Commit() { ComprobanteDePago cdp = this.Parent; tsa_ComprobantesExDataset data = cdp.DatasetComprobante; Valores Valores = cdp.Valores; tsa_ComprobantesExDataset.tfi_ValoresDataTable TablaValores = data.tfi_Valores; tsa_ComprobantesExDataset.tsa_ComprobantesDataTable TablaComprobantes = data.tsa_Comprobantes; string comprobantesdePago = Variables.GetValueString("Comprobantes.ComprobantesDePago"); ArrayList comps = mz.erp.systemframework.Util.Parse(comprobantesdePago, ","); tsa_ComprobantesExDataset.tsa_ComprobantesRow rowComprobante = null; foreach (System.Data.DataRow row in TablaComprobantes.Rows) { if (comps.Contains(Convert.ToString(row["IdTipoDeComprobante"]))) { rowComprobante = (tsa_ComprobantesExDataset.tsa_ComprobantesRow)row; } } /* * int i = 0; * * foreach(tsa_ComprobantesExDataset.tfi_ValoresRow row in TablaValores.Rows) * { * tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos= data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow(); * if (i < Valores.MisValores.Count) * { * Valor valor = (Valor)Valores.MisValores[i]; * i++; * valor.SetRowValues(rowPagos, row ,rowComprobante, _tablaDeValoresFormasDePago); * data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos); * } * } */ /* * foreach(Valor valor in Valores.MisValores) * { */ for (int i = 1; i <= Valores.MisValores.Count; i++) { if (Valores.MisValores[i - 1] != null) { Valor valor = (Valor)Valores.MisValores[i - 1]; //if((_creaIdValoresNuevos)|| (!_creaIdValoresNuevos && (!valor.IsStep || valor.Agrupado))) if (valor.Agrupado || valor.State.ToUpper().Equals("NEW")) { tsa_ComprobantesExDataset.tfi_ValoresRow row = data.tfi_Valores.FindByIdValor(valor.IdValor); tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos = data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow(); valor.SetRowValues(rowPagos, valor.IdValor, rowComprobante, _tablaDeValoresFormasDePago); data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos); } else { //DataRow row = mz.erp.businessrules.tfi_Valores.GetByPk(valor.IdValor); //if(row != null) //{ // data.tfi_Valores.LoadDataRow(row.ItemArray,true); tsa_ComprobantesExDataset.tsa_ComprobanteDetalleDePagosRow rowPagos = data.tsa_ComprobanteDetalleDePagos.Newtsa_ComprobanteDetalleDePagosRow(); valor.SetRowValues(rowPagos, valor.IdValor, rowComprobante, _tablaDeValoresFormasDePago); data.tsa_ComprobanteDetalleDePagos.Addtsa_ComprobanteDetalleDePagosRow(rowPagos); //} } } } //} }