/// <summary> /// 3回の平均というビジネスロジックを追加している /// </summary> /// <returns></returns> public MeasureEntity GetLatest() { var val1 = _repository.GetLatest(); // データが無ければ例外 if (val1 == null) { throw new DataNotExistsException(); } System.Threading.Thread.Sleep(10); var val2 = _repository.GetLatest(); System.Threading.Thread.Sleep(10); var val3 = _repository.GetLatest(); System.Threading.Thread.Sleep(10); var sum = val1.MeasureValue.Value + val2.MeasureValue.Value + val3.MeasureValue.Value; var ave = sum / 3f; return(new MeasureEntity( val3.AreaId.Value, val3.MeasureDate.Value, ave)); }
/// <summary> /// サーチ処理 /// </summary> public void Search() { // ①インターフェース var measure = _measureRepository.GetLatest(); // ②具象クラス //var measure = Measures.GetLatest( new AreaId(10)); // データが無ければ例外 if (measure == null) { throw new DataNotExistsException(); } // AreaIdText = measure.AreaId.ToString().PadLeft(4, '0'); // ValueObject化 // Objectを指定 AreaIdText = measure.AreaId.DisplayValue; // MeasureDateText = measure.MeasureDate.ToString("yyyy/MM/dd HH:mm:ss"); MeasureDateText = measure.MeasureDate.DisplayValue; // MeasureValueText = Math.Round(measure.MeasureValue, 2) + "℃"; MeasureValueText = measure.MeasureValue.DisplayValue; }
public LatestViewModel(IMeasureRepository measureRepository) { _measureRepository = measureRepository; var entity = _measureRepository.GetLatest(); MeasureDate = entity.MeasureDate.DisplayValue; MeasureValue = entity.MeasureValue.DisplayValue; }
public void Search() { MeasureEntity entity = _measureRepository.GetLatest(); AreaIDText = entity.AreaID.ToString().PadLeft(4, '0'); MeasureDateText = entity.MeasureDate.ToString("yyyy/MM/dd hh:mm:ss"); MeasureValueText = Math.Round(entity.MeasureValue, 2) + "℃"; }
public LatestViewModel(IMeasureRepository measureRepository) { _measureRepository = measureRepository ?? throw new ArgumentNullException(nameof(measureRepository)); var entity = _measureRepository.GetLatest(); MeasureDate = entity.MeasureDate.DisplayValue; MeasureValue = entity.MeasureValue.DisplayValue; }