/// <summary> /// Gets all reference data for category type nameValuePair using Guid Id /// </summary> /// <param name="id">Guid Id</param> /// <returns>NameValuePair</returns> public NameValuePair GetNameValueReferenceData(Guid id) { using (loggingHelper.RMTraceManager.StartTrace("DataService.GetNameValueReferenceData")) { string methodName = typeof(ReferenceDataDataService) + "." + nameof(GetNameValueReferenceData); loggingHelper.LogMethodEntry(methodName, priority, entryEventId); RM.Common.ReferenceData.WebAPI.Entities.ReferenceData referenceData = null; referenceData = DataContext.ReferenceDatas.Include(m => m.ReferenceDataCategory) .Where(n => n.ID == id && n.ReferenceDataCategory.CategoryType.Equals(ReferenceDataCategoryTypeForNameValuePair)).SingleOrDefault(); if (referenceData != null) { loggingHelper.LogMethodExit(methodName, priority, exitEventId); return(new NameValuePair { Id = referenceData.ID, Group = referenceData.ReferenceDataCategory.CategoryName, Name = referenceData.ReferenceDataName, Value = referenceData.ReferenceDataValue, DisplayText = referenceData.DisplayText, Description = referenceData.DataDescription, maintainable = referenceData.ReferenceDataCategory.Maintainable }); } else { loggingHelper.LogMethodExit(methodName, priority, exitEventId); return(null); } } }
/// <summary> /// Gets all reference data for category type nameValuePair. /// </summary> /// <param name="dbGroupName">dbGroupName is recorded as the category name</param> /// <param name="dbItemName">dbItemName is recorded as the item name</param> /// <returns>List of <see cref="ReferenceDataCategoryDTO"></returns> public NameValuePair GetNameValueReferenceData(string dbGroupName, string dbItemName) { using (loggingHelper.RMTraceManager.StartTrace("DataService.GetNameValueReferenceData")) { string methodName = MethodBase.GetCurrentMethod().Name; loggingHelper.Log(methodName + LoggerTraceConstants.COLON + LoggerTraceConstants.MethodExecutionStarted, TraceEventType.Verbose, null, LoggerTraceConstants.Category, LoggerTraceConstants.ReferenceDataAPIPriority, LoggerTraceConstants.ReferenceDataDataServiceMethodEntryEventId, LoggerTraceConstants.Title); RM.Common.ReferenceData.WebAPI.Entities.ReferenceData referenceData = null; var referenceDataCategories = DataContext.ReferenceDataCategories.AsNoTracking().Include(m => m.ReferenceDatas) .Where(n => n.CategoryName.Equals(dbGroupName, StringComparison.OrdinalIgnoreCase) && n.CategoryType.Equals(ReferenceDataCategoryTypeForNameValuePair)).SingleOrDefault(); if (referenceDataCategories?.ReferenceDatas != null && referenceDataCategories.ReferenceDatas.Count > 0) { referenceData = referenceDataCategories.ReferenceDatas .Where(n => n.ReferenceDataName.Trim().Equals(dbItemName, StringComparison.OrdinalIgnoreCase)).SingleOrDefault(); loggingHelper.Log(methodName + LoggerTraceConstants.COLON + LoggerTraceConstants.MethodExecutionCompleted, TraceEventType.Verbose, null, LoggerTraceConstants.Category, LoggerTraceConstants.ReferenceDataAPIPriority, LoggerTraceConstants.ReferenceDataDataServiceMethodExitEventId, LoggerTraceConstants.Title); } if (referenceData != null) { loggingHelper.Log(methodName + LoggerTraceConstants.COLON + LoggerTraceConstants.MethodExecutionCompleted, TraceEventType.Verbose, null, LoggerTraceConstants.Category, LoggerTraceConstants.ReferenceDataAPIPriority, LoggerTraceConstants.ReferenceDataDataServiceMethodExitEventId, LoggerTraceConstants.Title); return(new NameValuePair { Id = referenceData.ID, Group = referenceDataCategories.CategoryName, Name = referenceData.ReferenceDataName, Value = referenceData.ReferenceDataValue, DisplayText = referenceData.DisplayText, Description = referenceData.DataDescription, maintainable = referenceDataCategories.Maintainable }); } else { loggingHelper.Log(methodName + LoggerTraceConstants.COLON + LoggerTraceConstants.MethodExecutionCompleted, TraceEventType.Verbose, null, LoggerTraceConstants.Category, LoggerTraceConstants.ReferenceDataAPIPriority, LoggerTraceConstants.ReferenceDataDataServiceMethodExitEventId, LoggerTraceConstants.Title); return(null); } } }