private GoodsInTransitForSaleSummary_Fact CreateGoodsInTransitForSaleSummary_Fact(Session session, Guid OwnerOrgId, DateTime IssueDate, string FinancialAccountCode, bool IsBalanceForward) { GoodsInTransitForSaleSummary_Fact result = new GoodsInTransitForSaleSummary_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; if (result.FinancialAccountDimId == null || result.MonthDimId == null || result.YearDimId == null || result.OwnerOrgDimId == null) { return(null); } var date = new DateTime(IssueDate.Year, IssueDate.Month, 1); GoodsInTransitForSaleSummary_Fact previousSummary = GetGoodsInTransitForSaleSummary_Fact(session, OwnerOrgId, date.AddMonths(-1), FinancialAccountCode); if (previousSummary != null) { result.BeginDebitBalance = previousSummary.EndDebitBalance; result.BeginCreditBalance = previousSummary.EndCreditBalance; } result.Save(); result.Save(); return(result); } catch (Exception) { return(null); } }
private GoodsInTransitForSaleSummary_Fact GetGoodsInTransitForSaleSummary_Fact( Session session, Guid OwnerOrgId, DateTime IssueDate, string FinancialAccountCode) { GoodsInTransitForSaleSummary_Fact result = null; try { Util util = new Util(); OwnerOrgDim ownerOrgDim = util.GetXpoObjectByFieldName <OwnerOrgDim, Guid>(session, "RefId", OwnerOrgId, 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 || monthDim == null || yearDim == null || financialAccountDim == null) { return(null); } else { CriteriaOperator criteria_RowStatus = new BinaryOperator("RowStatus", Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_OwnerOrg = new BinaryOperator("OwnerOrgDimId", ownerOrgDim, 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_Month, criteria_Year, criteria_AccountCode); GoodsInTransitForSaleSummary_Fact fact = session.FindObject <GoodsInTransitForSaleSummary_Fact>(criteria); if (fact == null) { return(null); } { result = fact; } } } catch (Exception) { return(result); } return(result); }