public void CreateNormativeAndProjectCalculation() { if (SelectedBuilding == null) return; if (SelectedInterval == null) return; var totalArea = Buildings.Single(building => building.Id == SelectedBuilding.Id).TotalArea; var calculationArea = Double.Parse(CalculationArea); var standartHeat = Double.Parse(Standart); var consumptionByTotalArea = _standartCalculator.CalculateConsumptionByArea(totalArea, standartHeat); var consumptionByCalculationArea = _standartCalculator.CalculateConsumptionByArea(calculationArea, standartHeat); var month = SelectedThermometerReading.Month; var year = SelectedThermometerReading.Year; var countOfPeople = int.Parse(PeopleCount); var consumptionByLoad = _projectCalculator.ConsumptionByLoad(SelectedBuilding.StandartOfHeat, DateTime.DaysInMonth(year, month), SelectedThermometerReading.AirTemperature); var hotWaterByNorm = _projectCalculator.HotWaterByNorm(countOfPeople); var totalHeatConsumption = _projectCalculator.TotalHeatConsumption(consumptionByLoad, hotWaterByNorm); var normativeCalculation = new NormativeCalculation { EstimateConsumptionHeat = standartHeat, ConsumptionHeatByTotalArea = consumptionByTotalArea, ConsumptionHeatByCalculationArea = consumptionByCalculationArea, TotalHeatConsumption = totalHeatConsumption, Building = SelectedBuilding, DateTimeInterval = SelectedInterval }; _normativeRepository.InsertNormativeCalculations(normativeCalculation); _normativeRepository.Save(); var projectCalculation = new ContractConsumptionHeat { HeatByLoading = consumptionByLoad, HotWaterByNorm = hotWaterByNorm, TotalHeatConsumption = totalHeatConsumption, Building = SelectedBuilding, DateTimeInterval = SelectedInterval, ThermometerReading = SelectedThermometerReading }; _projectRepository.InsertConstractConsumption(projectCalculation); _projectRepository.Save(); //Consumptions.Add(contractConsumption); var variables = new BuildingMonthVariables { CalculationArea = calculationArea, CountOfPeople = countOfPeople, Building = SelectedBuilding, DateTimeInterval = SelectedInterval }; _variablesRepository.InsertBuildingMonthVariables(variables); _variablesRepository.Save(); }
/// <summary> /// Создание нового объекта NormativeCalculation. /// </summary> /// <param name="id">Исходное значение свойства Id.</param> /// <param name="estimateConsumptionHeat">Исходное значение свойства EstimateConsumptionHeat.</param> /// <param name="consumptionHeatByTotalArea">Исходное значение свойства ConsumptionHeatByTotalArea.</param> /// <param name="consumptionHeatByCalculationArea">Исходное значение свойства ConsumptionHeatByCalculationArea.</param> /// <param name="totalHeatConsumption">Исходное значение свойства TotalHeatConsumption.</param> public static NormativeCalculation CreateNormativeCalculation(global::System.Int32 id, global::System.Double estimateConsumptionHeat, global::System.Double consumptionHeatByTotalArea, global::System.Double consumptionHeatByCalculationArea, global::System.Double totalHeatConsumption) { NormativeCalculation normativeCalculation = new NormativeCalculation(); normativeCalculation.Id = id; normativeCalculation.EstimateConsumptionHeat = estimateConsumptionHeat; normativeCalculation.ConsumptionHeatByTotalArea = consumptionHeatByTotalArea; normativeCalculation.ConsumptionHeatByCalculationArea = consumptionHeatByCalculationArea; normativeCalculation.TotalHeatConsumption = totalHeatConsumption; return normativeCalculation; }
/// <summary> /// Устаревший метод для добавления новых объектов в набор EntitySet NormativeCalculations. Взамен можно использовать метод .Add связанного свойства ObjectSet<T>. /// </summary> public void AddToNormativeCalculations(NormativeCalculation normativeCalculation) { base.AddObject("NormativeCalculations", normativeCalculation); }
public void CreateNormativeCalculation() { if (SelectedBuilding == null) return; if (SelectedInterval == null) return; var calculationArea = Double.Parse(CalculationArea); var standartHeat = Double.Parse(Standart); var totalArea = Buildings.Single(building => building.Id == SelectedBuilding.Id).StandartOfHeat; var consumptionByCalculationArea = _standartCalculator.CalculateConsumptionByArea(totalArea, standartHeat); var consumptionByTotalArea = _standartCalculator.CalculateTotalConsumption(calculationArea, standartHeat, _constForCalculationTotalConsumption); var normativeCalculation = new NormativeCalculation { EstimateConsumptionHeat = standartHeat, ConsumptionHeatByTotalArea = consumptionByTotalArea, ConsumptionHeatByCalculationArea = consumptionByCalculationArea, Building = SelectedBuilding, DateTimeInterval = SelectedInterval }; _db.InsertNormativeCalculations(normativeCalculation); _db.Save(); }