public EvaluationManagementViewModel([Import] IDiscardRepository contextRepository)
 {
     m_Repository = contextRepository;
     m_Repository.ContextChanged += (s, e) => Application.Current.Dispatcher.Invoke(Reload);
     Reload();
     if (m_ProductionItemViewModels.Any())
     {
         m_SelectedProductionItemViewModel = m_ProductionItemViewModels.First();
     }
     if (m_SelectedInspectionViewModel != null)
     {
         m_SelectedInspectionViewModel = InspectionsFromSelectedProductionItems.First();
         NotifyOfPropertyChange(() => InspectionName);
     }
 }
        private void GenerateAllData()
        {
            var lightControlColor  = (Color)Application.Current.Resources["HighlightColor"];
            var mediumControlColor = (Color)Application.Current.Resources["HighlightMediumColor"];

            m_PieModel.Series.Clear();

            var summary = from discardItem in InspectionsFromSelectedProductionItems.SelectMany(inspection => inspection.DiscardItems)
                          let inspectionAttribute = new
            {
                InspectionAttribute = discardItem.InspectionAttribute
            }
            group discardItem by inspectionAttribute
            into grouped
                select new
            {
                inspectionAttributeDescription = grouped.Key.InspectionAttribute.Description,
                quantity = grouped.Sum(dis => dis.Quantity)
            };

            var pieSeries = new PieSeries
            {
                StrokeThickness    = 1,
                ItemsSource        = summary.ToArray(),
                ValueField         = "quantity",
                LabelField         = "inspectionAttributeDescription",
                OutsideLabelFormat = "{1}: {0}",
                InsideLabelFormat  = string.Empty
            };

            m_PieModel.Series.Add(pieSeries);


            m_BarModel.Series.Clear();
            var barValueAxis = CreateBarValueAxis();

            m_BarModel.Axes.Add(barValueAxis);
            var barSample = CreateBarSeriesWithTitle("Sample");

            var barDiscard = CreateBarSeriesWithTitle("TotalDiscardItems");

            var totalSampleSize = 0;
            var totalQuantity   = 0;

            foreach (var inspection in InspectionsFromSelectedProductionItems)
            {
                totalSampleSize += inspection.SampleSize;
                totalQuantity   += inspection.DiscardItems.Sum(diss => diss.Quantity);
            }

            barSample.Items.Add(new BarItem(totalSampleSize, 0));
            barDiscard.Items.Add(new BarItem(totalQuantity, 0));
            barSample.FillColor  = OxyColor.Parse(mediumControlColor.ToString());
            barDiscard.FillColor = OxyColor.Parse(lightControlColor.ToString());
            m_BarModel.Series.Add(barSample);
            m_BarModel.Series.Add(barDiscard);

            var categoryAxis = CreateCategoryAxisWithoutLabels();

            m_BarModel.Axes.Add(categoryAxis);
        }