Example #1
0
 /// <summary>
 /// This function will call the ProcessShippingScheduleResponseRequest Method internally and will make async result compelted
 /// </summary>
 /// <param name="state">current MeridianAsyncResult </param>
 /// <returns></returns>
 private void CompleteShippingScheduleResponseProcess(object state)
 {
     var meridianAsyncResult = state as MeridianAsyncResult;
     ProcessShippingScheduleResponse objProcess = new ProcessShippingScheduleResponse();
     meridianAsyncResult.Result = objProcess.ProcessShippingScheduleResponseRequest(meridianAsyncResult.CurrentOperationContext);
     meridianAsyncResult.Completed();
 }
        /// <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)));
        }