public List <ETL_GeneralJournal> JoinJournal(Session session, List <ETL_GeneralJournal> journalList) { List <ETL_GeneralJournal> result = new List <ETL_GeneralJournal>(); try { ETLAccountingBO accountingBO = new ETLAccountingBO(); foreach (ETL_GeneralJournal journal in journalList) { ETL_GeneralJournal rsJournal = GetJournal(session, result, journal.AccountId); if (rsJournal == null) { rsJournal = new ETL_GeneralJournal(); rsJournal.AccountId = accountingBO.GetHighestAccount(session, journal.AccountId).AccountId; rsJournal.CreateDate = journal.CreateDate; rsJournal.Credit = journal.Credit; rsJournal.CurrencyId = journal.CurrencyId; rsJournal.Debit = journal.Debit; rsJournal.JournalType = journal.JournalType; result.Add(rsJournal); } else { rsJournal.Credit += journal.Credit; rsJournal.Debit += journal.Debit; } } return(result); } catch (Exception) { return(null); } return(result); }
private List <ETL_GeneralJournal> JoinJournal(Session session, List <ETL_GeneralJournal> journalList, string mainAccountCode) { List <ETL_GeneralJournal> result = new List <ETL_GeneralJournal>(); CriteriaOperator criteria_RowStatus = new BinaryOperator("RowStatus", Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_Code = new BinaryOperator("Code", mainAccountCode, BinaryOperatorType.Equal); CriteriaOperator criteria = CriteriaOperator.And(criteria_Code, criteria_RowStatus); Account mainAccount = session.FindObject <Account>(criteria); if (mainAccount == null) { return(null); } try { ETLAccountingBO accountingBO = new ETLAccountingBO(); foreach (ETL_GeneralJournal journal in journalList) { if (accountingBO.IsRelateAccount(session, mainAccount.AccountId, journal.AccountId)) { ETL_GeneralJournal masterJournal = new ETL_GeneralJournal(); masterJournal.AccountId = journal.AccountId; masterJournal.CreateDate = journal.CreateDate; masterJournal.Credit = journal.Credit; masterJournal.Debit = journal.Debit; masterJournal.CurrencyId = journal.CurrencyId; masterJournal.JournalType = journal.JournalType; result.Add(masterJournal); } else { ETL_GeneralJournal rsJournal = GetJournal(session, result, journal.AccountId); if (rsJournal == null) { rsJournal = new ETL_GeneralJournal(); rsJournal.AccountId = accountingBO.GetHighestAccount(session, journal.AccountId).AccountId; rsJournal.CreateDate = journal.CreateDate; rsJournal.Credit = journal.Credit; rsJournal.CurrencyId = journal.CurrencyId; rsJournal.Debit = journal.Debit; rsJournal.JournalType = journal.JournalType; result.Add(rsJournal); } else { rsJournal.Credit += journal.Credit; rsJournal.Debit += journal.Debit; } } } return(result); } catch (Exception) { return(null); } }
public List <ETL_GeneralJournal> JoinJournalList(Session session, List <ETL_GeneralJournal> journalList) { List <ETL_GeneralJournal> result = null; try { result = new List <ETL_GeneralJournal>(); ETLAccountingBO accountingBO = new ETLAccountingBO(); foreach (ETL_GeneralJournal journal in journalList) { if (!IsOffBalanceAccount(session, journal.AccountId)) { bool flag = false; foreach (ETL_GeneralJournal rs_journal in result) { if (IsJoinableJournals(session, rs_journal, journal)) { flag = true; rs_journal.Debit += journal.Debit; rs_journal.Credit += journal.Credit; rs_journal.AccountId = accountingBO.GetHighestAccount(session, rs_journal.AccountId).AccountId; } } if (!flag) { ETL_GeneralJournal temp_journal = journal; temp_journal.AccountId = accountingBO.GetHighestAccount(session, temp_journal.AccountId).AccountId; result.Add(temp_journal); } } } } catch (Exception) { return(null); } return(result); }
public ETL_GeneralJournal JoinJournal(Session session, ETL_GeneralJournal journal1, ETL_GeneralJournal journal2) { ETL_GeneralJournal result = null; ETLAccountingBO accountingBO = new ETLAccountingBO(); try { if (!IsJoinableJournals(session, journal1, journal2)) { return(null); } result = journal1; result.Debit += journal2.Debit; result.Credit += journal2.Credit; result.AccountId = accountingBO.GetHighestAccount(session, journal1.AccountId).AccountId; return(result); } catch (Exception) { return(null); } return(result); }