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); }