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