private void DrawValue() { var showList = new List <IThisWell>(); var defaultValues = getDefaultValues(); var sample = selectionWell.Sample; var pollutions = Logic.LogicInstances.PollutionLogic.Find(); var calc = new Calc_644(sample, obj, PollutionBase_Class.AllResolution.First(x => x.CurtName == "644")); var middles = pollutions.Select(x => new MiddleValue(x.CurtName, x.Index)).ToArray(); foreach (var selectionWell in sample.SelectionWells) { { var selectionWellViewModel = new SelectionWellViewModel(selectionWell.Well.ShortName, defaultValues.ToArray()); foreach (var selectionValue in selectionWell.ValueSelections) { selectionWellViewModel.Values[selectionValue.Pollution.Index].Value = selectionValue.Value; } showList.Add(selectionWellViewModel); } { var declarationViewModel = new NamedValues("Декларация", defaultValues.ToArray()); var declaration = selectionWell.Well.Declaration; foreach (var declarationValue in declaration.DeclarationValues) { declarationViewModel.Values[declarationValue.Pollution.Index] = new NamedValue(declarationValue.Pollution.CurtName, declarationValue.Pollution.GetRounded(declarationValue.To)); } showList.Add(declarationViewModel); } { var selectedValues = new NamedValues("Выбран", defaultValues.ToArray()); var values = calc.ValueFromResolution(selectionWell.ValueSelections); foreach (var value in values) { var pollutionIndex = value.Pollution.Index; var resultValue = value.Pollution.GetRounded(value.Value); selectedValues.Values[pollutionIndex].Value = resultValue; } foreach (var middle in middles) { var pollutionIndex = middle.Index; middles[pollutionIndex].AddValue(selectedValues.Values[pollutionIndex]); } showList.Add(selectedValues); } } { var middleValues = new NamedValues("Среднее", middles); showList.Add(middleValues); } dgValues.ItemsSource = showList.ToArray(); }
private void DrawValue() { var showList = new List<IThisWell>(); var pollutions = Helpers.LogicHelper.PollutionLogic.Find(); var defaultValues = getDefaultValues(); var values = pollutions.Select(x => new MiddleValue(x.CurtName)).ToArray(); { var calc = new Calc_644(_values, obj, PollutionBase_Class.AllResolution.First(x => x.CurtName == "644")); var sample = selectionWell.Sample; foreach (var selectionWell in sample.SelectionWells) { { var selectionWellViewModel = new ThisWell(selectionWell, pollutions.Select(x => new SelectionValueInternal(selectionWell, x)).ToArray()); foreach (var selectionValue in selectionWell.ValueSelections) { var pollutionIndex = selectionValue.Pollution.Index; selectionWellViewModel.Values[pollutionIndex] = new SelectionValueInternal(selectionValue); } showList.Add(selectionWellViewModel); } { var declaration = selectionWell.Well.Declaration; var declarationViewModel = new ThisCalc("Декларация", pollutions.Select(x => new DeclarationValueInternal(declaration, x)).ToArray()); if (declaration != null) { foreach (var declarationValue in declaration.DeclarationValues) { if (declarationValue.PollutionID > 0) { declarationViewModel.Values[declarationValue.Pollution.Index] = new DeclarationValueInternal(declarationValue); } } } showList.Add(declarationViewModel); } { var selectionViewModel = new ThisCalc("Выбран", defaultValues.ToArray()); foreach (var selectionValue in calc.ValueFromResolution(selectionWell.ValueSelections)) { var pollutionIndex = selectionValue.Pollution.Index; var value = Math.Round(selectionValue.Value, selectionValue.Pollution.Round); selectionViewModel.Values[pollutionIndex] = new ValueCalc(selectionValue.Pollution.CurtName, value); values[pollutionIndex].Add(value); } showList.Add(selectionViewModel); } } } { var middleViewModel = new ThisCalc("Среднее", values); showList.Add(middleViewModel); } dgValues.ItemsSource = showList.ToArray(); }