/// create new AP info public static AApDocumentRow CreateNewAPInfo(Int64 APartnerKey, ref AccountsPayableTDS AMainDS) { ALedgerTable LedgerTable = ALedgerAccess.LoadAll(DBAccess.GDBAccessObj.Transaction); AMainDS = TAPTransactionWebConnector.CreateAApDocument(((ALedgerRow)LedgerTable.Rows[0]).LedgerNumber, APartnerKey, true); // Create a new RecurringGiftBatch AApDocumentRow Document = AMainDS.AApDocument[0]; Document.DocumentCode = "TEST"; Document.CreditNoteFlag = false; Document.DateIssued = DateTime.Today; Document.DateEntered = DateTime.Today; Document.TotalAmount = 0; Document.CurrencyCode = "EUR"; Document.LastDetailNumber = 0; // Create a new RecurringGift record AApSupplierRow ApSupplierRow = AMainDS.AApSupplier.NewRowTyped(); ApSupplierRow.PartnerKey = APartnerKey; ApSupplierRow.CurrencyCode = "EUR"; AMainDS.AApSupplier.Rows.Add(ApSupplierRow); return(Document); }
/// create new AP info public static AApDocumentRow CreateNewAPInfo(Int64 APartnerKey, ref AccountsPayableTDS AMainDS, TDataBase ADataBase = null) { TDataBase db = DBAccess.Connect("CreateNewAPInfo", ADataBase); TDBTransaction Transaction = db.BeginTransaction(IsolationLevel.Serializable); ALedgerTable LedgerTable = ALedgerAccess.LoadAll(Transaction); AMainDS = TAPTransactionWebConnector.CreateAApDocument(((ALedgerRow)LedgerTable.Rows[0]).LedgerNumber, APartnerKey, true, db); // Create a new RecurringGiftBatch AApDocumentRow Document = AMainDS.AApDocument[0]; Document.DocumentCode = "TEST"; Document.CreditNoteFlag = false; Document.DateIssued = DateTime.Today; Document.DateEntered = DateTime.Today; Document.TotalAmount = 0; Document.CurrencyCode = "EUR"; Document.LastDetailNumber = 0; // Create a new RecurringGift record AApSupplierRow ApSupplierRow = AMainDS.AApSupplier.NewRowTyped(); ApSupplierRow.PartnerKey = APartnerKey; ApSupplierRow.CurrencyCode = "EUR"; AMainDS.AApSupplier.Rows.Add(ApSupplierRow); Transaction.Commit(); return(Document); }
/// <summary> /// Creates a AP document for the supplier specified with APartnerKey. /// </summary> /// <param name="APartnerKey"></param> /// <param name="AAmount"></param> /// <param name="AExchangeRatePosting"></param> /// <param name="ADocumentCode"></param> /// <param name="ANarrative"></param> /// <param name="AMainDS"></param> /// <param name="ADataBase"></param> /// <returns></returns> private TVerificationResultCollection CreateAPDocument(Int64 APartnerKey, decimal AAmount, decimal?AExchangeRatePosting, string ADocumentCode, string ANarrative, out AccountsPayableTDS AMainDS, TDataBase ADataBase) { string AssertFailMessage = "Problems saving AP document: "; TSubmitChangesResult SubmRes; TVerificationResultCollection VerificationResult; TDataBase db = DBAccess.Connect("CreateAPDocument", ADataBase); AMainDS = TAPTransactionWebConnector.CreateAApDocument(FLedgerNumber, APartnerKey, false, db); AccountsPayableTDS MainDS = AMainDS; TDBTransaction Transaction = new TDBTransaction(); db.ReadTransaction( ref Transaction, delegate { AApSupplierAccess.LoadByPrimaryKey(MainDS, APartnerKey, Transaction); }); AMainDS.AApDocument[0].DocumentCode = ADocumentCode + DateTime.Now.Ticks.ToString(); AMainDS.Merge(TAPTransactionWebConnector.CreateAApDocumentDetail( FLedgerNumber, AMainDS.AApDocument[0].ApDocumentId, AMainDS.AApSupplier[0].DefaultExpAccount, AMainDS.AApSupplier[0].DefaultCostCentre, AAmount, AMainDS.AApDocument[0].LastDetailNumber + 1)); AMainDS.AApDocument[0].LastDetailNumber++; AMainDS.AApDocument[0].TotalAmount = AAmount; AMainDS.AApDocument[0].DocumentStatus = MFinanceConstants.AP_DOCUMENT_APPROVED; AMainDS.AApDocumentDetail[0].Narrative = ANarrative; if (AExchangeRatePosting.HasValue) { AMainDS.AApDocument[0].ExchangeRateToBase = AExchangeRatePosting.Value; } SubmRes = TAPTransactionWebConnector.SaveAApDocument(ref AMainDS, out VerificationResult, db); if (SubmRes != TSubmitChangesResult.scrOK) { Assert.Fail(AssertFailMessage + String.Format(" - (SaveAApDocument return value: {0}) - ", SubmRes) + VerificationResult.BuildVerificationResultString()); } CommonNUnitFunctions.EnsureNullOrEmptyVerificationResult(VerificationResult, AssertFailMessage); // Guard Assert return(VerificationResult); }