public TList_CadCondPgto_X_Parcelas Select(TpBusca[] vBusca, Int32 vTop, string vNM_Campo) { TList_CadCondPgto_X_Parcelas lista = new TList_CadCondPgto_X_Parcelas(); SqlDataReader reader; bool podeFecharBco = false; if (Banco_Dados == null) { this.CriarBanco_Dados(true); podeFecharBco = true; } reader = this.ExecutarBusca(this.SqlCodeBusca(vBusca, Convert.ToInt16(vTop), "")); try { while (reader.Read()) { TRegistro_CadCondPgto_X_Parcelas reg = new TRegistro_CadCondPgto_X_Parcelas(); if (!(reader.IsDBNull(reader.GetOrdinal("CD_CondPGTO")))) { reg.Cd_condpgto = reader.GetString(reader.GetOrdinal("CD_CondPGTO")); } if (!(reader.IsDBNull(reader.GetOrdinal("ID_Parcela")))) { reg.Id_parcela = reader.GetDecimal(reader.GetOrdinal("ID_Parcela")); } if (!(reader.IsDBNull(reader.GetOrdinal("QT_Dias")))) { reg.Qt_dias = reader.GetDecimal(reader.GetOrdinal("QT_Dias")); } if (!reader.IsDBNull(reader.GetOrdinal("PC_Rateio"))) { reg.Pc_rateio = reader.GetDecimal(reader.GetOrdinal("PC_Rateio")); } lista.Add(reg); } } finally { reader.Close(); reader.Dispose(); if (podeFecharBco) { this.deletarBanco_Dados(); } } return(lista); }
public static TList_CadCondPgto_X_Parcelas CriarParcelas(TRegistro_CadCondPgto val) { TList_CadCondPgto_X_Parcelas retorno = new TList_CadCondPgto_X_Parcelas(); decimal pc_rateio = Math.Round(100 / val.Qt_parcelas, 2); for (int i = 0; i < val.Qt_parcelas; i++) { retorno.Add(new TRegistro_CadCondPgto_X_Parcelas() { Id_parcela = i + 1, Cd_condpgto = val.Cd_condpgto, Pc_rateio = pc_rateio, Qt_dias = val.St_comentradabool ? val.Qt_diasdesdobro * i : val.Qt_diasdesdobro * (i + 1) }); } retorno[retorno.Count - 1].Pc_rateio += 100 - retorno.Sum(p => p.Pc_rateio); return(retorno); }