public PROJECTSummaryBuilder(SummarizableObject summaryObject, IBluePrintsEntitiesUnitOfWork BluePrintsUOW = null, IP6EntitiesUnitOfWork P6UOW = null) { if (summaryObject.LivePROGRESS == null || summaryObject.LiveBASELINE == null) { return; } this.CurrencyConversion = summaryObject.LiveBASELINE.PROJECT.CURRENCYCONVERSION; this.SummaryObject = summaryObject; this.SummaryObject.ReportingDataDate = this.SummaryObject.LivePROGRESS.DATA_DATE; if (BluePrintsUOW == null) { BluePrintsUOW = BluePrintsEntitiesUnitOfWorkSource.GetUnitOfWorkFactory().CreateUnitOfWork(); } else { this.BluePrintsUnitOfWork = BluePrintsUOW; } if (P6UOW == null) { this.P6UnitOfWork = P6EntitiesUnitOfWorkSource.GetUnitOfWorkFactory().CreateUnitOfWork(); } else { this.P6UnitOfWork = P6UOW; } this.SummaryObject.IntervalPeriod = ISupportProgressReportingExtensions.ConvertProgressIntervalToPeriod(SummaryObject.LivePROGRESS); this.SummaryObject.FirstAlignedDataDate = ISupportProgressReportingExtensions.GenerateFirstAlignedDataDate(SummaryObject.LivePROGRESS); }
public ReportableObjectRollUp(SummarizableObject summaryObject, WORKPACK workpack, SummarizableObject projectSummary) { summaryObject.ReportableObjects = projectSummary.ReportableObjects.Where(x => x.BASELINE_ITEMJoinRATE.BASELINE_ITEM.GUID_WORKPACK == workpack.GUID).ToArray().ToList(); var nonCumulativeBurnedList = projectSummary.NonCumulative_BurnedDataPoints.Where(x => x.WorkpackName == workpack.INTERNAL_NAME1).OrderByDescending(x => x.ProgressDate).ToArray().ToList(); var nonCumulativeActualList = projectSummary.NonCumulative_ActualDataPoints.Where(x => x.WorkpackName == workpack.INTERNAL_NAME1).OrderByDescending(x => x.ProgressDate).ToArray().ToList(); summaryObject.NonCumulative_BurnedDataPoints = new ObservableCollection <ProgressInfo>(nonCumulativeBurnedList); summaryObject.NonCumulative_ActualDataPoints = new ObservableCollection <ProgressInfo>(nonCumulativeActualList); summaryObject.FirstAlignedDataDate = projectSummary.FirstAlignedDataDate; summaryObject.LivePROGRESS = projectSummary.LivePROGRESS; summaryObject.LiveBASELINE = projectSummary.LiveBASELINE; summaryObject.ReportingDataDate = projectSummary.LivePROGRESS.DATA_DATE; summaryObject.IntervalPeriod = projectSummary.IntervalPeriod; this.SummaryObject = summaryObject; }