private void AssertControls(StandardAccountingTransactionCM transactionCrate) { var firstTransaction = transactionCrate.AccountingTransactions[0]; var firstLine1 = firstTransaction.FinancialLines[0]; var secondLine1 = firstTransaction.FinancialLines[1]; //First transaction data Assert.IsTrue(DateTime.Equals(DateTime.Parse("30-Dec-2015", new CultureInfo("en-US")), firstTransaction.TransactionDate), "The dates are not equal"); Assert.AreEqual("The testing transactions", firstTransaction.Memo); //First transaction, first line Assert.AreEqual("Trip to Samarkand", firstLine1.Description); Assert.AreEqual("70", firstLine1.Amount); Assert.AreEqual("Phone", firstLine1.AccountName); Assert.AreEqual("1", firstLine1.AccountId); Assert.AreEqual("Credit", firstLine1.DebitOrCredit); //First transaction, second line Assert.AreEqual("Trip to Samarkand", secondLine1.Description); Assert.AreEqual("70", secondLine1.Amount); Assert.AreEqual("Accounts Payable", secondLine1.AccountName); Assert.AreEqual("Credit", firstLine1.DebitOrCredit); Assert.AreEqual("3", secondLine1.AccountId); Assert.AreEqual("Debit", secondLine1.DebitOrCredit); var secondTransaction = transactionCrate.AccountingTransactions[1]; var firstLine2 = secondTransaction.FinancialLines[0]; var secondLine2 = secondTransaction.FinancialLines[1]; //Second transaction data Assert.IsTrue(DateTime.Equals(DateTime.Parse("30-Dec-2015", new CultureInfo("en-US")), secondTransaction.TransactionDate), "The dates are not equal"); Assert.AreEqual("The testing transactions", secondTransaction.Memo); //Second transaction, first line Assert.AreEqual("Trip to Samarkand", firstLine2.Description); Assert.AreEqual("90", firstLine2.Amount); Assert.AreEqual("Travelling", firstLine2.AccountName); Assert.AreEqual("2", firstLine2.AccountId); Assert.AreEqual("Credit", firstLine2.DebitOrCredit); //Second transaction, second line Assert.AreEqual("Trip to Samarkand", secondLine2.Description); Assert.AreEqual("90", secondLine2.Amount); Assert.AreEqual("Accounts Payable", secondLine2.AccountName); Assert.AreEqual("3", secondLine2.AccountId); Assert.AreEqual("Debit", secondLine2.DebitOrCredit); }
public override async Task Run() { //Obtain the crate of type StandardAccountingTransactionCM that holds the required information var curStandardAccountingTransactionCM = Payload.CratesOfType <StandardAccountingTransactionCM>().Single().Content; //Obtain the crate of type OperationalStateCM to extract the correct StandardAccountingTransactionDTO var curOperationalStateCM = Payload.CratesOfType <OperationalStateCM>().Single().Content; //Get the LoopId that is equal to the Action.Id for to obtain the correct StandardAccountingTransactionDTO //Validate fields of the StandardAccountingTransactionCM crate StandardAccountingTransactionCM.Validate(curStandardAccountingTransactionCM); //Get the list of the StandardAccountingTransactionDTO var curTransactionList = curStandardAccountingTransactionCM.AccountingTransactions; //Take StandardAccountingTransactionDTO from curTransactionList using core function GetCurrentElement var curStandardAccountingTransactionDTO = curTransactionList[LoopIndex]; //Check that all required fields exists in the StandardAccountingTransactionDTO object StandardAccountingTransactionCM.ValidateAccountingTransation(curStandardAccountingTransactionDTO); //Use service to create Journal Entry Object _journalEntry.Create(curStandardAccountingTransactionDTO, AuthorizationToken, HubCommunicator); }
public static StandardAccountingTransactionCM GetAccountingTransactionCM() { var curFinLineDTOList = new List <FinancialLineDTO>(); var curFirstLineDTO = new FinancialLineDTO() { Amount = "100", AccountId = "1", AccountName = "Account-A", DebitOrCredit = "Debit", Description = "Move money to Accout-B" }; var curSecondLineDTO = new FinancialLineDTO() { Amount = "100", AccountId = "2", AccountName = "Account-B", DebitOrCredit = "Credit", Description = "Move money from Accout-A" }; curFinLineDTOList.Add(curFirstLineDTO); curFinLineDTOList.Add(curSecondLineDTO); var curAccoutingTransactionDTO = new StandardAccountingTransactionDTO() { Memo = "That is the test crate", FinancialLines = curFinLineDTOList, Name = "Code1", TransactionDate = DateTime.Parse("2015-12-15") }; var curCrate = new StandardAccountingTransactionCM() { AccountingTransactions = new List <StandardAccountingTransactionDTO>() { curAccoutingTransactionDTO } }; return(curCrate); }