本文整理汇总了C#中GiftBatchTDS.AcceptChanges方法的典型用法代码示例。如果您正苦于以下问题:C# GiftBatchTDS.AcceptChanges方法的具体用法?C# GiftBatchTDS.AcceptChanges怎么用?C# GiftBatchTDS.AcceptChanges使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GiftBatchTDS
的用法示例。
在下文中一共展示了GiftBatchTDS.AcceptChanges方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadMotivationDetails
public static GiftBatchTDS LoadMotivationDetails(Int32 ALedgerNumber)
{
GiftBatchTDS MainDS = new GiftBatchTDS();
TDBTransaction Transaction = null;
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted,
TEnforceIsolationLevel.eilMinimum,
ref Transaction,
delegate
{
ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction);
AMotivationGroupAccess.LoadViaALedger(MainDS, ALedgerNumber, Transaction);
AMotivationDetailAccess.LoadViaALedger(MainDS, ALedgerNumber, Transaction);
AMotivationDetailFeeAccess.LoadViaALedger(MainDS, ALedgerNumber, Transaction);
});
// Accept row changes here so that the Client gets 'unmodified' rows
MainDS.AcceptChanges();
// Remove all Tables that were not filled with data before remoting them.
MainDS.RemoveEmptyTables();
return MainDS;
}
示例2: LoadAGiftBatchForYearPeriod
public static GiftBatchTDS LoadAGiftBatchForYearPeriod(Int32 ALedgerNumber, Int32 AYear, Int32 APeriod)
{
#region Validate Arguments
if (ALedgerNumber <= 0)
{
throw new EFinanceSystemInvalidLedgerNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Ledger number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber);
}
#endregion Validate Arguments
string FilterByPeriod = string.Empty;
GiftBatchTDS MainDS = new GiftBatchTDS();
TDBTransaction Transaction = null;
try
{
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
ref Transaction,
delegate
{
//Load Ledger table
ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction);
#region Validate Data
if ((MainDS.ALedger == null) || (MainDS.ALedger.Count == 0))
{
throw new EFinanceSystemDataTableReturnedNoDataException(String.Format(Catalog.GetString(
"Function:{0} - Details for Ledger {1} could not be accessed!"), Utilities.GetMethodSignature(),
ALedgerNumber));
}
#endregion Validate Data
if (AYear > -1)
{
FilterByPeriod = String.Format(" AND PUB_{0}.{1} = {2}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetBatchYearDBName(),
AYear);
if ((APeriod == 0) && (AYear == MainDS.ALedger[0].CurrentFinancialYear))
{
//Return current and forwarding periods
FilterByPeriod += String.Format(" AND PUB_{0}.{1} >= {2}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetBatchPeriodDBName(),
MainDS.ALedger[0].CurrentPeriod);
}
else if (APeriod > 0)
{
//Return only specified period
FilterByPeriod += String.Format(" AND PUB_{0}.{1} = {2}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetBatchPeriodDBName(),
APeriod);
}
else
{
//Nothing to add, returns all periods
}
}
string SelectClause =
String.Format("SELECT * FROM PUB_{0} WHERE {1} = {2}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetLedgerNumberDBName(),
ALedgerNumber);
DBAccess.GDBAccessObj.Select(MainDS, SelectClause + FilterByPeriod,
MainDS.AGiftBatch.TableName, Transaction);
});
MainDS.AcceptChanges();
}
catch (Exception ex)
{
TLogging.Log(String.Format("Method:{0} - Unexpected error!{1}{1}{2}",
Utilities.GetMethodSignature(),
Environment.NewLine,
ex.Message));
throw ex;
}
return MainDS;
}
示例3: LoadALedgerTable
public static GiftBatchTDS LoadALedgerTable(Int32 ALedgerNumber)
{
#region Validate Arguments
if (ALedgerNumber <= 0)
{
throw new EFinanceSystemInvalidLedgerNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Ledger number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber);
}
#endregion Validate Arguments
GiftBatchTDS MainDS = new GiftBatchTDS();
TDBTransaction Transaction = null;
try
{
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
ref Transaction,
delegate
{
ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction);
#region Validate Data
if ((MainDS.ALedger == null) || (MainDS.ALedger.Count == 0))
{
throw new EFinanceSystemDataTableReturnedNoDataException(String.Format(Catalog.GetString(
"Function:{0} - Details for Ledger {1} could not be accessed!"), Utilities.GetMethodSignature(),
ALedgerNumber));
}
#endregion Validate Data
});
// Remove all Tables that were not filled with data before remoting them.
MainDS.RemoveEmptyTables();
// Accept row changes here so that the Client gets 'unmodified' rows
MainDS.AcceptChanges();
}
catch (Exception ex)
{
TLogging.Log(String.Format("Method:{0} - Unexpected error!{1}{1}{2}",
Utilities.GetMethodSignature(),
Environment.NewLine,
ex.Message));
throw ex;
}
return MainDS;
}
示例4: LoadARecurringGiftBatchAndRelatedData
public static GiftBatchTDS LoadARecurringGiftBatchAndRelatedData(Int32 ALedgerNumber, Int32 ABatchNumber, bool AExcludeBatchRow = false)
{
#region Validate Arguments
if (ALedgerNumber <= 0)
{
throw new EFinanceSystemInvalidLedgerNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Ledger number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber);
}
else if (ABatchNumber <= 0)
{
throw new EFinanceSystemInvalidBatchNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Batch number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber, ABatchNumber);
}
#endregion Validate Arguments
bool ChangesToCommit = false;
GiftBatchTDS MainDS = new GiftBatchTDS();
TDBTransaction Transaction = null;
try
{
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted,
TEnforceIsolationLevel.eilMinimum,
ref Transaction,
delegate
{
MainDS =
LoadARecurringGiftBatchAndRelatedData(ALedgerNumber, ABatchNumber, Transaction, out ChangesToCommit, AExcludeBatchRow);
});
if (ChangesToCommit)
{
// if RecipientLedgerNumber has been updated then this should immediately be saved to the database
GiftBatchTDSAccess.SubmitChanges(MainDS);
}
MainDS.AcceptChanges();
}
catch (Exception ex)
{
TLogging.Log(String.Format("Method:{0} - Unexpected error!{1}{1}{2}",
Utilities.GetMethodSignature(),
Environment.NewLine,
ex.Message));
throw ex;
}
return MainDS;
}
示例5: SubmitRecurringGiftBatch
//.........这里部分代码省略.........
gift.Reference = recGift.Reference;
gift.ReceiptLetterCode = recGift.ReceiptLetterCode;
MainDS.AGift.Rows.Add(gift);
//TODO (not here, but in the client or while posting) Check for Ex-OM Partner
//TODO (not here, but in the client or while posting) Check for expired key ministry (while Posting)
foreach (ARecurringGiftDetailRow recGiftDetail in MainRecurringDS.ARecurringGiftDetail.Rows)
{
//decimal amtIntl = 0M;
decimal amtBase = 0M;
decimal amtTrans = 0M;
if ((recGiftDetail.GiftTransactionNumber == recGift.GiftTransactionNumber)
&& (recGiftDetail.BatchNumber == ABatchNumber) && (recGiftDetail.LedgerNumber == ALedgerNumber)
&& ((recGiftDetail.StartDonations == null) || (recGiftDetail.StartDonations <= AEffectiveDate))
&& ((recGiftDetail.EndDonations == null) || (recGiftDetail.EndDonations >= AEffectiveDate))
)
{
AGiftDetailRow detail = MainDS.AGiftDetail.NewRowTyped();
detail.LedgerNumber = gift.LedgerNumber;
detail.BatchNumber = gift.BatchNumber;
detail.GiftTransactionNumber = gift.GiftTransactionNumber;
detail.DetailNumber = ++gift.LastDetailNumber;
amtTrans = recGiftDetail.GiftAmount;
detail.GiftTransactionAmount = amtTrans;
batchTotal += amtTrans;
amtBase = GLRoutines.Divide((decimal)amtTrans, AExchangeRateToBase);
detail.GiftAmount = amtBase;
if (!TransactionInIntlCurrency)
{
detail.GiftAmountIntl = GLRoutines.Divide((decimal)amtBase, AExchangeRateIntlToBase);
}
else
{
detail.GiftAmountIntl = amtTrans;
}
detail.RecipientKey = recGiftDetail.RecipientKey;
detail.RecipientLedgerNumber = recGiftDetail.RecipientLedgerNumber;
detail.ChargeFlag = recGiftDetail.ChargeFlag;
detail.ConfidentialGiftFlag = recGiftDetail.ConfidentialGiftFlag;
detail.TaxDeductible = recGiftDetail.TaxDeductible;
detail.MailingCode = recGiftDetail.MailingCode;
if (detail.MailingCode.Length == 0)
{
detail.SetMailingCodeNull();
}
detail.MotivationGroupCode = recGiftDetail.MotivationGroupCode;
detail.MotivationDetailCode = recGiftDetail.MotivationDetailCode;
detail.GiftCommentOne = recGiftDetail.GiftCommentOne;
detail.CommentOneType = recGiftDetail.CommentOneType;
detail.GiftCommentTwo = recGiftDetail.GiftCommentTwo;
detail.CommentTwoType = recGiftDetail.CommentTwoType;
detail.GiftCommentThree = recGiftDetail.GiftCommentThree;
detail.CommentThreeType = recGiftDetail.CommentThreeType;
if (TaxDeductiblePercentageEnabled)
{
// Sets TaxDeductiblePct and uses it to calculate the tax deductibility amounts for a Gift Detail
TGift.SetDefaultTaxDeductibilityData(ref detail, gift.DateEntered, Transaction);
}
MainDS.AGiftDetail.Rows.Add(detail);
}
}
batch.BatchTotal = batchTotal;
}
}
}
}
ALedgerAccess.SubmitChanges(ledgerTable, Transaction);
AGiftBatchAccess.SubmitChanges(MainDS.AGiftBatch, Transaction);
AGiftAccess.SubmitChanges(MainDS.AGift, Transaction);
AGiftDetailAccess.SubmitChanges(MainDS.AGiftDetail, Transaction);
MainDS.AcceptChanges();
SubmissionOK = true;
});
}
catch (Exception ex)
{
TLogging.Log(String.Format("Method:{0} - Unexpected error!{1}{1}{2}",
Utilities.GetMethodSignature(),
Environment.NewLine,
ex.Message));
throw ex;
}
}
示例6: LoadDonorRecipientHistory
//.........这里部分代码省略.........
OdbcParameter param;
List <OdbcParameter>parameters = new List <OdbcParameter>();
param = new OdbcParameter("LedgerNumber", OdbcType.Int);
param.Value = ledgerNumber;
parameters.Add(param);
param = new OdbcParameter("DonorAny", OdbcType.Bit);
param.Value = (donorKey == 0);
parameters.Add(param);
param = new OdbcParameter("DonorKey", OdbcType.BigInt);
param.Value = donorKey;
parameters.Add(param);
param = new OdbcParameter("RecipientAny", OdbcType.Bit);
param.Value = (recipientKey == 0);
parameters.Add(param);
param = new OdbcParameter("RecipientKey", OdbcType.BigInt);
param.Value = recipientKey;
parameters.Add(param);
noDates = (dateFrom.Length == 0 && dateTo.Length == 0);
param = new OdbcParameter("DateAny", OdbcType.Bit);
param.Value = noDates;
parameters.Add(param);
if (noDates)
{
//These values don't matter because of the value of noDate
startDate = new DateTime(2000, 1, 1);
endDate = new DateTime(2000, 1, 1);
}
else if ((dateFrom.Length > 0) && (dateTo.Length > 0))
{
startDate = Convert.ToDateTime(dateFrom); //, new CultureInfo("en-US"));
endDate = Convert.ToDateTime(dateTo); //, new CultureInfo("en-US"));
}
else if (dateFrom.Length > 0)
{
startDate = Convert.ToDateTime(dateFrom);
endDate = new DateTime(2050, 1, 1);
}
else
{
startDate = new DateTime(1965, 1, 1);
endDate = Convert.ToDateTime(dateTo);
}
param = new OdbcParameter("DateFrom", OdbcType.Date);
param.Value = startDate;
parameters.Add(param);
param = new OdbcParameter("DateTo", OdbcType.Date);
param.Value = endDate;
parameters.Add(param);
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted,
ref Transaction,
delegate
{
//Load Ledger Table
ALedgerAccess.LoadByPrimaryKey(MainDS, ledgerNumber, Transaction);
//Can do this if needed: MainDS.DisableConstraints();
DBAccess.GDBAccessObj.SelectToTempTable(MainDS, sqlStmt, tempTableName, Transaction, parameters.ToArray(), 0, 0);
MainDS.Tables[tempTableName].Columns.Add("DonorDescription");
PPartnerTable Tbl = null;
// Two scenarios. 1. The donor key is not set which means the Donor Description could be different for every record.
if (donorKey == 0)
{
Tbl = PPartnerAccess.LoadAll(Transaction);
foreach (DataRow Row in MainDS.Tables[tempTableName].Rows)
{
Row["DonorDescription"] = ((PPartnerRow)Tbl.Rows.Find(new object[] { Convert.ToInt64(
Row["DonorKey"]) })).PartnerShortName;
}
}
// 2. The donor key is set which means the Donor Description will be the same for every record. (Less calculations this way.)
else
{
Tbl = PPartnerAccess.LoadByPrimaryKey(donorKey, Transaction);
foreach (DataRow Row in MainDS.Tables[tempTableName].Rows)
{
Row["DonorDescription"] = Tbl[0].PartnerShortName;
}
}
});
}
catch (Exception e)
{
TLogging.Log("Error in LoadDonorRecipientHistory: " + e.Message);
throw e;
}
MainDS.AcceptChanges();
return MainDS;
}
示例7: LoadRecurringGiftTransactionsForBatch
public static GiftBatchTDS LoadRecurringGiftTransactionsForBatch(Int32 ALedgerNumber, Int32 ABatchNumber)
{
#region Validate Arguments
if (ALedgerNumber <= 0)
{
throw new EFinanceSystemInvalidLedgerNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Ledger number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber);
}
else if (ABatchNumber <= 0)
{
throw new EFinanceSystemInvalidBatchNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Batch number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber, ABatchNumber);
}
#endregion Validate Arguments
GiftBatchTDS MainDS = new GiftBatchTDS();
try
{
MainDS = LoadARecurringGiftBatchAndRelatedData(ALedgerNumber, ABatchNumber);
#region Validate Data
if ((MainDS == null) || (MainDS.Tables.Count == 0))
{
throw new EFinanceSystemDataObjectNullOrEmptyException(String.Format(Catalog.GetString(
"Function:{0} - Dataset MainDS is NULL or has no tables!"),
Utilities.GetMethodName(true),
ALedgerNumber));
}
#endregion Validate Data
// drop all tables apart from ARecurringGift and ARecurringGiftDetail
foreach (DataTable table in MainDS.Tables)
{
if ((table.TableName != MainDS.ARecurringGift.TableName) && (table.TableName != MainDS.ARecurringGiftDetail.TableName))
{
table.Clear();
}
}
MainDS.AcceptChanges();
}
catch (Exception ex)
{
TLogging.Log(String.Format("Method:{0} - Unexpected error!{1}{1}{2}",
Utilities.GetMethodSignature(),
Environment.NewLine,
ex.Message));
throw ex;
}
return MainDS;
}
示例8: LoadAGiftBatchForYearPeriod
public static GiftBatchTDS LoadAGiftBatchForYearPeriod(Int32 ALedgerNumber, Int32 AYear, Int32 APeriod)
{
GiftBatchTDS MainDS = new GiftBatchTDS();
string FilterByPeriod = string.Empty;
TDBTransaction Transaction = null;
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted,
ref Transaction,
delegate
{
//Load Ledger table
ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction);
if (AYear > -1)
{
FilterByPeriod = String.Format(" AND PUB_{0}.{1} = {2}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetBatchYearDBName(),
AYear);
if ((APeriod == 0) && (AYear == MainDS.ALedger[0].CurrentFinancialYear))
{
//Return current and forwarding periods
FilterByPeriod += String.Format(" AND PUB_{0}.{1} >= {2}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetBatchPeriodDBName(),
MainDS.ALedger[0].CurrentPeriod);
}
else if (APeriod > 0)
{
//Return only specified period
FilterByPeriod += String.Format(" AND PUB_{0}.{1} = {2}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetBatchPeriodDBName(),
APeriod);
}
else
{
//Nothing to add, returns all periods
}
}
string SelectClause =
String.Format("SELECT * FROM PUB_{0} WHERE {1} = {2}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetLedgerNumberDBName(),
ALedgerNumber);
DBAccess.GDBAccessObj.Select(MainDS, SelectClause + FilterByPeriod,
MainDS.AGiftBatch.TableName, Transaction);
});
MainDS.AcceptChanges();
return MainDS;
}
示例9: LoadAGiftBatchSingle
public static GiftBatchTDS LoadAGiftBatchSingle(Int32 ALedgerNumber, Int32 ABatchNumber)
{
#region Validate Arguments
if (ALedgerNumber <= 0)
{
throw new EFinanceSystemInvalidLedgerNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Ledger number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber);
}
else if (ABatchNumber <= 0)
{
throw new EFinanceSystemInvalidBatchNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Batch number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber, ABatchNumber);
}
#endregion Validate Arguments
GiftBatchTDS MainDS = new GiftBatchTDS();
TDBTransaction Transaction = null;
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
ref Transaction,
delegate
{
MainDS = LoadAGiftBatchSingle(ALedgerNumber, ABatchNumber, ref Transaction);
});
MainDS.AcceptChanges();
return MainDS;
}
示例10: ImportGiftTransactions
/// <summary>
/// Import Gift Transactions from a file
/// </summary>
/// <param name="ARequestParams"></param>
/// <param name="AImportString"></param>
/// <param name="AGiftBatchNumber"></param>
/// <param name="ANeedRecipientLedgerNumber"></param>
/// <param name="AMessages"></param>
/// <returns></returns>
public bool ImportGiftTransactions(
Hashtable ARequestParams,
String AImportString,
Int32 AGiftBatchNumber,
out GiftBatchTDSAGiftDetailTable ANeedRecipientLedgerNumber,
out TVerificationResultCollection AMessages
)
{
TProgressTracker.InitProgressTracker(DomainManager.GClientID.ToString(),
Catalog.GetString("Importing Gift Batches"),
100);
TProgressTracker.SetCurrentState(DomainManager.GClientID.ToString(),
Catalog.GetString("Initialising"),
5);
AMessages = new TVerificationResultCollection();
FMainDS = new GiftBatchTDS();
StringReader sr = new StringReader(AImportString);
ANeedRecipientLedgerNumber = new GiftBatchTDSAGiftDetailTable();
// Parse the supplied parameters
FDelimiter = (String)ARequestParams["Delimiter"];
FLedgerNumber = (Int32)ARequestParams["ALedgerNumber"];
FDateFormatString = (String)ARequestParams["DateFormatString"];
String NumberFormat = (String)ARequestParams["NumberFormat"];
FNewLine = (String)ARequestParams["NewLine"];
// Set culture from parameters
FCultureInfoNumberFormat = new CultureInfo(NumberFormat.Equals("American") ? "en-US" : "de-DE");
FCultureInfoDate = new CultureInfo("en-GB");
FCultureInfoDate.DateTimeFormat.ShortDatePattern = FDateFormatString;
bool TaxDeductiblePercentageEnabled = Convert.ToBoolean(
TSystemDefaults.GetSystemDefault(SharedConstants.SYSDEFAULT_TAXDEDUCTIBLEPERCENTAGE, "FALSE"));
// Initialise our working variables
TDBTransaction Transaction = null;
decimal totalBatchAmount = 0;
Int32 RowNumber = 0;
Int32 InitialTextLength = AImportString.Length;
Int32 TextProcessedLength = 0;
Int32 PercentDone = 10;
Int32 PreviousPercentDone = 0;
bool ok = false;
string ImportMessage = Catalog.GetString("Initialising");
// Create some validation dictionaries
TValidationControlsDict ValidationControlsDictGift = new TValidationControlsDict();
TValidationControlsDict ValidationControlsDictGiftDetail = new TValidationControlsDict();
try
{
// This needs to be initialised because we will be calling the method
TSharedFinanceValidationHelper.GetValidPeriodDatesDelegate = @TAccountingPeriodsWebConnector.GetPeriodDates;
TSharedFinanceValidationHelper.GetFirstDayOfAccountingPeriodDelegate = @TAccountingPeriodsWebConnector.GetFirstDayOfAccountingPeriod;
// Get a new transaction
Transaction = DBAccess.GDBAccessObj.BeginTransaction(IsolationLevel.Serializable);
// If we did not succeed there is something wrong (a transaction is already dangling somewhere?)
if (Transaction == null)
{
throw new Exception(Catalog.GetString(
"Could not create a new import transaction because an existing transaction has not completed."));
}
// Load supplementary tables that we are going to need for validation
ALedgerTable LedgerTable = ALedgerAccess.LoadByPrimaryKey(FLedgerNumber, Transaction);
ACostCentreTable CostCentreTable = ACostCentreAccess.LoadViaALedger(FLedgerNumber, Transaction);
AMotivationGroupTable MotivationGroupTable = AMotivationGroupAccess.LoadViaALedger(FLedgerNumber, Transaction);
AMotivationDetailTable MotivationDetailTable = AMotivationDetailAccess.LoadViaALedger(FLedgerNumber, Transaction);
AMethodOfGivingTable MethodOfGivingTable = AMethodOfGivingAccess.LoadAll(Transaction);
AMethodOfPaymentTable MethodOfPaymentTable = AMethodOfPaymentAccess.LoadAll(Transaction);
AGiftBatchTable giftBatchTable = AGiftBatchAccess.LoadViaALedger(FLedgerNumber, Transaction);
DataView giftBatchDV = new DataView(giftBatchTable, String.Format("{0}={1}",
AGiftBatchTable.GetBatchNumberDBName(), AGiftBatchNumber), "", DataViewRowState.CurrentRows);
FMainDS.AGiftBatch.ImportRow(giftBatchDV[0].Row);
FMainDS.AcceptChanges();
AGiftBatchRow giftBatch = (AGiftBatchRow)FMainDS.AGiftBatch.Rows.Find(new object[] { FLedgerNumber, AGiftBatchNumber });
if (LedgerTable.Rows.Count == 0)
{
throw new Exception(String.Format(Catalog.GetString("Ledger {0} doesn't exist."), FLedgerNumber));
}
ImportMessage = Catalog.GetString("Parsing first line");
AGiftRow previousGift = null;
//.........这里部分代码省略.........
示例11: UpdateRecord
public void UpdateRecord()
{
TDBTransaction ReadTransaction = null;
GiftBatchTDS MainDS = new GiftBatchTDS();
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(
IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum, ref ReadTransaction,
delegate
{
ALedgerAccess.LoadAll(MainDS, ReadTransaction);
});
MainDS.ALedger[0].LastGiftBatchNumber++;
AGiftBatchRow batch = MainDS.AGiftBatch.NewRowTyped();
batch.LedgerNumber = MainDS.ALedger[0].LedgerNumber;
batch.BatchNumber = MainDS.ALedger[0].LastGiftBatchNumber;
batch.BankAccountCode = "6000";
batch.BatchYear = 0;
batch.BatchPeriod = 1;
batch.CurrencyCode = "EUR";
batch.BatchDescription = "test";
batch.BankCostCentre = (MainDS.ALedger[0].LedgerNumber * 100).ToString("0000");
batch.LastGiftNumber = 0;
batch.HashTotal = 83;
MainDS.AGiftBatch.Rows.Add(batch);
GiftBatchTDSAccess.SubmitChanges(MainDS);
MainDS.AcceptChanges();
MainDS.AGiftBatch[0].BatchDescription = "test2";
GiftBatchTDSAccess.SubmitChanges(MainDS);
TDBTransaction transaction = DBAccess.GDBAccessObj.BeginTransaction();
AGiftBatchTable batches = AGiftBatchAccess.LoadByPrimaryKey(batch.LedgerNumber, batch.BatchNumber, transaction);
DBAccess.GDBAccessObj.RollbackTransaction();
// some problems with sqlite and datagrid
Assert.AreEqual(typeof(decimal), batches[0][AGiftBatchTable.ColumnHashTotalId].GetType(), "type decimal");
Assert.AreEqual(83.0m, batches[0].HashTotal, "gift batch hashtotal does not equal");
}
示例12: ImportGiftTransactions
/// <summary>
/// Import Gift Transactions from a file
/// </summary>
/// <param name="ARequestParams"></param>
/// <param name="AImportString"></param>
/// <param name="AGiftBatchNumber"></param>
/// <param name="ANeedRecipientLedgerNumber"></param>
/// <param name="AMessages"></param>
/// <returns></returns>
public bool ImportGiftTransactions(
Hashtable ARequestParams,
String AImportString,
Int32 AGiftBatchNumber,
out GiftBatchTDSAGiftDetailTable ANeedRecipientLedgerNumber,
out TVerificationResultCollection AMessages
)
{
TProgressTracker.InitProgressTracker(DomainManager.GClientID.ToString(),
Catalog.GetString("Importing Gift Batches"),
100);
TProgressTracker.SetCurrentState(DomainManager.GClientID.ToString(),
Catalog.GetString("Initialising"),
5);
GiftBatchTDSAGiftDetailTable NeedRecipientLedgerNumber = new GiftBatchTDSAGiftDetailTable();
TVerificationResultCollection Messages = new TVerificationResultCollection();
// fix for Mono issue with out parameter: https://bugzilla.xamarin.com/show_bug.cgi?id=28196
AMessages = Messages;
FMainDS = new GiftBatchTDS();
StringReader sr = new StringReader(AImportString);
// Parse the supplied parameters
FDelimiter = (String)ARequestParams["Delimiter"];
FLedgerNumber = (Int32)ARequestParams["ALedgerNumber"];
FDateFormatString = (String)ARequestParams["DateFormatString"];
String NumberFormat = (String)ARequestParams["NumberFormat"];
FNewLine = (String)ARequestParams["NewLine"];
// Set culture from parameters
FCultureInfoNumberFormat = new CultureInfo(NumberFormat.Equals("American") ? "en-US" : "de-DE");
FCultureInfoDate = new CultureInfo("en-GB");
FCultureInfoDate.DateTimeFormat.ShortDatePattern = FDateFormatString;
bool TaxDeductiblePercentageEnabled = Convert.ToBoolean(
TSystemDefaults.GetSystemDefault(SharedConstants.SYSDEFAULT_TAXDEDUCTIBLEPERCENTAGE, "FALSE"));
// Initialise our working variables
decimal totalBatchAmount = 0;
Boolean CancelledByUser = false;
string ImportMessage = Catalog.GetString("Initialising");
// This needs to be initialised because we will be calling the method
TSharedFinanceValidationHelper.GetValidPeriodDatesDelegate = @TAccountingPeriodsWebConnector.GetPeriodDates;
TSharedFinanceValidationHelper.GetFirstDayOfAccountingPeriodDelegate = @TAccountingPeriodsWebConnector.GetFirstDayOfAccountingPeriod;
TDBTransaction Transaction = null;
bool SubmissionOK = false;
Int32 RowNumber = 0;
DBAccess.GDBAccessObj.BeginAutoTransaction(IsolationLevel.Serializable,
ref Transaction,
ref SubmissionOK,
delegate
{
try
{
// Load supplementary tables that we are going to need for validation
ALedgerTable LedgerTable = ALedgerAccess.LoadByPrimaryKey(FLedgerNumber, Transaction);
ACostCentreTable CostCentreTable = ACostCentreAccess.LoadViaALedger(FLedgerNumber, Transaction);
AAccountTable AccountTable = AAccountAccess.LoadViaALedger(FLedgerNumber, Transaction);
AMotivationGroupTable MotivationGroupTable = AMotivationGroupAccess.LoadViaALedger(FLedgerNumber, Transaction);
AMotivationDetailTable MotivationDetailTable = AMotivationDetailAccess.LoadViaALedger(FLedgerNumber, Transaction);
AMethodOfGivingTable MethodOfGivingTable = AMethodOfGivingAccess.LoadAll(Transaction);
AMethodOfPaymentTable MethodOfPaymentTable = AMethodOfPaymentAccess.LoadAll(Transaction);
PMailingTable MailingTable = PMailingAccess.LoadAll(Transaction);
PFormTable MailingFormTable = TFormTemplatesWebConnector.GetPartnerForms();
AGiftBatchTable giftBatchTable = AGiftBatchAccess.LoadByPrimaryKey(FLedgerNumber, AGiftBatchNumber, Transaction);
FMainDS.AGiftBatch.ImportRow(giftBatchTable[0]);
FMainDS.AcceptChanges();
AGiftBatchRow giftBatch = FMainDS.AGiftBatch[0];
if (LedgerTable.Rows.Count == 0)
{
throw new Exception(String.Format(Catalog.GetString("Ledger {0} doesn't exist."), FLedgerNumber));
}
string LedgerBaseCurrency = ((ALedgerRow)LedgerTable.Rows[0]).BaseCurrency;
string LedgerIntlCurrency = ((ALedgerRow)LedgerTable.Rows[0]).IntlCurrency;
decimal intlRateFromBase = -1.0m;
DateTime firstOfMonth;
if (TSharedFinanceValidationHelper.GetFirstDayOfAccountingPeriod(FLedgerNumber,
giftBatch.GlEffectiveDate, out firstOfMonth))
{
intlRateFromBase = TExchangeRateTools.GetCorporateExchangeRate(LedgerBaseCurrency, LedgerIntlCurrency, firstOfMonth,
//.........这里部分代码省略.........
示例13: LoadAGiftBatchesForCurrentYear
public static GiftBatchTDS LoadAGiftBatchesForCurrentYear(Int32 ALedgerNumber)
{
GiftBatchTDS MainDS = new GiftBatchTDS();
TDBTransaction Transaction = null;
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted,
ref Transaction,
delegate
{
ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction);
string SelectClause = String.Format("SELECT * FROM PUB_{0} WHERE {1} = {2} AND PUB_{0}.{3} = {4}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetLedgerNumberDBName(),
ALedgerNumber,
AGiftBatchTable.GetBatchYearDBName(),
MainDS.ALedger[0].CurrentFinancialYear);
DBAccess.GDBAccessObj.Select(MainDS, SelectClause, MainDS.AGiftBatch.TableName, Transaction);
});
MainDS.AcceptChanges();
return MainDS;
}
示例14: LoadAGiftBatchesForCurrentYearPeriod
public static GiftBatchTDS LoadAGiftBatchesForCurrentYearPeriod(Int32 ALedgerNumber)
{
#region Validate Arguments
if (ALedgerNumber <= 0)
{
throw new EFinanceSystemInvalidLedgerNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Ledger number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber);
}
#endregion Validate Arguments
GiftBatchTDS MainDS = new GiftBatchTDS();
TDBTransaction Transaction = null;
try
{
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
ref Transaction,
delegate
{
ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction);
#region Validate Data
if ((MainDS.ALedger == null) || (MainDS.ALedger.Count == 0))
{
throw new EFinanceSystemDataTableReturnedNoDataException(String.Format(Catalog.GetString(
"Function:{0} - Ledger data for Ledger number {1} does not exist or could not be accessed!"),
Utilities.GetMethodName(true),
ALedgerNumber));
}
#endregion Validate Data
string SelectClause = String.Format("SELECT * FROM PUB_{0} WHERE {1} = {2} AND PUB_{0}.{3} = {4} AND PUB_{0}.{5} >= {6}",
AGiftBatchTable.GetTableDBName(),
AGiftBatchTable.GetLedgerNumberDBName(),
ALedgerNumber,
AGiftBatchTable.GetBatchYearDBName(),
MainDS.ALedger[0].CurrentFinancialYear,
AGiftBatchTable.GetBatchPeriodDBName(),
MainDS.ALedger[0].CurrentPeriod);
DBAccess.GDBAccessObj.Select(MainDS, SelectClause, MainDS.AGiftBatch.TableName, Transaction);
});
MainDS.AcceptChanges();
}
catch (Exception ex)
{
TLogging.Log(String.Format("Method:{0} - Unexpected error!{1}{1}{2}",
Utilities.GetMethodSignature(),
Environment.NewLine,
ex.Message));
throw ex;
}
return MainDS;
}
示例15: LoadAGiftSingle
public static GiftBatchTDS LoadAGiftSingle(Int32 ALedgerNumber, Int32 ABatchNumber, Int32 AGiftTransactionNumber)
{
#region Validate Arguments
if (ALedgerNumber <= 0)
{
throw new EFinanceSystemInvalidLedgerNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Ledger number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber);
}
else if (ABatchNumber <= 0)
{
throw new EFinanceSystemInvalidBatchNumberException(String.Format(Catalog.GetString(
"Function:{0} - The Batch number must be greater than 0!"),
Utilities.GetMethodName(true)), ALedgerNumber, ABatchNumber);
}
else if (AGiftTransactionNumber <= 0)
{
throw new ArgumentException(String.Format(Catalog.GetString(
"Function:{0} - The Gift Transaction number in Ledger {1}, Batch {2} must be greater than 0!"),
Utilities.GetMethodName(true), ALedgerNumber, ABatchNumber));
}
#endregion Validate Arguments
GiftBatchTDS MainDS = new GiftBatchTDS();
TDBTransaction Transaction = null;
try
{
DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
ref Transaction,
delegate
{
ALedgerAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, Transaction);
AGiftBatchAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, ABatchNumber, Transaction);
AGiftAccess.LoadByPrimaryKey(MainDS, ALedgerNumber, ABatchNumber, AGiftTransactionNumber, Transaction);
AGiftDetailAccess.LoadViaAGift(MainDS, ALedgerNumber, ABatchNumber, AGiftTransactionNumber, Transaction);
#region Validate Data
if ((MainDS.ALedger == null) || (MainDS.ALedger.Count == 0))
{
throw new EFinanceSystemDataTableReturnedNoDataException(String.Format(Catalog.GetString(
"Function:{0} - Ledger data for Ledger number {1} does not exist or could not be accessed!"),
Utilities.GetMethodName(true),
ALedgerNumber));
}
else if ((MainDS.AGiftBatch == null) || (MainDS.AGiftBatch.Count == 0))
{
throw new EFinanceSystemDataTableReturnedNoDataException(String.Format(Catalog.GetString(
"Function:{0} - Batch data for Gift Batch number {1} in Ledger number {2} does not exist or could not be accessed!"),
Utilities.GetMethodName(true),
ABatchNumber,
ALedgerNumber));
}
else if ((MainDS.AGift == null) || (MainDS.AGift.Count == 0))
{
throw new EFinanceSystemDataTableReturnedNoDataException(String.Format(Catalog.GetString(
"Function:{0} - Gift data for Gift {1} in Batch number {2} in Ledger number {3} does not exist or could not be accessed!"),
Utilities.GetMethodName(true),
AGiftTransactionNumber,
ABatchNumber,
ALedgerNumber));
}
else if ((MainDS.AGiftDetail == null) || (MainDS.AGiftDetail.Count == 0))
{
throw new EFinanceSystemDataTableReturnedNoDataException(String.Format(Catalog.GetString(
"Function:{0} - Gift Details for Gift {1} in Batch number {2} in Ledger number {3} do not exist or could not be accessed!"),
Utilities.GetMethodName(true),
AGiftTransactionNumber,
ABatchNumber,
ALedgerNumber));
}
#endregion Validate Data
});
MainDS.AcceptChanges();
}
catch (Exception ex)
{
TLogging.Log(String.Format("Method:{0} - Unexpected error!{1}{1}{2}",
Utilities.GetMethodSignature(),
Environment.NewLine,
ex.Message));
throw ex;
}
return MainDS;
}