Ejemplo n.º 1
0
        /// <summary>
        /// Converts JournalEntry to StandardAccountingTransactionDTO object
        /// </summary>
        /// <param name="JournalEntry"></param>
        /// <returns>JournalEntry</returns>
        public StandardAccountingTransactionDTO GetAccountingTransactionData(Intuit.Ipp.Data.JournalEntry journalEntry)
        {
            var curFinLineDTOList = new List <FinancialLineDTO>();

            foreach (var curLine in journalEntry.Line)
            {
                var curFinLineToAdd = new FinancialLineDTO();
                //The way to extract Journal Entry Line Detail type object from the Line
                JournalEntryLineDetail curJournalEntryLineDetail = (JournalEntryLineDetail)curLine.AnyIntuitObject;
                //Add Debit or Credit type
                curFinLineToAdd.DebitOrCredit = curJournalEntryLineDetail.PostingType.ToString();
                //Add Amount
                curFinLineToAdd.Amount = curLine.Amount.ToString();
                //Add Account Name
                curFinLineToAdd.AccountName = curJournalEntryLineDetail.AccountRef.name;
                //Add Account Id
                curFinLineToAdd.AccountId = curJournalEntryLineDetail.AccountRef.Value;
                //Add Description
                curFinLineToAdd.Description = curLine.Description;
                //Add the prepared line to the list
                curFinLineDTOList.Add(curFinLineToAdd);
            }

            var curAccountTransactionDTO = new StandardAccountingTransactionDTO()
            {
                Name            = journalEntry.DocNumber,
                TransactionDate = journalEntry.TxnDate,
                FinancialLines  = curFinLineDTOList,
                Memo            = journalEntry.PrivateNote
            };

            return(curAccountTransactionDTO);
        }
Ejemplo n.º 2
0
        public static Intuit.Ipp.Data.JournalEntry CreateJournalEntry()
        {
            var journalEntry = new Intuit.Ipp.Data.JournalEntry();

            journalEntry.Adjustment          = true;
            journalEntry.AdjustmentSpecified = true;

            journalEntry.DocNumber             = "DocNu1";
            journalEntry.TxnDate               = DateTime.UtcNow.Date;
            journalEntry.TxnDateSpecified      = true;
            journalEntry.HomeTotalAmt          = 100;
            journalEntry.HomeTotalAmtSpecified = true;
            journalEntry.TotalAmt              = 100;
            journalEntry.TotalAmtSpecified     = true;
            journalEntry.PrivateNote           = "This is the test Journal Entry";
            List <Line> lineList = new List <Line>();

            Line debitLine = new Line();

            debitLine.Description         = "That is the first line description";
            debitLine.Amount              = new Decimal(100.00);
            debitLine.AmountSpecified     = true;
            debitLine.DetailType          = LineDetailTypeEnum.JournalEntryLineDetail;
            debitLine.DetailTypeSpecified = true;
            JournalEntryLineDetail journalEntryLineDetail = new JournalEntryLineDetail();

            journalEntryLineDetail.PostingType          = PostingTypeEnum.Debit;
            journalEntryLineDetail.PostingTypeSpecified = true;
            journalEntryLineDetail.AccountRef           = new ReferenceType()
            {
                name = "Accumulated Depreciation", Value = "36"
            };
            debitLine.AnyIntuitObject = journalEntryLineDetail;
            lineList.Add(debitLine);

            Line creditLine = new Line();

            creditLine.Description         = "That is the second line description";
            creditLine.Amount              = new Decimal(100.00);
            creditLine.AmountSpecified     = true;
            creditLine.DetailType          = LineDetailTypeEnum.JournalEntryLineDetail;
            creditLine.DetailTypeSpecified = true;
            JournalEntryLineDetail journalEntryLineDetailCredit = new JournalEntryLineDetail();

            journalEntryLineDetailCredit.PostingType          = PostingTypeEnum.Credit;
            journalEntryLineDetailCredit.PostingTypeSpecified = true;
            journalEntryLineDetailCredit.AccountRef           = new ReferenceType()
            {
                name = "Accumulated Depreciation", Value = "36"
            };
            creditLine.AnyIntuitObject = journalEntryLineDetailCredit;
            lineList.Add(creditLine);

            journalEntry.Line = lineList.ToArray();
            return(journalEntry);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Converts StandardAccountingTransactionDTO to JournalEntry object
        /// </summary>
        /// <param name="StandardAccountingTransactionCM"></param>
        /// <returns>JournalEntry</returns>
        public Intuit.Ipp.Data.JournalEntry CreateQbJournalEntry(StandardAccountingTransactionDTO curAccountTransactionDTO)
        {
            //Pack Standard Accounting Transaction DTO with data
            var curJournalEntry = new Intuit.Ipp.Data.JournalEntry
            {
                DocNumber   = curAccountTransactionDTO.Name,
                TxnDate     = curAccountTransactionDTO.TransactionDate,
                PrivateNote = curAccountTransactionDTO.Memo
            };

            var curFinancialLines  = curAccountTransactionDTO.FinancialLines;
            var curTransactionList = new List <Line>();

            foreach (var curTransaction in curFinancialLines)
            {
                var curLineToAdd = new Line
                {
                    Description = curTransaction.Description,
                    Id          = curTransaction.AccountId
                };

                //Add Debit or Credit type
                var curJournalEntryLineDetail = new JournalEntryLineDetail
                {
                    PostingType = ParseEnum <PostingTypeEnum>(curTransaction.DebitOrCredit)
                };
                //Add AccountRef and add name
                var curAccountRef = new ReferenceType
                {
                    name = curTransaction.AccountName
                };
                curJournalEntryLineDetail.AccountRef = curAccountRef;
                curLineToAdd.AnyIntuitObject         = curJournalEntryLineDetail;
                //Add Amount
                curLineToAdd.Amount = decimal.Parse(curTransaction.Amount);
                //Pack the line to the array
                curTransactionList.Add(curLineToAdd);
            }
            Line[] curLineArray = curTransactionList.ToArray();
            curJournalEntry.Line = curLineArray;
            return(curJournalEntry);
        }