/// <summary> /// DT_SMART_ANALYSIS_RESULTテーブルからDtSmartAnalysisResultを取得する /// </summary> /// <param name="diskDrive">ディスクドライブ</param> /// <returns>取得したデータ</returns> public DtSmartAnalysisResult ReadDtSmartAnalysisResult(DiskDrive diskDrive) { DtSmartAnalysisResult model = null; try { _logger.EnterJson("{0}", diskDrive); DBAccessor.Models.DtSmartAnalysisResult entity = null; _dbPolly.Execute(() => { using (DBAccessor.Models.RmsDbContext db = new DBAccessor.Models.RmsDbContext(_appSettings)) { entity = db.DtSmartAnalysisResult.FirstOrDefault(x => x.EquipmentUid == diskDrive.SourceEquipmentUid && x.DiskSerialNumber == diskDrive.SerialNo); } }); if (entity != null) { model = entity.ToModel(); } return(model); } catch (Exception e) { throw new RmsException("DT_SMART_ANALYSIS_RESULTテーブルのSelectに失敗しました。", e); } finally { _logger.LeaveJson("{0}", model); } }
/// <summary> /// 引数に指定したDtSmartAnalysisResultでDT_SMART_ANALYSIS_RESULTテーブルを更新する /// </summary> /// <param name="inData">更新するデータ</param> /// <returns>更新したデータ</returns> public DtSmartAnalysisResult UpdateDtSmartAnalysisResult(DtSmartAnalysisResult inData) { DtSmartAnalysisResult model = null; try { _logger.EnterJson("{0}", inData); DBAccessor.Models.DtSmartAnalysisResult entity = new DBAccessor.Models.DtSmartAnalysisResult(inData); // バリデーション Validator.ValidateObject(entity, new ValidationContext(entity, null, null)); _dbPolly.Execute(() => { entity.UpdateDatetime = _timePrivder.UtcNow; using (DBAccessor.Models.RmsDbContext db = new DBAccessor.Models.RmsDbContext(_appSettings)) { db.DtSmartAnalysisResult.Attach(entity); // 全フィールドを更新する // 特定フィールドだけUpdateする場合は下記のように記述してください // db.Entry(entity).Property(x => x.UpdateDatetime).IsModified = true; db.Entry(entity).State = Microsoft.EntityFrameworkCore.EntityState.Modified; if (db.SaveChanges() > 0) { model = entity.ToModel(); } } }); return(model); } catch (ValidationException e) { throw new RmsParameterException(e.ValidationResult.ErrorMessage, e); } catch (Exception e) { throw new RmsException("DT_SMART_ANALYSIS_RESULTテーブルのUpdateに失敗しました。", e); } finally { _logger.LeaveJson("{0}", model); } }