/// <summary> /// ムラログ解析結果をDBに登録する /// </summary> /// <param name="dipBlocLog">骨塩ムラログ</param> /// <param name="messageId">メッセージID</param> /// <param name="_analysisData">ムラログ解析対象データ</param> /// <param name="_analysisResult">ムラログ解析結果</param> /// <param name="model">DBへの登録結果</param> /// <returns>成功した場合true、失敗した場合falseを返す</returns> public bool RegistBlocLogAnalysisResultToDb(DipBlocLog dipBlocLog, string messageId, BlocLogAnalysisData _analysisData, BlocLogAnalysisResult _analysisResult, out DtBloclogAnalysisResult model) { model = null; try { _logger.EnterJson("{0}", new { dipBlocLog, messageId, _analysisData, _analysisResult }); var dtBloclogAnalysisResult = new DtBloclogAnalysisResult { EquipmentUid = dipBlocLog.SourceEquipmentUid, BloclogMonth = dipBlocLog.OccurrenceYm, DetectorName = dipBlocLog.DetectorName, DetectorId = dipBlocLog.DetectorId, GpValue = int.Parse(dipBlocLog.GpValue), ImageFileName = dipBlocLog.FileName, FileNameNo = short.Parse(dipBlocLog.SNumber), ShadingResult = _analysisResult.UnevenResult, ShadingResultMcv = _analysisResult.Mcv, ShadingResultScv = _analysisResult.Scv, ShadingResultMcvSv = _analysisData.McvStandardValue, ShadingResultScvSv1 = _analysisData.ScvStandardValue1, ShadingResultScvSv2 = _analysisData.ScvStandardValue2, ImageType = _analysisResult.ImageClassification == 0 ? false : true, ImageSize = _analysisResult.PixelSize, IsBillTarget = dipBlocLog.ServiceFlg == true ? false : true, LogFileName = dipBlocLog.LogFileName }; model = _dtBloclogAnalysisResultRepository.CreateDtBloclogAnalysisResult(dtBloclogAnalysisResult); return(true); } catch (RmsParameterException e) { _logger.Error(e, nameof(Resources.UT_DBA_DBA_006), new object[] { messageId }); return(false); } catch (RmsException e) { _logger.Error(e, nameof(Resources.UT_DBA_DBA_006), new object[] { messageId }); return(false); } finally { _logger.LeaveJson("{0}", new { model }); } }
/// <summary> /// 引数に指定したDtBloclogAnalysisResultをDT_BLOCLOG_ANALYSIS_RESULTテーブルへ登録する /// </summary> /// <param name="inData">登録するデータ</param> /// <returns>処理結果</returns> public DtBloclogAnalysisResult CreateDtBloclogAnalysisResult(DtBloclogAnalysisResult inData) { DtBloclogAnalysisResult model = null; try { _logger.EnterJson("{0}", inData); DBAccessor.Models.DtBloclogAnalysisResult entity = new DBAccessor.Models.DtBloclogAnalysisResult(inData); // バリデーション Validator.ValidateObject(entity, new ValidationContext(entity, null, null)); _dbPolly.Execute(() => { entity.CreateDatetime = _timePrivder.UtcNow; using (DBAccessor.Models.RmsDbContext db = new DBAccessor.Models.RmsDbContext(_appSettings)) { var dbdata = db.DtBloclogAnalysisResult.Add(entity).Entity; db.SaveChanges(); model = dbdata.ToModel(); } }); return(model); } catch (ValidationException e) { throw new RmsParameterException(e.ValidationResult.ErrorMessage, e); } catch (Exception e) { throw new RmsException("DT_BLOCLOG_ANALYSIS_RESULTテーブルへのInsertに失敗しました。", e); } finally { _logger.LeaveJson("{0}", model); } }