/// <summary>
 /// Clears out all values stored in the dictionaries.
 /// </summary>
 public static void ClearAll()
 {
     Configurations.Clear();
     Projects.Clear();
     FamilyData.Clear();
     SheetsData.Clear();
     WorksetsData.Clear();
     ModelsData.Clear();
     TriggerRecords.Clear();
     ViewsData.Clear();
     StylesData.Clear();
     LinksData.Clear();
     GroupsData.Clear();
 }
예제 #2
0
        /// <summary>
        /// Processes View Stats to create Summary.
        /// </summary>
        /// <param name="data">Views Data</param>
        /// <returns></returns>
        private static HealthReportSummaryViewModel ProcessViews(ViewsData data)
        {
            var viewStats = data.ViewStats.LastOrDefault();

            if (viewStats == null)
            {
                return(null);
            }

            var viewsNotOnSheet     = viewStats.TotalViews - viewStats.ViewsOnSheet;
            var schedulesNotOnSheet = viewStats.TotalSchedules - viewStats.SchedulesOnSheet;

            var viewsNotOnSheetP = Math.Round(
                (double)((viewsNotOnSheet * 100) / viewStats.TotalViews), 0);
            var schedulesNotOnSheetP = Math.Round(
                (double)((schedulesNotOnSheet * 100) / viewStats.TotalSchedules), 0);

            var passingChecks = 0;

            if (viewsNotOnSheetP <= 20)
            {
                passingChecks += 2;
            }
            else
            {
                if (viewsNotOnSheetP > 20 && viewsNotOnSheetP <= 40)
                {
                    passingChecks += 1;
                }
            }
            if (schedulesNotOnSheetP <= 20)
            {
                passingChecks += 2;
            }
            else
            {
                if (schedulesNotOnSheetP > 20 && schedulesNotOnSheetP <= 40)
                {
                    passingChecks += 1;
                }
            }
            var templateValue = Math.Round(
                (double)((viewStats.ViewsOnSheetWithTemplate * 100) / viewStats.ViewsOnSheet), 0);

            if (templateValue >= 80)
            {
                passingChecks += 2;
            }
            else
            {
                if (templateValue > 70 && templateValue <= 80)
                {
                    passingChecks += 1;
                }
            }
            if (viewStats.UnclippedViews <= 20)
            {
                passingChecks += 2;
            }

            const int maxScore = 8;
            var       vm       = new HealthReportSummaryViewModel
            {
                Count      = viewStats.TotalViews.ToString(),
                Title      = "Views:",
                ToolName   = string.Empty,
                ShowButton = false,
                Score      = passingChecks + "/" + maxScore,
                FillColor  = GetColor(passingChecks, maxScore)
            };

            return(vm);
        }