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> /// Создание нового объекта ContractConsumptionHeat. /// </summary> /// <param name="id">Исходное значение свойства ID.</param> /// <param name="heatByLoading">Исходное значение свойства HeatByLoading.</param> /// <param name="hotWaterByNorm">Исходное значение свойства HotWaterByNorm.</param> /// <param name="totalHeatConsumption">Исходное значение свойства TotalHeatConsumption.</param> public static ContractConsumptionHeat CreateContractConsumptionHeat(global::System.Int32 id, global::System.Double heatByLoading, global::System.Double hotWaterByNorm, global::System.Double totalHeatConsumption) { ContractConsumptionHeat contractConsumptionHeat = new ContractConsumptionHeat(); contractConsumptionHeat.ID = id; contractConsumptionHeat.HeatByLoading = heatByLoading; contractConsumptionHeat.HotWaterByNorm = hotWaterByNorm; contractConsumptionHeat.TotalHeatConsumption = totalHeatConsumption; return contractConsumptionHeat; }
/// <summary> /// Устаревший метод для добавления новых объектов в набор EntitySet ContractConsumptionHeats. Взамен можно использовать метод .Add связанного свойства ObjectSet<T>. /// </summary> public void AddToContractConsumptionHeats(ContractConsumptionHeat contractConsumptionHeat) { base.AddObject("ContractConsumptionHeats", contractConsumptionHeat); }
private void Calculate() { if (SelectedBuilding == null || SelectedThermometerReading == null) return; var month = (int)SelectedThermometerReading.Month; var year = SelectedThermometerReading.Year; var consumptionByLoad = contractCalculator.ConsumptionByLoad(SelectedBuilding.StandartOfHeat, DateTime.DaysInMonth(year, month), SelectedThermometerReading.AirTemperature); var hotWaterByNorm = contractCalculator.HotWaterByNorm(int.Parse(PeopleCount)); var totalHeatConsumption = contractCalculator.TotalHeatConsumption(consumptionByLoad, hotWaterByNorm); var contractConsumption = new ContractConsumptionHeat { Building = SelectedBuilding, HeatByLoading = consumptionByLoad, HotWaterByNorm = hotWaterByNorm, TotalHeatConsumption = totalHeatConsumption, DateTimeInterval = SelectedInterval, ThermometerReading = SelectedThermometerReading }; repository.InsertConstractConsumption(contractConsumption); repository.Save(); ContractConsumptions.Add(contractConsumption); }