/// <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); }
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); } }
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(""); } }
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); } }
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); }
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"; }
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); }
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); }
/// <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); }
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); } }
/// <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++; } } }
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); } }
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"; }
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); }
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); }
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); }
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; }
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); } }