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&lt;T&gt;.
 /// </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);
        }