/// <summary> /// /// </summary> /// <param name="request"></param> /// <param name="headerArgs"></param> /// <returns></returns> public ActivateServiceOrderResponseDto ActivateServiceOrder(ActivateServiceOrderRequestDto request, HeaderArgs headerArgs) { if (string.IsNullOrWhiteSpace(request.TN)) throw new ArgumentNullException(request.TN); var getActivateServiceOrderResponse = new ActivateServiceOrderResponseDto() { Status = false }; try { if (Boolean.Parse(ConfigurationManager.AppSettings["NewPerformSOAEnabled"])) { var esbRequest = CreateWpsActivateServiceOrderRequest(request, headerArgs); var client = new ManageTelephoneNumberRegistrationClient(); var esbResponse = client.UpdateLineNumberPortability(esbRequest.ManageTelephoneNumberRegistrationUpdateLineNumberPortabilityRequest); // Handle any unsuccessful conditions if (esbResponse.ExecutionContext.ExecutionStatus.ExecutionStatusSuccessFlag == false) { var messages = esbResponse.ExecutionContext.ExecutionStatus.ExecutionStatusMessage; var errorMessage = String.Empty; var sb = new StringBuilder(); for (int i = 0; i < messages.Length; i++) { sb.AppendLine(String.Format("Error {0}:: Severity: {1}, Code: {2}, Message: {3}", i + 1, messages[i].ExecutionStatusSeverity.ToString(), messages[i].ExecutionStatusCode, messages[i].ExecutionStatusDescription)); } if (sb.ToString().Length > 0) { errorMessage = String.Concat( String.Format( "The activation process for TN # {0} has failed with the following errors: \n\n", request.TN), sb.ToString()); } else { errorMessage = String.Format( "The activation process for TN # {0} has failed for unknown reasons.", request.TN); } throw new EnterpriseServiceException(errorMessage); } } else { var esbRequest = CreateActivateServiceOrderRequest(request, headerArgs); _serviceOrderOrchestration.resumeServiceOrder(esbRequest); } getActivateServiceOrderResponse.Status = true; } catch (System.Exception e) { var isServiceException = _enterpriseExceptionHandler.HandleGeneralServiceExceptions(e); if (isServiceException) { var myException = new System.Exception(Constants.IsServiceExceptionUpperCase, e); throw myException; } throw; } return getActivateServiceOrderResponse; }
/// <summary> /// Gets status of SOA for subscriber /// </summary> /// <param name="request"></param> /// <param name="headerArgs"></param> /// <returns></returns> public LineNumberPortabilityStatusDto GetLineNumberPortabilityStatus(ActivateServiceOrderRequestDto request, HeaderArgs headerArgs) { if (string.IsNullOrWhiteSpace(request.TN)) throw new ArgumentNullException(request.TN); try { var esbRequest = CreateLineTestPortabilityStatusRequest(request, headerArgs); var client = new ManageTelephoneNumberRegistrationClient(); var esbResponse = client.GetLineNumberPortabilityStatus(esbRequest.ManageTelephoneNumberRegistrationGetLineNumberPortabilityStatusRequest); // Handle any unsuccessful conditions if (esbResponse.ExecutionContext.ExecutionStatus.ExecutionStatusSuccessFlag == false) { var messages = esbResponse.ExecutionContext.ExecutionStatus.ExecutionStatusMessage; var errorMessage = String.Empty; var sb = new StringBuilder(); for (int i = 0; i < messages.Length; i++) { sb.AppendLine(String.Format("Error {0}:: Severity: {1}, Code: {2}, Message: {3}", i + 1, messages[i].ExecutionStatusSeverity.ToString(), messages[i].ExecutionStatusCode, messages[i].ExecutionStatusText)); } if (sb.ToString().Length > 0) { errorMessage = String.Concat( String.Format( "The activation process for TN # {0} has failed with the following errors: \n\n", request.TN), sb.ToString()); } else { errorMessage = String.Format( "The activation process for TN # {0} has failed for unknown reasons.", request.TN); } throw new EnterpriseServiceException(errorMessage); } // Parse Data return new LineNumberPortabilityStatusDto() { StatusCode = esbResponse.LineNumberPortabilityStatus.StatusCode, StatusSource = esbResponse.LineNumberPortabilityStatus.StatusSource, Message = esbResponse.LineNumberPortabilityStatus.Message }; } catch (System.Exception e) { var isServiceException = _enterpriseExceptionHandler.HandleGeneralServiceExceptions(e); if (isServiceException) { var myException = new System.Exception(Constants.IsServiceExceptionUpperCase, e); throw myException; } throw; } }