public FinancialCustomerLiabilitySummary_Fact GetFinnancialCustomerLiabilitySummaryFact( Session session, Guid OwnerOrgId, Guid CustomerOrgId, DateTime IssueDate, string FinancialAccountCode) { FinancialCustomerLiabilitySummary_Fact result = null; try { Util util = new Util(); OwnerOrgDim ownerOrgDim = util.GetXpoObjectByFieldName <OwnerOrgDim, Guid>(session, "RefId", OwnerOrgId, BinaryOperatorType.Equal); CustomerOrgDim CustomerOrgDim = util.GetXpoObjectByFieldName <CustomerOrgDim, Guid>(session, "RefId", CustomerOrgId, BinaryOperatorType.Equal); MonthDim monthDim = util.GetXpoObjectByFieldName <MonthDim, string>(session, "Name", IssueDate.Month.ToString(), BinaryOperatorType.Equal); YearDim yearDim = util.GetXpoObjectByFieldName <YearDim, string>(session, "Name", IssueDate.Year.ToString(), BinaryOperatorType.Equal); FinancialAccountDim financialAccountDim = util.GetXpoObjectByFieldName <FinancialAccountDim, string>(session, "Code", FinancialAccountCode, BinaryOperatorType.Equal); if (ownerOrgDim == null || CustomerOrgDim == null || monthDim == null || yearDim == null || financialAccountDim == null) { return(null); } else { FinancialCustomerLiabilitySummary_Fact a = null; CriteriaOperator criteria_RowStatus = new BinaryOperator("RowStatus", Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_OwnerOrg = new BinaryOperator("OwnerOrgDimId", ownerOrgDim, BinaryOperatorType.Equal); CriteriaOperator criteria_CustomerOrg = new BinaryOperator("CustomerOrgDimId", CustomerOrgDim, BinaryOperatorType.Equal); CriteriaOperator criteria_Month = new BinaryOperator("MonthDimId", monthDim, BinaryOperatorType.Equal); CriteriaOperator criteria_Year = new BinaryOperator("YearDimId", yearDim, BinaryOperatorType.Equal); CriteriaOperator criteria_AccountCode = new BinaryOperator("FinancialAccountDimId", financialAccountDim, BinaryOperatorType.Equal); CriteriaOperator criteria = CriteriaOperator.And(criteria_RowStatus, criteria_OwnerOrg, criteria_CustomerOrg, criteria_Month, criteria_Year, criteria_AccountCode); FinancialCustomerLiabilitySummary_Fact fact = session.FindObject <FinancialCustomerLiabilitySummary_Fact>(criteria); if (fact == null) { return(null); } { result = fact; } } } catch (Exception) { return(result); } return(result); }
public FinancialCustomerLiabilitySummary_Fact get_FinancialCustomerLiabilitySummary_FactId_5(Session session, Guid CustomerOrgDim, short RowStatus) { try { FinancialCustomerLiabilitySummary_Fact FCLSF_id = session.FindObject <FinancialCustomerLiabilitySummary_Fact>( CriteriaOperator.And( new BinaryOperator("CustomerOrgDim", CustomerOrgDim, BinaryOperatorType.Equal), new BinaryOperator("RowStatus", RowStatus, BinaryOperatorType.Equal) )); if (FCLSF_id == null) { return(null); } return(FCLSF_id); } catch (Exception) { throw; } }
public void FixInvokedBussinessObjects(Session session, XPCollection <DAL.System.Log.BusinessObject> invokedBussinessObjects) { if (invokedBussinessObjects == null || invokedBussinessObjects.Count == 0) { return; } CriteriaOperator criteria_0 = CriteriaOperator.Parse("not(IsNull(FinancialTransactionDimId))"); CriteriaOperator criteria_1 = new InOperator("FinancialTransactionDimId.RefId", invokedBussinessObjects.Select(i => i.RefId)); CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater); CriteriaOperator criteria = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); CorrespondFinancialAccountDim defaultAccDim = CorrespondFinancialAccountDim.GetDefault(session, CorrespondFinancialAccountDimEnum.NAAN_DEFAULT); XPCollection <FinancialCustomerLiabilityDetail> neededToBeFixList = new XPCollection <FinancialCustomerLiabilityDetail>(session, criteria); FinancialCustomerLiabilitySummary_Fact fact = null; if (neededToBeFixList != null && neededToBeFixList.Count > 0) { foreach (FinancialCustomerLiabilityDetail detail in neededToBeFixList) { fact = detail.FinancialCustomerLiabilitySummary_FactId; detail.RowStatus = Utility.Constant.ROWSTATUS_DELETED; detail.Save(); if (defaultAccDim != null && detail.CorrespondFinancialAccountDimId != null && detail.CorrespondFinancialAccountDimId.Code.Equals(defaultAccDim.Code)) { fact.CreditSum -= detail.Credit; fact.DebitSum -= detail.Debit; } fact.EndCreditBalance = fact.BeginCreditBalance + fact.CreditSum - fact.DebitSum; fact.EndDebitBalance = fact.BeginDebitBalance + fact.DebitSum - fact.CreditSum; fact.Save(); } } }
public FinancialCustomerLiabilitySummary_Fact get_FinancialCustomerLiabilitySummary_FactId_2(Session session, int FinancialAccountDimId, int MonthDimId, int YearDimId, short RowStatus) { try { FinancialCustomerLiabilitySummary_Fact FCLSF_id = session.FindObject <FinancialCustomerLiabilitySummary_Fact>( CriteriaOperator.And( new BinaryOperator("FinancialAccountDimId", FinancialAccountDimId, BinaryOperatorType.Equal), new BinaryOperator("MonthDimId", MonthDimId, BinaryOperatorType.Equal), new BinaryOperator("YearDimId", YearDimId, BinaryOperatorType.Equal), new BinaryOperator("RowStatus", RowStatus, BinaryOperatorType.Equal) )); if (FCLSF_id == null) { return(null); } return(FCLSF_id); } catch (Exception) { throw; } }
public FinancialCustomerLiabilitySummary_Fact CreateFinnancialCustomerLiabilitySummaryFact(Session session, Guid OwnerOrgId, Guid CustomerOrgId, DateTime IssueDate, string FinancialAccountCode, bool IsBalanceForward) { FinancialCustomerLiabilitySummary_Fact result = new FinancialCustomerLiabilitySummary_Fact(session); try { ETLAccountingBO accountingBO = new ETLAccountingBO(); DimBO dimBO = new DimBO(); result.BeginCreditBalance = 0; result.BeginDebitBalance = 0; result.CreditSum = 0; result.DebitSum = 0; result.EndCreditBalance = 0; result.EndDebitBalance = 0; result.FinancialAccountDimId = accountingBO.GetFinancialAccountDim(session, FinancialAccountCode); result.MonthDimId = dimBO.GetMonthDim(session, (short)IssueDate.Month); result.YearDimId = dimBO.GetYearDim(session, (short)IssueDate.Year); result.OwnerOrgDimId = dimBO.GetOwnerOrgDim(session, OwnerOrgId); result.RowStatus = Constant.ROWSTATUS_ACTIVE; result.CustomerOrgDimId = dimBO.GetCustomerOrgDim(session, CustomerOrgId); if (result.FinancialAccountDimId == null || result.MonthDimId == null || result.YearDimId == null || result.OwnerOrgDimId == null || result.CustomerOrgDimId == null) { return(null); } result.Save(); return(result); } catch (Exception) { return(null); } }
public DataTable DT_getvalue(int FinancialAccountDimId, int OwnerOrgDimId, int MonthDimId, int YearDimId) { try { int stt = 2; DataTable dt = DT_Header(FinancialAccountDimId, OwnerOrgDimId, MonthDimId, YearDimId); #region load value tung row DataTable DT_get_xp_all = DT_get_xp_ALL(FinancialAccountDimId, OwnerOrgDimId, MonthDimId, YearDimId, true, false, false, "NULL"); if (DT_get_xp_all != null) { foreach (DataColumn dc_all in DT_get_xp_all.Columns) { FinancialCustomerLiabilitySummary_Fact fclsf = BO.get_FinancialCustomerLiabilitySummary_FactId_1(session, Guid.Parse(dc_all.ColumnName.ToString()), Utility.Constant.ROWSTATUS_ACTIVE); if (fclsf != null) { DataRow dr = dt.NewRow(); foreach (DataColumn dc in dt.Columns) { if (dc.ColumnName.Equals("STT")) { dr[dc.ColumnName] = stt++; } if (dc.ColumnName.Equals("tennguoimua")) { if (fclsf.CustomerOrgDimId.Code.Equals("NAAN_DEFAULT")) { dr[dc.ColumnName] = "Khách hàng mặc định"; } else { dr[dc.ColumnName] = fclsf.CustomerOrgDimId.Name; } } if (dc.ColumnName.Equals("sodunodauthang")) { dr[dc.ColumnName] = fclsf.BeginDebitBalance; } XPCollection <FinancialCustomerLiabilityDetail> fcld_xp = BO.get_xp_FinancialCustomerLiabilityDetailId_1(session, fclsf.FinancialCustomerLiabilitySummary_FactId, Utility.Constant.ROWSTATUS_ACTIVE); if (fcld_xp != null) { #region set row no 131 foreach (FinancialCustomerLiabilityDetail fcld in fcld_xp) { if (fcld.Credit > 0 && !fcld.CorrespondFinancialAccountDimId.Code.Equals("NAAN_DEFAULT") && dc.ColumnName.Equals(fcld.CorrespondFinancialAccountDimId.Code)) { double sum_column = 0; if (fclsf.FinancialCustomerLiabilitySummary_FactId != null) { sum_column = SumAcc(dc.ColumnName, fclsf.FinancialCustomerLiabilitySummary_FactId, true); } dr[dc.ColumnName] = sum_column; } if (fcld.Debit > 0 && fcld.CorrespondFinancialAccountDimId.Code.Equals("NAAN_DEFAULT") && dc.ColumnName.Equals("congno")) { double sum_column = 0; if (fcld.CorrespondFinancialAccountDimId.Code != null && fclsf.FinancialCustomerLiabilitySummary_FactId != null) { sum_column = SumAcc(fcld.CorrespondFinancialAccountDimId.Code, fclsf.FinancialCustomerLiabilitySummary_FactId, false); } if (dc.ColumnName.Equals("congno")) { dr[dc.ColumnName] = sum_column; } } } #endregion #region set row co 131 foreach (FinancialCustomerLiabilityDetail fcld in fcld_xp) { if (fcld.Debit > 0 && !fcld.CorrespondFinancialAccountDimId.Code.Equals("NAAN_DEFAULT") && dc.ColumnName.Equals(fcld.CorrespondFinancialAccountDimId.Code + "D")) { double sum_column = 0; if (fclsf.FinancialCustomerLiabilitySummary_FactId != null) { sum_column = SumAcc(dc.ColumnName.ToString().Replace("D", ""), fclsf.FinancialCustomerLiabilitySummary_FactId, false); } dr[dc.ColumnName] = sum_column; } if (fcld.Credit > 0 && fcld.CorrespondFinancialAccountDimId.Code.Equals("NAAN_DEFAULT") && dc.ColumnName.Equals("congco")) { double sum_column = 0; if (fcld.CorrespondFinancialAccountDimId.Code != null && fclsf.FinancialCustomerLiabilitySummary_FactId != null) { sum_column = SumAcc(fcld.CorrespondFinancialAccountDimId.Code, fclsf.FinancialCustomerLiabilitySummary_FactId, true); } if (dc.ColumnName.Equals("congco")) { dr[dc.ColumnName] = sum_column; } } } #endregion } if (dc.ColumnName.Equals("sodunocuoithang")) { dr[dc.ColumnName] = fclsf.EndDebitBalance; } } dt.Rows.Add(dr); } } } #endregion return(dt); } catch (Exception) { return(null); } }
public void CreateFinancialCustomerLiabilityDetail( Session session, ETL_FinnancialCustomerLiabilityDetail Detail, string MainAccountCode) { try { Util util = new Util(); CorrespondFinancialAccountDim defaultCorrespondindAcc = CorrespondFinancialAccountDim.GetDefault(session, CorrespondFinancialAccountDimEnum.NAAN_DEFAULT); FinancialAccountDim defaultFinancialAcc = FinancialAccountDim.GetDefault(session, FinancialAccountDimEnum.NAAN_DEFAULT); ETLAccountingBO accountingBO = new ETLAccountingBO(); FinancialCustomerLiabilitySummary_Fact Fact = GetFinnancialCustomerLiabilitySummaryFact(session, Detail.OwnerOrgId, Detail.CustomerOrgId, Detail.IssueDate, MainAccountCode); FinancialCustomerLiabilityDetail newDetail = new FinancialCustomerLiabilityDetail(session); if (Fact == null) { Fact = CreateFinnancialCustomerLiabilitySummaryFact(session, Detail.OwnerOrgId, Detail.CustomerOrgId, Detail.IssueDate, MainAccountCode, Detail.IsBalanceForward); if (Fact == null) { return; } } var date = new DateTime(Detail.IssueDate.Year, Detail.IssueDate.Month, 1); FinancialCustomerLiabilitySummary_Fact previousSummary = GetFinnancialCustomerLiabilitySummaryFact(session, Detail.OwnerOrgId, Detail.CustomerOrgId, date.AddMonths(-1), MainAccountCode); if (previousSummary != null) { Fact.BeginCreditBalance = previousSummary.EndCreditBalance; Fact.BeginDebitBalance = previousSummary.EndDebitBalance; } /*2014/02/22 Duc.Vo MOD START*/ CorrespondFinancialAccountDim correspondFinancialAccountDim = null; FinancialAccountDim financialAccountDim = null; if (!Detail.CorrespondAccountCode.Equals(string.Empty)) { correspondFinancialAccountDim = util.GetXpoObjectByFieldName <CorrespondFinancialAccountDim, string>(session, "Code", Detail.CorrespondAccountCode, BinaryOperatorType.Equal); } if (!MainAccountCode.Equals(string.Empty)) { financialAccountDim = util.GetXpoObjectByFieldName <FinancialAccountDim, string>(session, "Code", MainAccountCode, BinaryOperatorType.Equal); } /*2014/02/22 Duc.Vo MOD END*/ FinancialTransactionDim financialTransactionDim = util.GetXpoObjectByFieldName <FinancialTransactionDim, Guid>(session, "RefId", Detail.TransactionId, BinaryOperatorType.Equal); CurrencyDim currencyDim = util.GetXpoObjectByFieldName <CurrencyDim, string>(session, "Code", Detail.CurrencyCode, BinaryOperatorType.Equal); if (financialTransactionDim == null) { financialTransactionDim = accountingBO.CreateFinancialTransactionDim(session, Detail.TransactionId); if (financialTransactionDim == null) { return; } } /*2014/02/22 Duc.Vo INS START*/ if (financialAccountDim == null && !MainAccountCode.Equals(string.Empty)) { financialAccountDim = accountingBO.CreateFinancialAccountDim(session, MainAccountCode); } if (correspondFinancialAccountDim == null && !Detail.CorrespondAccountCode.Equals(string.Empty)) { correspondFinancialAccountDim = accountingBO.CreateCorrespondFinancialAccountDim(session, Detail.CorrespondAccountCode); } if (currencyDim == null && !Detail.CurrencyCode.Equals(string.Empty)) { currencyDim = accountingBO.CreateCurrencyDim(session, Detail.CurrencyCode); } newDetail.CorrespondFinancialAccountDimId = correspondFinancialAccountDim; newDetail.Credit = Detail.Credit; newDetail.Debit = Detail.Debit; newDetail.CurrencyDimId = currencyDim; newDetail.FinancialAccountDimId = financialAccountDim; newDetail.FinancialCustomerLiabilitySummary_FactId = Fact; newDetail.FinancialTransactionDimId = financialTransactionDim; /*2014-02-22 ERP-1417 Duc.Vo INS START*/ if (newDetail.FinancialAccountDimId == null) { newDetail.FinancialAccountDimId = defaultFinancialAcc; } if (newDetail.CorrespondFinancialAccountDimId == null) { newDetail.CorrespondFinancialAccountDimId = defaultCorrespondindAcc; } /*2014-02-22 ERP-1417 Duc.Vo INS END*/ newDetail.RowStatus = Constant.ROWSTATUS_ACTIVE; newDetail.Save(); if (Detail.IsBalanceForward) { Fact.BeginCreditBalance = Fact.EndCreditBalance = Detail.Credit; Fact.BeginDebitBalance = Fact.EndDebitBalance = Detail.Debit; Fact.CreditSum = 0; Fact.DebitSum = 0; } else { Fact.CreditSum = Fact.FinancialCustomerLiabilityDetails.Where(i => i.RowStatus == 1 && i.Credit > 0 && i.CorrespondFinancialAccountDimId == defaultCorrespondindAcc).Sum(d => d.Credit); Fact.DebitSum = Fact.FinancialCustomerLiabilityDetails.Where(i => i.RowStatus == 1 && i.Debit > 0 && i.CorrespondFinancialAccountDimId == defaultCorrespondindAcc).Sum(d => d.Debit); Fact.EndCreditBalance = Fact.BeginCreditBalance + Fact.CreditSum - Fact.DebitSum; Fact.EndDebitBalance = Fact.BeginDebitBalance + Fact.DebitSum - Fact.CreditSum; } Fact.Save(); } catch (Exception) { return; } }