예제 #1
0
 /// <summary>
 /// To return processed data i.e. XElement
 /// </summary>
 /// <param name="asyncResult"> object of IAsyncResult which will hold the result of current processing</param>
 public XElement EndShippingScheduleResponse(IAsyncResult asyncResult)
 {
     var meridianAsyncResult = asyncResult as MeridianAsyncResult;
     meridianAsyncResult.AsyncWait.WaitOne();
     if (!meridianAsyncResult.Result.Status.Equals(MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_FAILURE, StringComparison.OrdinalIgnoreCase))
         meridianAsyncResult.Result.Status = SendFileToFTP(meridianAsyncResult.Result).GetAwaiter().GetResult() ? MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_SUCCESS : MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_FAILURE;
     return XElement.Parse(MeridianSystemLibrary.GetMeridian_Status(meridianAsyncResult.Result.Status, meridianAsyncResult.Result.UniqueID, meridianAsyncResult.Result.IsSchedule));
 }
예제 #2
0
        /// <summary>
        /// Soap Method to pass xCBL XML data to the web serivce
        /// </summary>
        /// <param name="ShippingScheduleResponse">XmlElement the xCBL XML data to parse</param>
        /// <returns>XElement - XML Message Acknowledgement response indicating Success or Failure</returns>
        public XElement ShippingScheduleResponse()
        {
            ProcessShippingScheduleResponse objProcess = new ProcessShippingScheduleResponse();
            var meridianResult = objProcess.ProcessShippingScheduleResponseRequest(OperationContext.Current);

            if (!meridianResult.Status.Equals(MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_FAILURE, StringComparison.OrdinalIgnoreCase))
            {
                meridianResult.Status = SendFileToFTP(meridianResult).GetAwaiter().GetResult() ? MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_SUCCESS : MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_FAILURE;
            }
            return(XElement.Parse(MeridianSystemLibrary.GetMeridian_Status(meridianResult.Status, meridianResult.UniqueID, meridianResult.IsSchedule)));
        }
예제 #3
0
        /// <summary>
        /// To return processed data i.e. XElement
        /// </summary>
        /// <param name="asyncResult"> object of IAsyncResult which will hold the result of current processing</param>
        public XElement EndRequisition(IAsyncResult asyncResult)
        {
            var meridianAsyncResult = asyncResult as MeridianAsyncResult;

            meridianAsyncResult.AsyncWait.WaitOne();
            if (!meridianAsyncResult.Result.Status.Equals(MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_FAILURE, StringComparison.OrdinalIgnoreCase))
            {
                if (MeridianGlobalConstants.CONFIG_AWC_REQUISITION_TEST)
                {
                    meridianAsyncResult.Result.Status = MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_SUCCESS;
                }
                else
                {
                    meridianAsyncResult.Result.Status = SendFileToFTP(meridianAsyncResult.Result).GetAwaiter().GetResult() ? MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_SUCCESS : MeridianGlobalConstants.MESSAGE_ACKNOWLEDGEMENT_FAILURE;
                }
            }
            return(XElement.Parse(MeridianSystemLibrary.GetMeridian_Status(meridianAsyncResult.Result.Status, meridianAsyncResult.Result.UniqueID, meridianAsyncResult.Result.IsSchedule)));
        }
예제 #4
0
 public XElement HelloWorld()
 {
     return(XElement.Parse(MeridianSystemLibrary.GetMeridian_Status("Hello World", "Hello World", false)));
 }