/// <summary> /// /// </summary> /// <param name="CurrentSnapshot"></param> /// <param name="PreviousSnapshot"></param> /// <param name="application"></param> /// <param name="indicatorId"></param> /// <returns></returns> static public Double?SumDeltaIndicator(Snapshot CurrentSnapshot, Snapshot PreviousSnapshot, Application application, Constants.SizingInformations measureId) { double?result = null; if (application != null && CurrentSnapshot != null && CurrentSnapshot.SizingMeasuresResults != null) { result = GetSizingMeasure(CurrentSnapshot, measureId); if (PreviousSnapshot != null && PreviousSnapshot.Annotation.Date.DateSnapShot.HasValue && PreviousSnapshot.SizingMeasuresResults != null) { DateTime dtPrevoiusSnapshot = PreviousSnapshot.Annotation.Date.DateSnapShot.Value; DateTime dtCurrentSnapshot = CurrentSnapshot.Annotation.Date.DateSnapShot.Value; var quryPreviusIndicators = from s in application.Snapshots where s.Annotation.Date.DateSnapShot > dtPrevoiusSnapshot && s.Annotation.Date.DateSnapShot < dtCurrentSnapshot from i in s.SizingMeasuresResults where i.Reference.Key == measureId.GetHashCode() select i; result += quryPreviusIndicators.Sum(s => s.DetailResult.Value); } } return(result); }
/// <summary> /// /// </summary> /// <param name="currentSnapshot"></param> /// <param name="previousSnapshot"></param> /// <param name="application"></param> /// <param name="measureId"></param> /// <returns></returns> public static double?SumDeltaIndicator(Snapshot currentSnapshot, Snapshot previousSnapshot, Application application, Constants.SizingInformations measureId) { if (application == null || currentSnapshot?.SizingMeasuresResults == null) { return(null); } double?result = GetSizingMeasure(currentSnapshot, measureId); if (previousSnapshot?.Annotation.Date.DateSnapShot == null || previousSnapshot.SizingMeasuresResults == null || currentSnapshot.Annotation.Date.DateSnapShot == null) { return(result); } DateTime dtPrevoiusSnapshot = previousSnapshot.Annotation.Date.DateSnapShot.Value; DateTime dtCurrentSnapshot = currentSnapshot.Annotation.Date.DateSnapShot.Value; var quryPreviusIndicators = from s in application.Snapshots where s.Annotation.Date.DateSnapShot > dtPrevoiusSnapshot && s.Annotation.Date.DateSnapShot < dtCurrentSnapshot from i in s.SizingMeasuresResults where i.Reference.Key == measureId.GetHashCode() select i; result += quryPreviusIndicators.Sum(s => s.DetailResult.Value); return(result); }
/// <summary> /// /// </summary> /// <param name="snapshot"></param> /// <param name="nbResult"></param> /// <returns></returns> public static List <ModuleResultDTO> GetModulesMeasure(Snapshot snapshot, int nbResult, Constants.SizingInformations measureId) { if (snapshot != null && snapshot.SizingMeasuresResults != null) { return(snapshot.SizingMeasuresResults .Where(_ => _.Reference.Key == measureId.GetHashCode()) .SelectMany(_ => _.ModulesResult) .Where(m => m.DetailResult != null) .Select(_ => new ModuleResultDTO { Name = _.Module.Name, Value = _.DetailResult.Value }) .OrderByDescending(_ => _.Value) .Take(nbResult) .ToList()); } return(null); }
/// <summary> /// /// </summary> /// <param name="snapshot"></param> /// <returns></returns> public static Double?GetSizingMeasure(Snapshot snapshot, Constants.SizingInformations measureId) { if (null != snapshot && snapshot.SizingMeasuresResults != null) { var measure = snapshot.SizingMeasuresResults.Where(_ => _.Reference.Key == measureId.GetHashCode()) .FirstOrDefault(); if (null != measure && measure.DetailResult != null) { return(MathUtility.GetRound(measure.DetailResult.Value)); } } return(null); }
/// <summary> /// /// </summary> /// <param name="snapshot"></param> /// <param name="measureId"></param> /// <returns></returns> public static double?GetSizingMeasure(Snapshot snapshot, Constants.SizingInformations measureId) { var measure = snapshot?.SizingMeasuresResults?.FirstOrDefault(_ => _.Reference.Key == measureId.GetHashCode()); return(measure?.DetailResult != null?MathUtility.GetRound(measure.DetailResult.Value) : null); }