/// <summary>
        /// Gets the name of the reference data categories by category.
        /// </summary>
        /// <param name="listName"></param>
        /// <returns>ReferenceDataCategoryDTO</returns>
        public async Task <ReferenceDataCategoryDTO> GetReferenceDataSimpleLists(string listName)
        {
            using (loggingHelper.RMTraceManager.StartTrace("Integration.GetReferenceDataSimpleLists"))
            {
                string methodName = MethodHelper.GetActualAsyncMethodName();
                loggingHelper.Log(methodName + LoggerTraceConstants.COLON + LoggerTraceConstants.MethodExecutionStarted, TraceEventType.Verbose, null, LoggerTraceConstants.Category, LoggerTraceConstants.PostalAddressAPIPriority, LoggerTraceConstants.PostalAddressIntegrationServiceMethodEntryEventId, LoggerTraceConstants.Title);

                ReferenceDataCategoryDTO referenceCategories = new ReferenceDataCategoryDTO();

                HttpResponseMessage result = await httpHandler.GetAsync(referenceDataWebAPIName + "simpleLists?listName=" + listName);

                if (!result.IsSuccessStatusCode)
                {
                    var responseContent = result.ReasonPhrase;
                    throw new ServiceException(responseContent);
                }

                Tuple <string, SimpleListDTO> apiResult = JsonConvert.DeserializeObject <Tuple <string, SimpleListDTO> >(result.Content.ReadAsStringAsync().Result);

                referenceCategories = ReferenceDataHelper.MapDTO(apiResult.Item2);
                loggingHelper.Log(methodName + LoggerTraceConstants.COLON + LoggerTraceConstants.MethodExecutionCompleted, TraceEventType.Verbose, null, LoggerTraceConstants.Category, LoggerTraceConstants.PostalAddressAPIPriority, LoggerTraceConstants.PostalAddressIntegrationServiceMethodExitEventId, LoggerTraceConstants.Title);

                return(referenceCategories);
            }
        }
示例#2
0
        public static List <ReferenceDataCategoryDTO> MapDTO(List <SimpleListDTO> simpleLists)
        {
            List <ReferenceDataCategoryDTO> referenceDataCategoryDTOList = new List <ReferenceDataCategoryDTO>();

            foreach (var simpleList in simpleLists)
            {
                ReferenceDataCategoryDTO referenceDataCategoryDTO = new ReferenceDataCategoryDTO();
                referenceDataCategoryDTO.CategoryName   = simpleList.ListName;
                referenceDataCategoryDTO.ReferenceDatas = new List <ReferenceDataDTO>();
                foreach (var item in simpleList.ListItems)
                {
                    ReferenceDataDTO referenceDataDTO = new ReferenceDataDTO();
                    referenceDataDTO.DisplayText     = item.DisplayText;
                    referenceDataDTO.DataDescription = item.Description;
                    referenceDataDTO.ID = item.Id;
                    referenceDataDTO.ReferenceDataName  = item.Name;
                    referenceDataDTO.ReferenceDataValue = item.Value;

                    referenceDataCategoryDTO.ReferenceDatas.Add(referenceDataDTO);
                }

                referenceDataCategoryDTOList.Add(referenceDataCategoryDTO);
            }

            return(referenceDataCategoryDTOList);
        }
示例#3
0
        public static List <ReferenceDataCategoryDTO> MapDTO(List <NameValuePair> nameValuePairs)
        {
            List <ReferenceDataCategoryDTO> referenceDataCategoryDTOList = new List <ReferenceDataCategoryDTO>();

            foreach (var nameValuePair in nameValuePairs.GroupBy(x => x.Group))
            {
                ReferenceDataCategoryDTO referenceDataCategoryDTO = new ReferenceDataCategoryDTO();
                referenceDataCategoryDTO.CategoryName   = nameValuePair.Key;
                referenceDataCategoryDTO.ReferenceDatas = new List <ReferenceDataDTO>();
                foreach (var item in nameValuePair)
                {
                    ReferenceDataDTO referenceDataDTO = new ReferenceDataDTO();
                    referenceDataDTO.DisplayText     = item.DisplayText;
                    referenceDataDTO.DataDescription = item.Description;
                    referenceDataDTO.ID = item.Id;
                    referenceDataDTO.ReferenceDataName  = item.Name;
                    referenceDataDTO.ReferenceDataValue = item.Value;

                    referenceDataCategoryDTO.ReferenceDatas.Add(referenceDataDTO);
                }

                referenceDataCategoryDTOList.Add(referenceDataCategoryDTO);
            }

            return(referenceDataCategoryDTOList);
        }
        /// <summary>
        /// Get the Route data for postcode
        /// </summary>
        /// <param name="postcode"></param>
        /// <param name="fields"></param>
        /// <returns></returns>
        public async Task <List <DeliveryRouteDTO> > GetRouteData(string postcode, string fields)
        {
            using (loggingHelper.RMTraceManager.StartTrace("Integration.GetRouteData"))
            {
                string methodName = MethodHelper.GetActualAsyncMethodName();
                loggingHelper.Log(methodName + LoggerTraceConstants.COLON + LoggerTraceConstants.MethodExecutionStarted, TraceEventType.Verbose, null, LoggerTraceConstants.Category, LoggerTraceConstants.PostalAddressAPIPriority, LoggerTraceConstants.PostalAddressIntegrationServiceMethodEntryEventId, LoggerTraceConstants.Title);

                ReferenceDataCategoryDTO referenceCategories = new ReferenceDataCategoryDTO();

                HttpResponseMessage result = await httpHandler.GetAsync(routeDataWebAPIName + "deliveryroute/postcode/" + postcode + "/" + fields);

                if (!result.IsSuccessStatusCode)
                {
                    var responseContent = result.ReasonPhrase;
                    throw new ServiceException(responseContent);
                }

                List <DeliveryRouteDTO> apiResult = JsonConvert.DeserializeObject <List <DeliveryRouteDTO> >(result.Content.ReadAsStringAsync().Result);

                loggingHelper.Log(methodName + LoggerTraceConstants.COLON + LoggerTraceConstants.MethodExecutionCompleted, TraceEventType.Verbose, null, LoggerTraceConstants.Category, LoggerTraceConstants.PostalAddressAPIPriority, LoggerTraceConstants.PostalAddressIntegrationServiceMethodExitEventId, LoggerTraceConstants.Title);

                return(apiResult);
            }
        }