/// <remarks/>
 public void UPDATE_RO_STATUSAsync(InputParameters1 InputParameters, object userState) {
     if ((this.UPDATE_RO_STATUSOperationCompleted == null)) {
         this.UPDATE_RO_STATUSOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUPDATE_RO_STATUSOperationCompleted);
     }
     this.InvokeAsync("UPDATE_RO_STATUS", new object[] {
                 InputParameters}, this.UPDATE_RO_STATUSOperationCompleted, userState);
 }
 /// <remarks/>
 public System.IAsyncResult BeginUPDATE_RO_STATUS(InputParameters1 InputParameters, System.AsyncCallback callback, object asyncState) {
     return this.BeginInvoke("UPDATE_RO_STATUS", new object[] {
                 InputParameters}, callback, asyncState);
 }
 /// <remarks/>
 public void UPDATE_RO_STATUSAsync(InputParameters1 InputParameters) {
     this.UPDATE_RO_STATUSAsync(InputParameters, null);
 }
예제 #4
0
        public RepairOrder UpdateRO(RepairOrder ro, int _logIncidentId = 0, int _logContactId = 0)
        {
            //throw new NotImplementedException();
            RepairOrder result = ro;
            string request = "";
            string response = "";

            string logMessage, logNote;

            if (String.IsNullOrWhiteSpace(ROUpdateURL) || String.IsNullOrWhiteSpace(ROServiceUsername) || String.IsNullOrWhiteSpace(ROServicePassword))
            {
                throw new Exception("Provider's InitForRO not run.");
            }

            RO.CSD_REPAIRS_PUB_Service client = EBSProxyFactory.GetDepotInstance(ROCreateURL, ROServiceUsername, ROServicePassword, ROServiceTimeout);
            RO.SOAHeader hdr = new RO.SOAHeader();
            hdr.Responsibility = "ORACLE_SUPPORT";
            hdr.RespApplication = "CSS";
            hdr.Org_Id = "204";
            hdr.SecurityGroup = "STANDARD";
            hdr.NLSLanguage = "AMERICAN";

            client.SOAHeaderValue = hdr;

            if (ro.RepairNumber != null)
            {
                RO.InputParameters1 ip_update_ro_status = new RO.InputParameters1();

                ip_update_ro_status.P_API_VERSION = 1.0M;
                ip_update_ro_status.P_API_VERSIONSpecified = true;
                ip_update_ro_status.P_INIT_MSG_LIST = "F";
                ip_update_ro_status.P_COMMIT = "T";

                RO.APPSCSD_REPAIRS_PUB_RX220752X3X7 repair_status = new RO.APPSCSD_REPAIRS_PUB_RX220752X3X7();

                repair_status.REPAIR_NUMBER = ro.RepairNumber;
                repair_status.REPAIR_STATUS_ID = ro.RepairStatusID;
                repair_status.REPAIR_STATUS_IDSpecified = true;
                repair_status.FROM_STATUS_ID = ro.StoredRepairStatusID;
                repair_status.FROM_STATUS_IDSpecified = true;
                repair_status.OBJECT_VERSION_NUMBER = 0;
                repair_status.OBJECT_VERSION_NUMBERSpecified = true;
                repair_status.REASON_CODE = String.Empty;
                ip_update_ro_status.P_REPAIR_STATUS_REC = repair_status;

                RO.APPSCSD_REPAIRS_PUB_X220752X3X18 other = new RO.APPSCSD_REPAIRS_PUB_X220752X3X18();
                other.CHECK_TASK_WIP = String.Empty;
                ip_update_ro_status.P_STATUS_UPD_CONTROL_REC = other;

                Stopwatch stopwatch = new Stopwatch();
                try
                {
                    request = serializer.Serialize(ip_update_ro_status);
                    stopwatch.Start();
                    RO.OutputParameters1 op_update_ro_status = client.UPDATE_RO_STATUS(ip_update_ro_status);
                    stopwatch.Stop();
                    response = serializer.Serialize(op_update_ro_status);
                    if (op_update_ro_status.X_RETURN_STATUS == "S")
                    {

                        result.RepairNumber = ro.RepairNumber;


                        logMessage = "Request of updating Repair Order (Success). RO Number = " + result.RepairNumber;
                        logNote = "Request Payload: " + request;
                        log.DebugLog(_logIncidentId, _logContactId, logMessage, logNote);

                        logMessage = "Response of updating Repair Order  (Success). RO Number = " + result.RepairNumber;
                        logNote = "Response Payload: " + response;

                        log.DebugLog(_logIncidentId, _logContactId, logMessage, logNote, (int)stopwatch.ElapsedMilliseconds);

                    }
                    else if (op_update_ro_status.X_RETURN_STATUS == "U")
                    {
                        result.ErrorMessage = String.Format("Cannot set status from {0} to {1}", ro.StoredRepairStatus, ro.RepairStatus);

                        logMessage = "Request of updating Repair Order(Failure). RO Number = " + result.RepairNumber + " Error: " + result.ErrorMessage;
                        logNote = "Request Payload: " + request;
                        log.ErrorLog(_logIncidentId, _logContactId, logMessage, logNote);

                        logMessage = "Response of updating Repair Order (Failure). RO Number = " + result.RepairNumber + " Error: " + result.ErrorMessage;
                        logNote = "Response Payload: " + response;
                        log.ErrorLog(_logIncidentId, _logContactId, logMessage, logNote);

                        result.RepairNumber = "-1";
                    }
                    else
                    {
                        result.ErrorMessage = "There has been an error communicating with EBS. Please check log for detail.";

                        logMessage = "Request of updating Repair Order(Failure). RO Number = "  +result.RepairNumber + " Error: " + op_update_ro_status.X_MSG_DATA;
                        logNote = "Request Payload: " + request;
                        log.ErrorLog(_logIncidentId, _logContactId, logMessage, logNote);

                        logMessage = "Response of updating Repair Order (Failure). RO Number = "  +result.RepairNumber + " Error: " + op_update_ro_status.X_MSG_DATA;
                        logNote = "Response Payload: " + response;
                        log.ErrorLog(_logIncidentId, _logContactId, logMessage, logNote);
                    }
                }
                catch (Exception ex)
                {
                    result.ErrorMessage = "There has been an error communicating with EBS. Please check log for detail.";

                    logMessage = "Request of updating Repair Order(Failure). RO Number = " + result.RepairNumber + " Error: " + ex.Message;
                    logNote = "Request Payload: " + request;
                    log.ErrorLog(_logIncidentId, _logContactId, logMessage, logNote);

                    logMessage = "Response of updating Repair Order (Failure). RO Number = " + result.RepairNumber + " Error: " + ex.Message;
                    logNote = "Response Payload: " + response;
                    log.ErrorLog(_logIncidentId, _logContactId, logMessage, logNote);

                    handleEBSException(ex, "Update Repair Order Status");
                }

            }

            return result;
        }