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)); }
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); }
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);
public Measurement WithInstallation(InstallationDomain installation) { Installation = installation; return(this); }