/// <summary> /// Covert data dto to public dto. /// </summary> /// <param name="deliveryPointGroupDataDTO">Delivery point Group data DTO.</param> /// <returns>Delivery point Group public DTO.</returns> private DeliveryPointGroupDTO ConvertToDTO(DeliveryPointGroupDataDTO deliveryPointGroupDataDTO) { DeliveryPointGroupDTO deliveryPointGroupDTO = null; if (deliveryPointGroupDataDTO != null) { deliveryPointGroupDTO = new DeliveryPointGroupDTO(); // Not need these details as of now // Get boundary Location // Get centroid Location if (deliveryPointGroupDataDTO.AddedDeliveryPoints != null) { } // Get centroid Network Node // Get centroid Delivery Point // Get Delivery Point Group Details if (deliveryPointGroupDataDTO.DeliveryGroup != null) { deliveryPointGroupDTO.ID = deliveryPointGroupDataDTO.DeliveryGroup.ID; deliveryPointGroupDTO.GroupName = deliveryPointGroupDataDTO.DeliveryGroup.GroupName; deliveryPointGroupDTO.DeliverToReception = deliveryPointGroupDataDTO.DeliveryGroup.DeliverToReception; deliveryPointGroupDTO.GroupTypeGUID = deliveryPointGroupDataDTO.DeliveryGroup.GroupTypeGUID; deliveryPointGroupDTO.NumberOfFloors = deliveryPointGroupDataDTO.DeliveryGroup.NumberOfFloors; deliveryPointGroupDTO.InternalDistanceMeters = deliveryPointGroupDataDTO.DeliveryGroup.InternalDistanceMeters; deliveryPointGroupDTO.WorkloadTimeOverrideMinutes = deliveryPointGroupDataDTO.DeliveryGroup.WorkloadTimeOverrideMinutes; } } return(deliveryPointGroupDTO); }
/// <summary> /// Covert delivery point group public DTO to data DTO. /// </summary> /// <param name="deliveryPointGroupDTO">Delivery Point Group DTO.</param> /// <returns>Delivery point public DTO.</returns> private DeliveryPointGroupDataDTO ConvertToDataDTO(DeliveryPointGroupDTO deliveryPointGroupDTO) { DeliveryPointGroupDataDTO deliveryPointGroupDataDTO = new DeliveryPointGroupDataDTO(); if (deliveryPointGroupDTO != null) { // Construct boundary Location deliveryPointGroupDataDTO.GroupBoundary.ID = deliveryPointGroupDTO.GroupBoundaryGUID; deliveryPointGroupDataDTO.GroupBoundary.Shape = deliveryPointGroupDTO.GroupBoundary; // Construct centroid LocationRelationShip for relationship between centroid and deliveryPoints if (deliveryPointGroupDTO.AddedDeliveryPoints != null && deliveryPointGroupDTO.AddedDeliveryPoints.Count > 0) { foreach (var deliveryPoint in deliveryPointGroupDTO.AddedDeliveryPoints) { LocationDataDTO addedDeliveryPoint = new LocationDataDTO(); addedDeliveryPoint.ID = deliveryPoint.ID; deliveryPointGroupDataDTO.AddedDeliveryPoints.Add(addedDeliveryPoint); } } // Construct Delivery Point Group Details deliveryPointGroupDataDTO.DeliveryGroup.ID = deliveryPointGroupDTO.ID; deliveryPointGroupDataDTO.DeliveryGroup.GroupName = deliveryPointGroupDTO.GroupName; deliveryPointGroupDataDTO.DeliveryGroup.DeliverToReception = deliveryPointGroupDTO.DeliverToReception; deliveryPointGroupDataDTO.DeliveryGroup.GroupTypeGUID = deliveryPointGroupDTO.GroupTypeGUID; deliveryPointGroupDataDTO.DeliveryGroup.NumberOfFloors = deliveryPointGroupDTO.NumberOfFloors; deliveryPointGroupDataDTO.DeliveryGroup.InternalDistanceMeters = deliveryPointGroupDTO.InternalDistanceMeters; deliveryPointGroupDataDTO.DeliveryGroup.WorkloadTimeOverrideMinutes = deliveryPointGroupDTO.WorkloadTimeOverrideMinutes; deliveryPointGroupDataDTO.DeliveryGroup.TimeOverrideApproved = deliveryPointGroupDTO.TimeOverrideApproved; deliveryPointGroupDataDTO.DeliveryGroup.TimeOverrideReason = deliveryPointGroupDTO.TimeOverrideReason; deliveryPointGroupDataDTO.DeliveryPointUseIndicatorGUID = deliveryPointGroupDTO.DeliveryPointUseIndicatorGUID; deliveryPointGroupDataDTO.NetworkNodeType = deliveryPointGroupDTO.NetworkNodeType; deliveryPointGroupDataDTO.RelationshipTypeForCentroidToBoundaryGUID = deliveryPointGroupDTO.RelationshipTypeForCentroidToBoundaryGUID; deliveryPointGroupDataDTO.RelationshipTypeForCentroidToDeliveryPointGUID = deliveryPointGroupDTO.RelationshipTypeForCentroidToDeliveryPointGUID; deliveryPointGroupDataDTO.DeliveryGroupStatusGUID = deliveryPointGroupDTO.DeliveryGroupStatus; } return(deliveryPointGroupDataDTO); }
public async Task <IActionResult> CreateDeliveryGroup([FromBody] DeliveryPointGroupDTO deliveryPointGroupDto) { try { using (loggingHelper.RMTraceManager.StartTrace("WebService.AddDeliveryPoint")) { DeliveryPointGroupDTO createDeliveryPointGroupModelDTO = null; string methodName = typeof(DeliveryPointGroupController) + "." + nameof(CreateDeliveryGroup); loggingHelper.LogMethodEntry(methodName, priority, entryEventId); // validate the method argument. if (deliveryPointGroupDto == null) { throw new ArgumentNullException(nameof(deliveryPointGroupDto)); } // validate the model state. if (!ModelState.IsValid) { return(BadRequest(ModelState)); } createDeliveryPointGroupModelDTO = deliveryPointGroupBusinessService.CreateDeliveryPointGroup(deliveryPointGroupDto); loggingHelper.LogMethodExit(methodName, priority, exitEventId); return(Ok(createDeliveryPointGroupModelDTO)); } } catch (AggregateException ae) { foreach (var exception in ae.InnerExceptions) { loggingHelper.Log(exception, TraceEventType.Error); } var realExceptions = ae.Flatten().InnerException; throw realExceptions; } }
/// <summary> /// /// <summary> /// Create Delivery group /// </summary> /// <param name="deliveryPointGroupDto">Public Dto to create Delivery group</param> /// <returns></returns> public DeliveryPointGroupDTO CreateDeliveryPointGroup(DeliveryPointGroupDTO deliveryPointGroupDto) { using (loggingHelper.RMTraceManager.StartTrace("Business.CreateDeliveryPointGroup")) { string methodName = typeof(DeliveryPointGroupBusinessService) + "." + nameof(CreateDeliveryPointGroup); loggingHelper.LogMethodEntry(methodName, priority, entryEventId); if (deliveryPointGroupDto == null) { throw new ArgumentNullException(nameof(deliveryPointGroupDto), string.Format(ErrorConstants.Err_ArgumentmentNullException, deliveryPointGroupDto)); } // Get reference data related to Delivery group List <string> categoryNamesSimpleLists = new List <string> { ReferenceDataCategoryNames.NetworkNodeType, ReferenceDataCategoryNames.DeliveryPointOperationalStatus, ReferenceDataCategoryNames.DeliveryPointUseIndicator, ReferenceDataCategoryNames.LocationRelationshipType }; var referenceDataCategoryList = deliveryPointGroupIntegrationService.GetReferenceDataSimpleLists(categoryNamesSimpleLists).Result; deliveryPointGroupDto.NetworkNodeType = GetReferenceData(referenceDataCategoryList, ReferenceDataCategoryNames.NetworkNodeType, DeliveryPointGroupConstants.DeliveryPointGroupDataProviderGUID, true); deliveryPointGroupDto.DeliveryGroupStatus = GetReferenceData(referenceDataCategoryList, ReferenceDataCategoryNames.DeliveryPointOperationalStatus, DeliveryPointGroupConstants.OperationalStatusGUIDLive, true); deliveryPointGroupDto.DeliveryPointUseIndicatorGUID = GetReferenceData(referenceDataCategoryList, ReferenceDataCategoryNames.DeliveryPointUseIndicator, DeliveryPointGroupConstants.Residential, true); deliveryPointGroupDto.RelationshipTypeForCentroidToBoundaryGUID = GetReferenceData(referenceDataCategoryList, ReferenceDataCategoryNames.LocationRelationshipType, DeliveryPointGroupConstants.RelationshipTypeForCentroidToBoundary, true); deliveryPointGroupDto.RelationshipTypeForCentroidToDeliveryPointGUID = GetReferenceData(referenceDataCategoryList, ReferenceDataCategoryNames.LocationRelationshipType, DeliveryPointGroupConstants.RelationshipTypeForCentroidToDeliveryPoint, true); deliveryPointGroupDto.ID = Guid.NewGuid(); deliveryPointGroupDto.GroupBoundaryGUID = Guid.NewGuid(); deliveryPointGroupDto.GroupBoundary = CreateGroupBoundary(deliveryPointGroupDto.GroupCoordinates); deliveryPointGroupDto.GroupCentroid = deliveryPointGroupDto.GroupBoundary.Centroid; deliveryPointGroupDataService.CreateDeliveryGroup(ConvertToDataDTO(deliveryPointGroupDto)); loggingHelper.LogMethodExit(methodName, priority, exitEventId); return(null); } }
public DeliveryPointGroupDTO UpdateDeliveryGroup(DeliveryPointGroupDTO deliveryPointGroupDto) { using (loggingHelper.RMTraceManager.StartTrace($"Business.{nameof(UpdateDeliveryGroup)}")) { // List<string> categoryNamesSimpleLists = new List<string> //{ // ReferenceDataCategoryNames.DataProvider, // ReferenceDataCategoryNames.OperationalObjectType, // ReferenceDataCategoryNames.AccessLinkDirection, // ReferenceDataCategoryNames.AccessLinkStatus, // ReferenceDataCategoryNames.AccessLinkType, // access link type (NLNodetype) // ReferenceDataCategoryNames.NetworkLinkType, // ReferenceDataCategoryNames.DeliveryPointUseIndicator, // ReferenceDataCategoryNames.NetworkNodeType //}; // var referenceDataCategoryList = // deliveryPointGroupIntegrationService.GetReferenceDataSimpleLists(categoryNamesSimpleLists).Result; deliveryPointGroupDataService.UpdateDeliveryGroup(ConvertToDataDTO(deliveryPointGroupDto)); } return(deliveryPointGroupDto); }