private async Task InnitDB(CancellationToken cancellationToken) { var context = new TagLogContext(FileName); var storedInfo = await context.TagLogInfo.ToListAsync(cancellationToken).ConfigureAwait(false); foreach (var cfg in Configs) { var storedTagLogInfo = context.TagLogInfo.FirstOrDefault(e => e.FacilityAccessName == cfg.TagLogInfo.FacilityAccessName && e.DeviceName == cfg.TagLogInfo.DeviceName && e.TagName == cfg.TagLogInfo.TagName); if (storedTagLogInfo == default) { storedTagLogInfo = new TagLogInfo { FacilityAccessName = cfg.TagLogInfo.FacilityAccessName, DeviceName = cfg.TagLogInfo.DeviceName, TagName = cfg.TagLogInfo.TagName, }; context.TagLogInfo.Add(storedTagLogInfo); storedInfo.Add(storedTagLogInfo); } cfg.TagLogInfo = storedTagLogInfo; } await context.SaveChangesAsync(cancellationToken).ConfigureAwait(false); context.Dispose(); }
/// <summary> /// Creating logs to send logging worker. /// </summary> /// <param name="originalDocuments"></param> /// <param name="failedDocuments"></param> /// <param name="bulkTagRecord"></param> private List <JobWorkerLog <TagLogInfo> > CreateLogs(List <BulkDocumentInfoBEO> originalDocuments, IEnumerable <KeyValuePair <string, string> > failedDocuments, BulkTagRecord bulkTagRecord) { var jobWorkerLogs = new List <JobWorkerLog <TagLogInfo> >(); foreach (var failedDocument in failedDocuments) { var documentLog = originalDocuments.Find(d => d.DocumentId == failedDocument.Key); if (null == documentLog) { continue; } var logInfo = new TagLogInfo { Information = string.Format("{0} : {1}", documentLog.DCN, failedDocument.Value), IsFailureInDatabaseUpdate = false, IsFailureInSearchUpdate = true, DocumentControlNumber = documentLog.DCN, DocumentId = failedDocument.Key, }; var jobWorkerLog = new JobWorkerLog <TagLogInfo> { JobRunId = Convert.ToInt32(PipelineId), WorkerInstanceId = WorkerId, WorkerRoleType = WorkerRoletype, Success = false, IsMessage = false, LogInfo = logInfo }; jobWorkerLogs.Add(jobWorkerLog); if (!bulkTagRecord.Notification.DocumentsFailed.Exists(d => d == failedDocument.Key)) { bulkTagRecord.Notification.DocumentsFailed.Add(failedDocument.Key); } } return(jobWorkerLogs); }