示例#1
0
        private void OnHealthReportSummaryAdded(HealthReportSummaryAdded obj)
        {
            var vm = Model.CreateSummary(obj);

            if (vm == null)
            {
                return;
            }

            lock (_lock)
            {
                HealthReports.Add(vm);
            }
        }
示例#2
0
        /// <summary>
        /// Creates graphics for Health Report Summary as they are getting downloaded from internet.
        /// </summary>
        /// <param name="obj">Health Report Added Message object.</param>
        /// <returns></returns>
        public HealthReportSummaryViewModel CreateSummary(HealthReportSummaryAdded obj)
        {
            switch (obj.Type)
            {
            case SummaryType.Views:
                var vData = (ViewsData)obj.Data;
                return(ProcessViews(vData));

            case SummaryType.Worksets:
                var wData = (WorksetStats)obj.Data;
                return(ProcessWorksets(wData));

            case SummaryType.Families:
                var fData = (FamilyData)obj.Data;
                return(ProcessFamilies(fData));

            case SummaryType.Styles:
                var sData = (StylesData)obj.Data;
                return(ProcessStyles(sData));

            case SummaryType.Links:
                var lData = (LinkData)obj.Data;
                return(ProcessLinks(lData));

            case SummaryType.Models:
                var mData = (ModelStats)obj.Data;
                return(ProcessModels(mData));

            case SummaryType.Groups:
                var gData = (GroupsData)obj.Data;
                return(ProcessGroups(gData));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }