Exemple #1
0
        /// <summary>
        /// Return individual fields as per query
        /// </summary>
        /// <param name="ApplicationID"></param>
        /// <param name="Query"></param>
        /// <returns> array of string delimited by '|'</returns>
        private string[] GetRNData(string ApplicationID, string Query)
        {
            string[] rn_data = null;

            IOTClouddAutoClientAddIn.GlobalContext.PrepareConnectSession(_rightNowClient.ChannelFactory);

            ClientInfoHeader hdr = new ClientInfoHeader()
            {
                AppID = ApplicationID
            };

            byte[]      output = null;
            CSVTableSet data   = null;

            try
            {
                data = _rightNowClient.QueryCSV(hdr, Query, 50, "|", false, false, out output);

                string data_row = String.Empty;

                if (data != null && data.CSVTables.Length > 0 && data.CSVTables[0].Rows.Length > 0)
                {
                    return(data.CSVTables[0].Rows);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(rn_data);
        }
Exemple #2
0
        public void queryObjects()
        {
            ClientInfoHeader clientHeaderInfo = new ClientInfoHeader();
            clientHeaderInfo.AppID = "Chandu test query objects";
             string queryString = "SELECT O.Opportunities FROM Organization O WHERE O.ID = 1;";
               // string queryString = "Select * from contact";

            Opportunity opportunity = new Opportunity();

            RNObject[] objectTemplates = new RNObject[] { opportunity };

            try
            {
                QueryResultData[] queryObjects = _client.QueryObjects(clientHeaderInfo, queryString, objectTemplates, 10000);
                RNObject[] rnObjects = queryObjects[0].RNObjectsResult;

                foreach (RNObject obj in rnObjects)
                {
                    Opportunity Opportunity = (Opportunity)obj;
                    Console.WriteLine("Opportunity of the organization is - " + Opportunity.Name);
                }

            }
            catch (System.ServiceModel.FaultException ex)
            {
                Console.WriteLine(ex.Code);
                Console.WriteLine(ex.Message);
            }
        }
Exemple #3
0
        public string getICAODesi(int IdAircraftType)
        {
            try
            {
                string                 Icao             = "";
                ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
                APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
                clientInfoHeader.AppID = "Query Example";
                String queryString = "SELECT ICAODesignator FROM CO.AircraftType WHERE ID = " + IdAircraftType;
                clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 10000, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
                foreach (CSVTable table in queryCSV.CSVTables)
                {
                    String[] rowData = table.Rows;
                    foreach (String data in rowData)
                    {
                        Icao = data;
                    }
                }

                return(Icao);
            }
            catch (Exception ex)
            {
                MessageBox.Show("getICAODesi: " + ex.Message + "Det" + ex.StackTrace);
                return("");
            }
        }
Exemple #4
0
 private void UpdateCosts()
 {
     try
     {
         ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
         APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
         clientInfoHeader.AppID = "Query Example";
         String queryString = "SELECT ID FROM CO.Services WHERE Incident =" + IncidentID;
         globalContext.LogMessage(queryString);
         clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1000, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
         foreach (CSVTable table in queryCSV.CSVTables)
         {
             String[] rowData = table.Rows;
             foreach (String data in rowData)
             {
                 if (!HasPayable(data))
                 {
                     UpdatePaxPrice(Convert.ToInt32(data), 0);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("UpdateCosts" + ex.Message + " Det :" + ex.StackTrace);
     }
 }
Exemple #5
0
        static void Main(string[] args)
        {
            Console.Clear();

            if (args == null || args.Length < 3)
            {
                Console.WriteLine("usage is ");
                Console.WriteLine();
                Console.WriteLine("RightNowPhoneNumberSanitizer.exe RIGHTNOWURL USERNAME PASSWORD");
                Console.WriteLine();
                Console.WriteLine("RIGHTNOWURL should be in the format https://inindev0513.rightnowdemo.com/cgi-bin/inindev0513.cfg/services/soap");
                Console.WriteLine("User name and password are for a user that has rights to update records in RightNow");
                Console.WriteLine();
            }
            else
            {
                try
                {
                    s_clientInfoHeader       = new ClientInfoHeader();
                    s_clientInfoHeader.AppID = "Phone Number Sanitizer";

                    var client = SetupConnection(args[0], args[1], args[2]);
                    GetAllContacts(client);
                    Console.ReadLine();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("ERROR: " + ex.Message);
                }
            }

            Console.WriteLine();
            Console.WriteLine("Press any key to quit...");
            Console.Read();
        }
 private string GetMTOW(string idICAO)
 {
     try
     {
         string                 weight           = "";
         ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
         APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
         clientInfoHeader.AppID = "Query Example";
         String queryString = "SELECT Weight FROM CO.AircraftType WHERE ICAODesignator= '" + idICAO + "'";
         clientORN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
         foreach (CSVTable table in queryCSV.CSVTables)
         {
             String[] rowData = table.Rows;
             foreach (String data in rowData)
             {
                 weight = data;
             }
         }
         return(String.IsNullOrEmpty(weight) ? "" : weight);
     }
     catch (Exception ex)
     {
         MessageBox.Show("GetMTOW" + ex.Message + "Det:" + ex.StackTrace);
         return("");
     }
 }
        private bool CheckExtraordinary(int Airport)
        {
            bool                   extra            = true;
            ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
            APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();

            clientInfoHeader.AppID = "Query Example";
            String queryString = "SELECT OpensZULUTime,ClosesZULUTime FROM CO.Airport_WorkingHours WHERE Type = 1 AND Airports =" + Airport + " Order by CreatedTime ASC";

            clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
            foreach (CSVTable table in queryCSV.CSVTables)
            {
                String[] rowData = table.Rows;
                foreach (String data in rowData)
                {
                    Char     delimiter         = '|';
                    String[] substrings        = data.Split(delimiter);
                    DateTime dateOpensCompare  = DateTime.Parse("2018/01/01 " + substrings[0].Trim());
                    DateTime dateClosesCompare = DateTime.Parse("2018/01/01 " + substrings[1].Trim());
                    double   totalminutesOpen  = (dateClosesCompare - dateOpens).TotalMinutes;
                    double   totalminutesClose = (dateOpensCompare - dateCloses).TotalMinutes;
                    if (totalminutesOpen >= 0 || totalminutesClose <= 0)
                    {
                        extra = false;
                    }
                }
            }
            return(extra);
        }
Exemple #8
0
        public RightNowService(IGlobalContext _gContext)
        {
            // Set up SOAP API request to retrieve Endpoint Configuration -
            // Get the SOAP API url of current site as SOAP Web Service endpoint
            EndpointAddress endPointAddr = new EndpointAddress(_gContext.GetInterfaceServiceUrl(ConnectServiceType.Soap));


            // Minimum required
            BasicHttpBinding binding2 = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);

            binding2.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;

            // Optional depending upon use cases
            binding2.MaxReceivedMessageSize = 1024 * 1024;
            binding2.MaxBufferSize          = 1024 * 1024;
            binding2.MessageEncoding        = WSMessageEncoding.Mtom;

            // Create client proxy class
            _rnowClient = new RightNowSyncPortClient(binding2, endPointAddr);
            BindingElementCollection elements = _rnowClient.Endpoint.Binding.CreateBindingElements();

            elements.Find <SecurityBindingElement>().IncludeTimestamp = false;
            _rnowClient.Endpoint.Binding = new CustomBinding(elements);

            // Add SOAP msg inspector behavior
            //_rnowClient.Endpoint.Behaviors.Add(new LogMsgBehavior());

            // Ask the Add-In framework the handle the session logic
            _gContext.PrepareConnectSession(_rnowClient.ChannelFactory);

            // Set up query and set request
            _rnowClientInfoHeader       = new ClientInfoHeader();
            _rnowClientInfoHeader.AppID = "Case Management Accelerator Services";
        }
Exemple #9
0
        private void QueryIncident(string incidentNumber)
        {
            Console.WriteLine("Querying Incident #" + incidentNumber);

            const int MaxRows = 1;

            var queryHeader = new ClientInfoHeader
            {
                AppID = "Query Incident by Reference Number"
            };

            var queryString = $"SELECT Incident FROM Incident WHERE Incident.ReferenceNumber='{incidentNumber}'";

            var incident = new Incident
            {
                StatusWithType = new StatusWithType {
                    Status = new NamedID()
                },
                Threads = new Thread[] { }
            };

            var queryResultData = this.client.QueryObjects(queryHeader, queryString, new RNObject[] { incident }, MaxRows);

            var rnObjectsResult = queryResultData.First().RNObjectsResult;

            incident = rnObjectsResult.First() as Incident;

            Console.WriteLine("Result Data Length " + queryResultData.Length);

            if (incident != null)
            {
                Console.WriteLine("Incident Subject :" + incident.Subject);
            }
        }
        private bool boolGetHours(int Airport)
        {
            bool                   hours            = false;
            ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
            APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();

            clientInfoHeader.AppID = "Query Example";
            String queryString = "SELECT  OpensZULUTime,ClosesZULUTime FROM CO.Airport_WorkingHours WHERE Type = 25 AND Airports =" + Airport + " Order by CreatedTime ASC";

            clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
            int i = 0;

            foreach (CSVTable table in queryCSV.CSVTables)
            {
                String[] rowData = table.Rows;
                foreach (String data in rowData)
                {
                    Char     delimiter  = '|';
                    String[] substrings = data.Split(delimiter);
                    dateOpens  = DateTime.Parse("2018/01/01 " + substrings[0].Trim());
                    dateCloses = DateTime.Parse("2018/01/01 " + substrings[1].Trim());
                    i++;
                }
            }
            return(i > 0 ? true : false);
        }
Exemple #11
0
 private int UpdpatePayables()
 {
     try
     {
         int i = 0;
         ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
         APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
         clientInfoHeader.AppID = "Query Example";
         String queryString = "SELECT Sum(TicketAmount),Services FROM CO.Payables WHERE Services.Incident =" + IncidentID + " GROUP BY Services";
         globalContext.LogMessage(queryString);
         clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 10000, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
         foreach (CSVTable table in queryCSV.CSVTables)
         {
             String[] rowData = table.Rows;
             foreach (String data in rowData)
             {
                 Char     delimiter  = '|';
                 string[] substrings = data.Split(delimiter);
                 double   amount     = Convert.ToDouble(substrings[0]);
                 int      service    = Convert.ToInt32(substrings[1]);
                 if (amount != 0)
                 {
                     UpdatePaxPrice(service, amount);
                     i++;
                 }
             }
         }
         return(i);
     }
     catch (Exception ex)
     {
         MessageBox.Show("UpdpatePayables" + ex.Message + " Det :" + ex.StackTrace);
         return(0);
     }
 }
        /// <summary>
        /// Update PartsOrderInstruction object with number of vin completed currently
        /// </summary>
        /// <param name="numOfVIN"></param>
        /// <param name="partOdrInstrID"></param>
        public void UpdatePartsOrderInstruction(int numOfVIN, int partOdrInstrID)
        {
            try
            {
                int           completedQuantity = GetCompletedQty(partOdrInstrID);
                GenericObject genObject         = new GenericObject();
                genObject.ObjectType = new RNObjectType
                {
                    Namespace = "Other",
                    TypeName  = "PartOrderInstruction"
                };
                genObject.ID = new ID {
                    id = partOdrInstrID, idSpecified = true
                };

                List <GenericField> customFields = new List <GenericField>();
                customFields.Add(createGenericField("Completed_Quantity", createIntegerDataValue(numOfVIN + completedQuantity), DataTypeEnum.INTEGER));

                genObject.GenericFields = customFields.ToArray();

                ClientInfoHeader hdr = new ClientInfoHeader()
                {
                    AppID = "Update PartsOrderInstruction"
                };

                _rightNowClient.Update(hdr, new RNObject[] { genObject }, new UpdateProcessingOptions {
                    SuppressExternalEvents = false, SuppressRules = false
                });
            }
            catch (Exception ex)
            {
                ReportCommandAddIn.form.Hide();
                MessageBox.Show("Exception in updating PartsOrderInstruction Record: " + ex.Message);
            }
        }
        /// <summary>
        /// Return individual fields as per query
        /// </summary>
        /// <param name="ApplicationID"></param>
        /// <param name="Query"></param>
        /// <returns> array of string delimited by '~'</returns>
        private string[] GetRNData(string ApplicationID, string Query)
        {
            string[]         rnData = null;
            ClientInfoHeader hdr    = new ClientInfoHeader()
            {
                AppID = ApplicationID
            };

            byte[]      output = null;
            CSVTableSet data   = null;

            try
            {
                data = _rightNowClient.QueryCSV(hdr, Query, 1000, "~", false, false, out output);
                string dataRow = String.Empty;
                if (data != null && data.CSVTables.Length > 0 && data.CSVTables[0].Rows.Length > 0)
                {
                    return(data.CSVTables[0].Rows);
                }
            }
            catch (Exception ex)
            {
                WorkspaceAddIn.InfoLog(ex.Message);
            }
            return(rnData);
        }
Exemple #14
0
        /// <summary>
        /// To Create Parts Order Record
        /// </summary>
        /// <param name="partsID">Parent Parts ID</param>
        /// <returns></returns>
        public int CreatePartsOrder(int partsID)
        {
            try
            {
                GenericObject partsOrderObject = new GenericObject();
                partsOrderObject.ObjectType = new RNObjectType
                {
                    Namespace = "CO",
                    TypeName  = "PartsOrder"
                };
                List <GenericField> genericFields = new List <GenericField>();
                genericFields.Add(createGenericField("Parts", createNamedIDDataValue(partsID), DataTypeEnum.NAMED_ID));
                partsOrderObject.GenericFields = genericFields.ToArray();

                ClientInfoHeader hdr = new ClientInfoHeader()
                {
                    AppID = "Create Parts Order"
                };

                RNObject[] resultObj = _rightNowClient.Create(hdr, new RNObject[] { partsOrderObject }, new CreateProcessingOptions {
                    SuppressExternalEvents = false, SuppressRules = false
                });
                if (resultObj != null)
                {
                    return(Convert.ToInt32(resultObj[0].ID.id));
                }
            }
            catch (Exception ex)
            {
                ReportCommandAddIn.form.Hide();
                MessageBox.Show("Exception in creating Parts Order Record: " + ex.Message);
            }
            return(0);
        }
Exemple #15
0
 public bool HasPayable(string Service)
 {
     try
     {
         bool                   has = false;
         ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
         APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
         clientInfoHeader.AppID = "Query Example";
         String queryString = "SELECT COUNT(ID) FROM CO.Payables WHERE Services =" + Service;
         clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
         foreach (CSVTable table in queryCSV.CSVTables)
         {
             String[] rowData = table.Rows;
             foreach (String data in rowData)
             {
                 has = Convert.ToInt32(data) > 0 ? true : false;
             }
         }
         return(has);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + "Det" + ex.StackTrace);
         return(false);
     }
 }
Exemple #16
0
        /// <summary>
        /// Get the status and channel IDs
        /// </summary>
        public static void getNamedIds()
        {
            ClientInfoHeader clientInfoHeader = new ClientInfoHeader();

            clientInfoHeader.AppID = "Get NamedIDs";

            NamedID[] valuesForNamedID = client.GetValuesForNamedID(clientInfoHeader, null, "Incident.StatusWithType.Status");

            //Display the Name and Id properties for each entry
            foreach (NamedID namedID in valuesForNamedID)
            {
                if (namedID.Name.Equals("Open Conversation"))
                {
                    openConversationStatusId = namedID.ID.id;
                }
                if (namedID.Name.Equals("Closed Conversation"))
                {
                    closedConversationStatusId = namedID.ID.id;
                }
            }

            valuesForNamedID = client.GetValuesForNamedID(clientInfoHeader, null, "Incident.Channel");
            int i = 0;

            //Display the Name and Id properties for each entry
            foreach (NamedID namedID in valuesForNamedID)
            {
                if (namedID.Name.Equals("SRM Engage"))
                {
                    SrmEngageChannelId[i] = namedID.ID.id;
                    i++;
                }
            }
        }
Exemple #17
0
 public string getAirport(int IdAirport)
 {
     try
     {
         string                 IATACODE         = "";
         ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
         APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
         clientInfoHeader.AppID = "Query Example";
         String queryString = "SELECT LookupName FROM CO.Airports WHERE ID =" + IdAirport;
         clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 10000, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
         foreach (CSVTable table in queryCSV.CSVTables)
         {
             String[] rowData = table.Rows;
             foreach (String data in rowData)
             {
                 IATACODE = data;
             }
         }
         return(IATACODE);
     }
     catch (Exception ex)
     {
         MessageBox.Show("getAirport: " + ex.Message + "Det" + ex.StackTrace);
         return("");
     }
 }
 public DateTime getATAItinerary(int Itinerarie)
 {
     try
     {
         string                 ATA = "";
         ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
         APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
         clientInfoHeader.AppID = "Query Example";
         String queryString = "SELECT ATA,ATATime FROM Co.Itinerary WHERE ID = " + Itinerarie;
         clientORN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
         foreach (CSVTable table in queryCSV.CSVTables)
         {
             String[] rowData = table.Rows;
             foreach (String data in rowData)
             {
                 Char     delimiter  = '|';
                 string[] substrings = data.Split(delimiter);
                 ATA = substrings[0] + " " + substrings[1];
             }
         }
         return(DateTime.Parse(ATA));
     }
     catch (Exception ex)
     {
         MessageBox.Show("getATAItinerary: " + ex.Message + "Detail: " + ex.StackTrace);
         return(DateTime.Now);
     }
 }
Exemple #19
0
 public string getTailName(int IdTail)
 {
     try
     {
         string                 tail             = "";
         ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
         APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
         clientInfoHeader.AppID = "Query Example";
         String queryString = "SELECT LookupName,AircraftType1 FROM CO.Aircraft WHERE ID =" + IdTail;
         clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 10000, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
         foreach (CSVTable table in queryCSV.CSVTables)
         {
             String[] rowData = table.Rows;
             foreach (String data in rowData)
             {
                 Char     delimiter  = '|';
                 String[] substrings = data.Split(delimiter);
                 tail           = substrings[0];
                 ICAODesignator = getICAODesi(Convert.ToInt32(substrings[1]));
             }
         }
         return(tail);
     }
     catch (Exception ex)
     {
         MessageBox.Show("getTailName: " + ex.Message + "Det" + ex.StackTrace);
         return("");
     }
 }
        public bool AirportOpen24(string Itinerarie)
        {
            try
            {
                bool                   open             = true;
                ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
                APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
                clientInfoHeader.AppID = "Query Example";
                String queryString = "SELECT ArrivalAirport.HoursOpen24 FROM Co.Itinerary  WHERE ID =" + Itinerarie;
                clientORN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
                foreach (CSVTable table in queryCSV.CSVTables)
                {
                    String[] rowData = table.Rows;
                    foreach (String data in rowData)
                    {
                        open = data == "1" ? true : false;
                    }
                }

                return(open);
            }
            catch (Exception ex)
            {
                MessageBox.Show("AirportOpen24: " + ex.Message + "Detail: " + ex.StackTrace);
                return(false);
            }
        }
        public RightNowService(IGlobalContext _gContext)
        {
            // Set up SOAP API request to retrieve Endpoint Configuration -
            // Get the SOAP API url of current site as SOAP Web Service endpoint
            EndpointAddress endPointAddr = new EndpointAddress(_gContext.GetInterfaceServiceUrl(ConnectServiceType.Soap));

            // Minimum required
            BasicHttpBinding binding2 = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
            binding2.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;

            // Optional depending upon use cases
            binding2.MaxReceivedMessageSize = 5 * 1024 * 1024;
            binding2.MaxBufferSize = 5 * 1024 * 1024;
            binding2.MessageEncoding = WSMessageEncoding.Mtom;

            // Create client proxy class
            _rnowClient = new RightNowSyncPortClient(binding2, endPointAddr);
            BindingElementCollection elements = _rnowClient.Endpoint.Binding.CreateBindingElements();
            elements.Find<SecurityBindingElement>().IncludeTimestamp = false;
            _rnowClient.Endpoint.Binding = new CustomBinding(elements);

            // Add SOAP msg inspector behavior
            //_rnowClient.Endpoint.Behaviors.Add(new LogMsgBehavior());

            // Ask the Add-In framework the handle the session logic
            _gContext.PrepareConnectSession(_rnowClient.ChannelFactory);

            // Set up query and set request
            _rnowClientInfoHeader = new ClientInfoHeader();
            _rnowClientInfoHeader.AppID = "Case Management Accelerator Services";
        }
Exemple #22
0
        private void updateIncidents(int incidentContactId)
        {
            // query incidents ids with the _socialChannelAccountId
            String query = "select I.ID from Incident I where I.CustomFields.Accelerator.srm_social_channel_account_id=" + _socialChannelAccountId;

            String[] rowData = null;

            rowData = ConfigurationSetting.rnSrv.queryData(query);

            if (rowData.Length == 0)
            {
                return;
            }

            RNObject[] updateIncidents = new RNObject[rowData.Length];
            int        i = 0;
            UpdateProcessingOptions updateProcessingOptions = new UpdateProcessingOptions();

            updateProcessingOptions.SuppressExternalEvents = false;
            updateProcessingOptions.SuppressRules          = false;
            foreach (String incidentIdString in rowData)
            {
                Incident incidentToUpdate   = new Incident();
                ID       incidentToUpdateId = new ID();
                incidentToUpdateId.id          = Convert.ToInt32(incidentIdString);
                incidentToUpdateId.idSpecified = true;

                incidentToUpdate.ID = incidentToUpdateId;

                NamedID contactIdNamedID =
                    new NamedID
                {
                    ID = new ID
                    {
                        id          = incidentContactId,
                        idSpecified = true
                    }
                };

                incidentToUpdate.PrimaryContact         = new IncidentContact();
                incidentToUpdate.PrimaryContact.Contact = contactIdNamedID;
                updateIncidents[i] = incidentToUpdate;
                i++;
                ConfigurationSetting.logWrap.DebugLog(logMessage: String.Format(Properties.Resources.UpdateIncidentMessage, incidentToUpdateId.id, incidentContactId));
            }

            ClientInfoHeader clientInfoHeader = new ClientInfoHeader();

            clientInfoHeader.AppID = "Update incidents";

            ConfigurationSetting.client.Update(clientInfoHeader, updateIncidents, updateProcessingOptions);
        }
Exemple #23
0
        public static void Main(string[] args)
        {
            BasicHttpBinding basicHttpBinding = null;
            EndpointAddress endpointAddress = null;
            

            basicHttpBinding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            endpointAddress = new EndpointAddress(new Uri("url-soap-aqui"));

            try
            {
                System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

                ServiceReference1.RightNowSyncPortClient syncClient = new RightNowSyncPortClient(basicHttpBinding,endpointAddress);
                syncClient.ClientCredentials.UserName.UserName = "******";
                syncClient.ClientCredentials.UserName.Password = "******";

                Contact contact = new Contact();
                ID cID = new ID();
                cID.id = 0;
                cID.idSpecified = true;
                contact.ID = cID;

                var api = new APIAccessRequestHeader();
                GetProcessingOptions getProcessiongOptions = new GetProcessingOptions();
                getProcessiongOptions.FetchAllNames = false;
                ClientInfoHeader clientInfoHeader = new ClientInfoHeader();
                clientInfoHeader.AppID = "Read Contact";
                RNObject[] orgObjects = new RNObject[] { contact };
                RNObject[] readReturn;

                var resp = syncClient.GetAsync(clientInfoHeader, api,
                    orgObjects, getProcessiongOptions);
                
                
                readReturn  = resp.Result.RNObjectsResult;
                
                Contact readContact = (Contact)readReturn[0];

                Console.WriteLine("Lookup name: " + readContact.LookupName);
                Console.WriteLine("Login: "******"Digite \"ENTER\" para sair...");
            Console.ReadLine();
        }
        private SampleKFClient()
        {
            client = new RightNowKnowledgePortClient();
            if(client.ClientCredentials != null) {
                client.ClientCredentials.UserName.UserName = "";
                client.ClientCredentials.UserName.Password = "";
            }

            header = new ClientInfoHeader {
                AppID = "Sample KF Client"
            };

            knowledgeInteractionId = client.StartInteraction(header, "Sample KF Client", "10.0.0.0", null, ".NET Application");
            Console.WriteLine("Created new interaction id: " + knowledgeInteractionId);
        }
        private SampleKFClient()
        {
            client = new RightNowKnowledgePortClient();
            if (client.ClientCredentials != null)
            {
                client.ClientCredentials.UserName.UserName = "";
                client.ClientCredentials.UserName.Password = "";
            }

            header = new ClientInfoHeader {
                AppID = "Sample KF Client"
            };

            knowledgeInteractionId = client.StartInteraction(header, "Sample KF Client", "10.0.0.0", null, ".NET Application");
            Console.WriteLine("Created new interaction id: " + knowledgeInteractionId);
        }
Exemple #26
0
        private void ObtenerInfoWorkOrder(string WorkId)
        {
            try
            {
                ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
                APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();
                clientInfoHeader.AppID = "Query Example";
                String queryString = "SELECT case_note,Contact.Name.First,  Contact_City,Contact_Email,Contact_Mobile_Phone, Contact_Postal_Code,Contact_State.name StateName  ,Contact_Street,Time_Slot.name TimeSlot, contact.CustomFields.c.org_name,  contact.CustomFields.c.curp,contact.CustomFields.c.nss, contact.CustomFields.c.afore.LookupName AS afore,  contact.CustomFields.c.regimen.LookupName AS regimen,X,Y,contact.CustomFields.c.amaterno,contact.CustomFields.c.fechacedido,contact_phone,Contact.Name.Last,WO_Date  FROM TOA.Work_Order  WHERE ID =" + Convert.ToInt32(WorkId) + "";
                globalContext.LogMessage("BuscarWorkOrder: \n " + queryString);
                clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
                foreach (CSVTable table in queryCSV.CSVTables)
                {
                    String[] rowData = table.Rows;
                    foreach (String data in rowData)
                    {
                        Char     delimiter  = '|';
                        String[] substrings = data.Split(delimiter);
                        Observaciones   = substrings[0];
                        Contacto        = substrings[1];
                        city            = substrings[2];
                        Correo          = substrings[3];
                        PhoneCel        = substrings[4];
                        postalCode      = substrings[5];
                        stateProvince   = substrings[6];
                        streetAddress   = substrings[7];
                        TimeSlot        = substrings[8];
                        Empresa         = substrings[9];
                        CURP            = substrings[10];
                        NSS             = substrings[11];
                        Afore           = substrings[12];
                        Regimen         = substrings[13];
                        X               = substrings[14];
                        Y               = substrings[15];
                        ApellidoMaterno = substrings[16];

                        Meses           = GetMeses(string.IsNullOrEmpty(substrings[17]) ? DateTime.Now : Convert.ToDateTime(substrings[17]));
                        PhoneHome       = substrings[18];
                        ApellidoPaterno = substrings[19];
                        WODate          = substrings[20];
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("ObtenerInfoWorkOrder" + ex.Message + "Detalle: " + ex.StackTrace);
            }
        }
    public long CreateContact()
    {
        Contact newContact = Contactinfo();
        //Set the application ID in the client info header
        ClientInfoHeader clientInfoHeader = new ClientInfoHeader();

        clientInfoHeader.AppID = ".NET Getting Started";
        //Set the create processing options, allow external events and rules to execute
        CreateProcessingOptions createProcessingOptions = new CreateProcessingOptions();

        createProcessingOptions.SuppressExternalEvents = false;
        createProcessingOptions.SuppressRules          = false;
        RNObject[] createObjects = new RNObject[] { newContact };
        //Invoke the create operation on the RightNow server
        RNObject[] createResults = _Service.Create(clientInfoHeader, createObjects, createProcessingOptions);
        //We only created a single contact, this will be at index 0 of the results
        newContact = createResults[0] as Contact;
        return(newContact.ID.id);
    }
 public RNObject[] CreateContact(string FirstName, string LastName,string EmailAddress)
 {
     Contact newContact = populateContactInfo(FirstName, LastName,EmailAddress);
         //Set the application ID in the client info header
         ClientInfoHeader clientInfoHeader = new ClientInfoHeader();
         clientInfoHeader.AppID = ".NET Getting Started test in log API";
         //Set the create processing options, allow external events and rules to execute
         CreateProcessingOptions createProcessingOptions = new CreateProcessingOptions();
         createProcessingOptions.SuppressExternalEvents = false;
         createProcessingOptions.SuppressRules = false;
         RNObject[] createObjects = new RNObject[] { newContact };
         GetProcessingOptions options = new GetProcessingOptions();
         options.FetchAllNames = false;
         //Invoke the create operation on the server. This will create a contact
         RNObject[] createResults = _service.Create(clientInfoHeader, createObjects, createProcessingOptions);
         newContact = createResults[0] as Contact;
         RNObject[] rnObjects = _service.Get(clientInfoHeader, createResults, options);
         return rnObjects;
 }
        private bool Allday(int Airport)
        {
            bool                   all = true;
            ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
            APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();

            clientInfoHeader.AppID = "Query Example";
            String queryString = "SELECT HoursOpen24 FROM  CO.Airports WHERE ID=" + Airport;

            clientRN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 10000, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
            foreach (CSVTable table in queryCSV.CSVTables)
            {
                String[] rowData = table.Rows;
                foreach (String data in rowData)
                {
                    all = Convert.ToInt32(data) == 0 ? false : true;
                }
            }
            return(all);
        }
        public string getItinerary(string service)
        {
            string                 itinerary        = "";
            ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
            APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();

            clientInfoHeader.AppID = "Query Example";
            String queryString = "SELECT Itinerary FROM CO.Services WHERE ID =" + service;

            clientORN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
            foreach (CSVTable table in queryCSV.CSVTables)
            {
                String[] rowData = table.Rows;
                foreach (String data in rowData)
                {
                    itinerary = data;
                }
            }
            return(itinerary);
        }
        public int getArrivalAirport(string Itinerarie)
        {
            int arriv = 0;
            ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
            APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();

            clientInfoHeader.AppID = "Query Example";
            String queryString = "SELECT ArrivalAirport FROM Co.Itinerary  WHERE ID =" + Itinerarie;

            clientORN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
            foreach (CSVTable table in queryCSV.CSVTables)
            {
                String[] rowData = table.Rows;
                foreach (String data in rowData)
                {
                    arriv = String.IsNullOrEmpty(data) ? 0 : Convert.ToInt32(data);
                }
            }
            return(arriv);
        }
        public int GetIncidentId(string Service)
        {
            int i = 0;
            ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
            APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();

            clientInfoHeader.AppID = "Query Example";
            String queryString = "SELECT Incident.Id FROM CO.Services WHERE ID  =" + Service;

            clientORN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
            foreach (CSVTable table in queryCSV.CSVTables)
            {
                String[] rowData = table.Rows;
                foreach (String data in rowData)
                {
                    i = string.IsNullOrEmpty(data) ? 0 : Convert.ToInt32(data);
                }
            }
            return(i);
        }
        public string getOpenArrivalAirport(int Arrival)
        {
            string                 opens            = "";
            ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
            APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();

            clientInfoHeader.AppID = "Query Example";
            String queryString = "SELECT OpensZuluTime FROM Co.Airport_WorkingHours  WHERE Airports =" + Arrival + " AND Type = 1";

            clientORN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
            foreach (CSVTable table in queryCSV.CSVTables)
            {
                String[] rowData = table.Rows;
                foreach (String data in rowData)
                {
                    opens = data;
                }
            }
            return(opens);
        }
        public string getICAODesi(int Incident)
        {
            string                 Icao             = "";
            ClientInfoHeader       clientInfoHeader = new ClientInfoHeader();
            APIAccessRequestHeader aPIAccessRequest = new APIAccessRequestHeader();

            clientInfoHeader.AppID = "Query Example";
            String queryString = "SELECT CustomFields.co.Aircraft.AircraftType1.ICAODesignator  FROM Incident WHERE ID =" + Incident;

            clientORN.QueryCSV(clientInfoHeader, aPIAccessRequest, queryString, 1, "|", false, false, out CSVTableSet queryCSV, out byte[] FileData);
            foreach (CSVTable table in queryCSV.CSVTables)
            {
                String[] rowData = table.Rows;
                foreach (String data in rowData)
                {
                    Icao = data;
                }
            }
            return(Icao);
        }
Exemple #35
0
        public void QueryCSVwithWhere()
        {
            ClientInfoHeader clientInfoHeader = new ClientInfoHeader();
            clientInfoHeader.AppID = "CSV query on Contacts with where clause";

            // string queryString = "SELECT contact.LookupName from contact where contact.ID>6";
             string queryString = "SELECT * FROM contact";
               // string queryString = "SELECT I.CustomFields.CO FROM Incident I WHERE ID = 27;";

            try
            {
                byte[] rawResult = null;
                CSVTableSet queryCSVwithWhere = _client.QueryCSV(clientInfoHeader, queryString, 1000, ",", false, true, out rawResult);
                CSVTable[] csvTables = queryCSVwithWhere.CSVTables;
                foreach (CSVTable table in csvTables)
                {
                    System.Console.WriteLine("Name: " + table.Name);
                    System.Console.WriteLine("Columns: " + table.Columns);
                    String[] rowData = table.Rows;

                    foreach (String data in rowData)
                    {
                        System.Console.WriteLine("Row Data: " + data);
                    }
                }
            }
            catch (System.ServiceModel.FaultException ex)
            {
                Console.WriteLine(ex.Code);
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        /// <summary>
        /// Returns the object as per query
        /// Ex Query : SELECT Contact FROM Contact WHERE Contact.ID = 21 LIMIT 1
        /// </summary>
        /// <param name="ApplicationID"></param>
        /// <param name="Query"></param>
        /// <param name="RNObjects"></param>
        //public object GetRNObject(string ApplicationID, string Query, RNObject[] RNObjects)
        //{
        //    ToaAutoClientAddIn.GlobalContext.PrepareConnectSession(_rightNowClient.ChannelFactory);
        //
        //    ClientInfoHeader hdr = new ClientInfoHeader() { AppID = ApplicationID };
        //
        //    if (_rightNowClient != null)
        //    {
        //        QueryResultData[] data = _rightNowClient.QueryObjects(hdr, Query, RNObjects, 10);
        //        RNObject[] rn_objects = data[0].RNObjectsResult;
        //        return rn_objects[0];
        //    }

        //    return null;
        //}

        /// <summary>
        /// Return individual fields as per query
        /// </summary>
        /// <param name="ApplicationID"></param>
        /// <param name="Query"></param>
        /// <returns> array of string delimited by '|'</returns>
        private string[] GetRNData(string ApplicationID, string Query)
        {
            string[] rn_data = null;

            ToaAutoClientAddIn.GlobalContext.PrepareConnectSession(_rightNowClient.ChannelFactory);

            ClientInfoHeader hdr = new ClientInfoHeader() { AppID = ApplicationID };

            byte[] output = null;
            CSVTableSet data = null;

            try
            {
                data = _rightNowClient.QueryCSV(hdr, Query, 50, "|", false, false, out output);

                string data_row = String.Empty;

                if (data != null && data.CSVTables.Length > 0 && data.CSVTables[0].Rows.Length > 0)
                {
                    return data.CSVTables[0].Rows;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return rn_data;
        }
        /// <summary>
        /// Get config verb value
        /// </summary>
        /// <param name="configVerbName"></param>
        /// <returns></returns>
        public string GetRightNowConfigVerbValue(string configVerbName)
        {
            Debug("RightNowConnectService - GetRightNowConfigVerbValue() - Enter");
            string configVerbValue = String.Empty;
            try
            {
                //Prepare session
                ToaAutoClientAddIn.GlobalContext.PrepareConnectSession(_rightNowClient.ChannelFactory);

                // Set up query and set request
                ClientInfoHeader cih = new ClientInfoHeader();
                cih.AppID = OracleRightNowToaAddInNames.OracleRightNowToaClient;

                byte[] outByte = new byte[1000];
                string query = RightNowQueries.GetConfigVerbQuery + "'" + configVerbName + "'";
                Notice("Sending query to fetch " + configVerbName + " Config verb value");
                CSVTableSet tableSet = _rightNowClient.QueryCSV(cih, query, 100, ",", false, false, out outByte);                
                CSVTable[] csvTables = tableSet.CSVTables;
                CSVTable table = csvTables[0];
                string[] rowData = table.Rows;
                
                // Check whether configuration is set
                if (rowData.Length == 0)
                {
                    return String.Empty;
                }
                
                // Get configuration value
                Notice("Returning Config verb '" + configVerbName + "' value: " + rowData[0]);
                configVerbValue = rowData[0];
            }
            catch (Exception e)
            {
                Debug("RightNowConnectService - GetRightNowConfigVerbValue() - Error while fetching config verb" + e.Message);
                Error("RightNowConnectService - GetRightNowConfigVerbValue() - Error while fetching config verb", e.StackTrace);
                MessageBox.Show("RightNowConnectService - Error while fetching config verb", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            Debug("RightNowConnectService - GetRightNowConfigVerbValue() - Exit");
            return configVerbValue;
        }        
        /*  this method is called from framework to show the report row (data)
         *  refer to QA 140910-000144 for the story
         *  It combines the incident report (ConfigurationSetting.incidentsByContactReportID)
         *  and the ServiceRequest.LookupSRbyContactPartyID(contactPartyID)
         *  Currently this list is only showing certain fields (because of combining 2 lists with common fields)
         *  The Right Now incidents by a contact report is hidden, meaning the Report control of a contact
         *  workspace tab is based on the Siebel Service Request List Table report definition
         *  Also, do not change the default column heading of Right Now incidents by a contact report
         *  (they are hard coded to uppercase). Because they are hidden anyway.
         *  The Siebel Service Request List Table report definition column headings can be changed and those are
         *  the ones being displayed.
         */
        public override IList<IReportRow> GetRows(IList<string> columns, IReportFilterNode filterNode)
        {
            IList<IReportRow> reportRows = new List<IReportRow>();
            IRecordContext _context = ((SiebelVirtualReportTablesPackage)this.Parent)._globalContext.AutomationContext.CurrentWorkspace;

            if (_context == null)
                return reportRows;

            IContact contactRecord = _context.GetWorkspaceRecord(RightNow.AddIns.Common.WorkspaceRecordType.Contact) as IContact;

             /* if auto refresh every x sec is enabled even though the tab is not active
             * so need to check contactRecord for null (when the editor is different)
             */
            if (contactRecord == null)
                return reportRows;

            string contactPartyID = null;
            // get the ebs contact party custom attribute on the contact workspace
            contactPartyID = getContactPartyIdCustomAttr(contactRecord);

            // following to get the rNow incidents report and filter is the rNow contactID
            AnalyticsReport reportIncident = new AnalyticsReport();
            ID rId = new ID();
            rId.id = ConfigurationSetting.incidentsByContactReportID;
            rId.idSpecified = true;
            reportIncident.ID = rId;
            byte[] outByte = new byte[1000];

            AnalyticsReportFilter[] filter = new AnalyticsReportFilter[3];
            filter[0] = new AnalyticsReportFilter();

            String[] filterString = new String[1];
            filterString[0] = "" + contactRecord.ID;
            filter[0].Values = filterString;
            filter[0].Name = "Contact"; // incidents by a contact, thus Contact filter

            NamedID datatype = new NamedID();
            datatype.Name = "Integer";
            filter[0].DataType = datatype;

            reportIncident.Filters = filter;

            ClientInfoHeader _cih = new ClientInfoHeader();
            _cih.AppID = "Accelerator Report Add-In";
            Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
            CSVTableSet tableSet = ConfigurationSetting.client.RunAnalyticsReport(
              _cih, reportIncident, 100, 0, "\t", false, false, out outByte
                );
            stopwatch.Stop();
            string logMessage = "Called RightNowSyncPortClient.RunAnalyticsReport." +
                "reportID: " + ConfigurationSetting.incidentsByContactReportID;
            ConfigurationSetting.logWrap.DebugLog(0, contactRecord.ID, logMessage: logMessage, timeElapsed: (int)stopwatch.ElapsedMilliseconds);

            CSVTable[] csvTables = tableSet.CSVTables;
            CSVTable table = csvTables[0];
            string[] rowData = table.Rows;
            int rNowIncidentCount = table.Rows.Length;
            int srVirtualTableCount = this.Columns.Count;
            string[] colHeadingIncidentReport = table.Columns.Split('\t');

            foreach (String commaRow in table.Rows)
            {
                ReportDataRow reportDataRow = new ReportDataRow(srVirtualTableCount);
                string[] colValue = commaRow.Split('\t');

                // the report output is stored as <columnHeading, value>
                Dictionary<string, string> dictRow = new Dictionary<string, string>();
                int i = 0;
                foreach (string val in colValue)
                {   /* make the column heading upper case (because the custom attribute heading
                     * in the report designer sometime all in lower case, sometime the reverse)
                     */
                    dictRow.Add(colHeadingIncidentReport[i].ToUpper(), val);
                    i++;
                }

                addRnowIncidentRow(ref columns, ref reportDataRow, ref reportRows, dictRow);
            }

            if (contactPartyID != null)
            {
                ServiceRequest[] sRs = ServiceRequest.LookupSRbyContactPartyID(columns, contactPartyID, 0, contactRecord.ID);

                if (sRs == null)
                    return reportRows;

                foreach (ServiceRequest req in sRs)
                {
                    ReportDataRow reportDataRow = new ReportDataRow(this.Columns.Count);
                    if (req != null) // live ebs row 316 of 319 of contact 4431 return null
                        addSiebelSrRow(ref columns, ref reportDataRow, ref reportRows, req);
                }
            }
            return reportRows;
        }
Exemple #39
0
        public void updateContact(long id, string updatedfirstname)
        {
            Contact contacttobeUpdated = new Contact();
            ID contactID = new ID();
            contactID.id = id;
            contactID.idSpecified = true;
            contacttobeUpdated.ID = contactID;

            PersonName pn = new PersonName();
            pn.First = updatedfirstname;

            contacttobeUpdated.Name = pn;
            RNObject[] rnobjects = new RNObject[]{ contacttobeUpdated };
            UpdateProcessingOptions options = new UpdateProcessingOptions();
            options.SuppressExternalEvents = false;
            options.SuppressRules = false;
            try
            {
                ClientInfoHeader clientInfoHeader = new ClientInfoHeader();
                clientInfoHeader.AppID = "Basic Update";

                //Invoke the Update operation
                _client.Update(clientInfoHeader, rnobjects, options);
            }
            catch (FaultException ex)
            {
                Console.WriteLine(ex.Code);
                Console.WriteLine(ex.Message);
            }
        }