public MeasurementDomain ToDomain(List <MeasurementItem> items, InstallationDomain installation)
        {
            var current  = items.First(item => item.Type == MeasurementItemType.Current) ?? throw new ArgumentException("Measurement.Current is null");
            var history  = items.Where(item => item.Type == MeasurementItemType.History).ToList();
            var forecast = items.Where(item => item.Type == MeasurementItemType.Forecast).ToList();

            return(ToDomain(current, history, forecast, installation));
        }
Exemple #2
0
 public InstallationDomain Save(InstallationDomain installation)
 {
     if (ExistsById(installation.Id))
     {
         return(installation);
     }
     installation = installation.WithLocation(_locationRepository.Save(installation.Location))
                    .WithAddress(_addressRepository.Save(installation.Address))
                    .WithSponsor(_sponsorRepository.Save(installation.Sponsor));
     return(_connection.Get.InsertOrReplace(InstallationEntity.FromDomain(installation)) > 0 ? installation : null);
 }
Exemple #3
0
 public Measurement(long?id,
                    int currentDisplayValue,
                    MeasurementItem current,
                    List <MeasurementItem> history,
                    List <MeasurementItem> forecast,
                    InstallationDomain installation)
 {
     Id = id;
     CurrentDisplayValue = currentDisplayValue;
     Current             = current;
     History             = history;
     Forecast            = forecast;
     Installation        = installation;
 }
 public MeasurementDomain ToDomain(MeasurementItem current,
                                   List <MeasurementItem> history,
                                   List <MeasurementItem> forecast,
                                   InstallationDomain installation)
 => new MeasurementDomain(Id, CurrentDisplayValue, current, history, forecast, installation);
Exemple #5
0
 public Measurement WithInstallation(InstallationDomain installation)
 {
     Installation = installation;
     return(this);
 }