private List <OperatingState> GetOperatingStates() { Console.WriteLine("Welcome to the get all operating states example!" + Environment.NewLine); Console.WriteLine("Determine token ..." + Environment.NewLine); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); Console.WriteLine("Token: " + token.Access_token + Environment.NewLine); Console.WriteLine("Determine operating states ..." + Environment.NewLine); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); var states = connector.GetOperatingStates(); var result = new List <OperatingState>(); foreach (var item in states) { result.Add(new OperatingState() { Code = item.Code, Description = item.Description, Color = item.Color, ShortDescription = item.ShortDescription }); } return(result); }
private List <Workplace> GetWorkplaces() { Console.WriteLine("Welcome to the get all available workplaces sample!" + Environment.NewLine); Console.WriteLine("Determine token ..." + Environment.NewLine); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); Console.WriteLine("Token: " + token.Access_token + Environment.NewLine); Console.WriteLine("Determine workplaces ..." + Environment.NewLine); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); var workplaces = connector.GetWorkplaces(); var result = new List <Workplace>(); foreach (var item in workplaces) { result.Add(new Workplace() { Id = item.Id, Number = item.Number, Description = item.Description, OperatingStateCode = item.OperatingState.Code, OperatingStateDescription = item.OperatingState.Description }); } return(result); }
private string GetOperatingStateOfWorkplace(string workplaceNumber) { Console.WriteLine("Determine token ..." + Environment.NewLine); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); Console.WriteLine("Token: " + token.Access_token + Environment.NewLine); Console.WriteLine("Determine workplace operating state ..." + Environment.NewLine); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); var operatingState = connector.GetCurrentWorkplaceOperatingStateByWorkplaceNumber(workplaceNumber); return(operatingState.Description + " (" + operatingState.Code + ")"); }
private const string _password = "******"; // Password of the user static void Main() { Console.WriteLine("Welcome to the get current operating state of a workplace example!" + Environment.NewLine); string workplaceNumber = "R_WPL_04"; // YOUR WORKPLACE NUMBER Console.WriteLine("Determine token ..." + Environment.NewLine); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); Console.WriteLine("Token: " + token.Access_token + Environment.NewLine); Console.WriteLine("Determine workplace " + workplaceNumber + "..." + Environment.NewLine); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); var workplace = connector.GetWorkplaceByNumber(workplaceNumber); Console.WriteLine(String.Format("Workplace: {0} ({1})", workplace.Number, workplace.Description)); Console.WriteLine(String.Format("State: {2}: {1} (Id: {0})", workplace.OperatingState.Id, workplace.OperatingState.Description, workplace.OperatingState.Code)); }
private const string _password = "******"; // Password of the user static void Main() { Console.WriteLine("Welcome to the get all available workplaces sample!" + Environment.NewLine); Console.WriteLine("Determine token ..." + Environment.NewLine); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); Console.WriteLine("Token: " + token.Access_token + Environment.NewLine); Console.WriteLine("Determine workplaces ..." + Environment.NewLine); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); var workplaces = connector.GetWorkplaces(); foreach (var workplace in workplaces) { Console.WriteLine(String.Format("Id: {0}, Number: {1}, Description: {2}", workplace.Id, workplace.Number, workplace.Description)); } }
private const string _password = "******"; // Password of the user static void Main() { Console.WriteLine("Welcome to the get all operating states example!" + Environment.NewLine); Console.WriteLine("Determine token ..." + Environment.NewLine); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); Console.WriteLine("Token: " + token.Access_token + Environment.NewLine); Console.WriteLine("Determine operating states ..." + Environment.NewLine); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); var operatingStates = connector.GetOperatingStates(); foreach (var state in operatingStates) { Console.WriteLine(String.Format("Operating state: {0}: {1} ({2}) with color {3}", state.Code, state.ShortDescription, state.Description, state.Color)); Console.BackgroundColor = ConsoleColor.Black; } }
private const string _password = "******"; // Password of the user static async Task Main() { Console.WriteLine("Welcome to the Customized Action Callback Sample"); Console.WriteLine(""); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); // Register Callback on Bridge API string MQTTTCPUrl = "mqtt://test.mosquitto.org"; //Define your MQTT-Broker and topic!!!! string PORT = "1883"; string MQTTTopicName = "external/forcecustomcallback"; string EventType = "CUSTOMIZED_ACTION_TRIGGERED"; string ForceCustomEventName = "test"; Console.WriteLine("Register callback " + EventType + " for MQTT-Broker " + MQTTTCPUrl + ", topic " + MQTTTopicName); Console.WriteLine(""); string callbackRegistrationJSON = BuildCallbackRegistrationJSON(MQTTTCPUrl + ":" + PORT + "/" + MQTTTopicName, EventType, ForceCustomEventName); connector.RegisterCallback(callbackRegistrationJSON); Console.WriteLine("Registration completed."); Console.WriteLine(""); // Inizialize a MQTT-Client and subscribe to the above defined topic Console.WriteLine("Initialize a MQTT Client and subscripe to the given topic " + MQTTTopicName + "..."); Console.WriteLine(""); var options = new MqttClientOptionsBuilder() .WithTcpServer(MQTTTCPUrl.Replace("mqtt://", String.Empty), 1883) .Build(); var factory = new MqttFactory(); var mqttClient = factory.CreateMqttClient(); await mqttClient.ConnectAsync(options, CancellationToken.None); // Subscribe to the defined topic await mqttClient.SubscribeAsync(new TopicFilterBuilder().WithTopic(MQTTTopicName).Build()); Console.WriteLine("Wait for customited actions ..."); Console.WriteLine(""); List <string> callbackIDs = new List <string>(); mqttClient.UseApplicationMessageReceivedHandler(e => { Console.WriteLine("---------------------------------------"); var payload = Encoding.UTF8.GetString(e.ApplicationMessage.Payload); Console.WriteLine("--- RECEIVED " + EventType + " MESSAGE ---"); Console.WriteLine("---------------------------------------"); Console.WriteLine(Newtonsoft.Json.Linq.JObject.Parse(payload).SelectToken("properties.data").ToString()); Console.WriteLine("---------------------------------------"); Console.WriteLine(""); string callbackId = Newtonsoft.Json.Linq.JObject.Parse(payload).SelectToken("properties.callbackId").ToString(); if (!callbackIDs.Contains(callbackId)) { callbackIDs.Add(callbackId); } }); Console.ReadLine(); // DELETE THE CALLBACK Console.WriteLine("Delete the previous registered callback ..."); foreach (var id in callbackIDs) { Console.WriteLine("Delete the callback with id" + id); connector.DeleteCallback(id); } }
private const string _password = "******"; // Password of the user static void Main() { Console.WriteLine("Welcome to the ticket sample!" + Environment.NewLine); Console.WriteLine("Determine token ..." + Environment.NewLine); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); Console.WriteLine("Token: " + token.Access_token + Environment.NewLine); Console.WriteLine("Determine all tickets ..." + Environment.NewLine); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); var tickets = connector.GetTickets(); int counter = 0; foreach (TicketProperties ticket in tickets) { counter += 1; Console.WriteLine(String.Empty); Console.WriteLine("Ticket " + counter + " of " + tickets.Count); Console.WriteLine("-------------------------------"); Console.WriteLine("Id: {0}", ticket.Id); Console.WriteLine("Number: {0}", ticket.Number); Console.WriteLine("Title: {0}", ticket.Title); Console.WriteLine("Description: {0}", ticket.Description); Console.WriteLine("RootCause: {0}", ticket.RootCause); Console.WriteLine("Priority: {0}", ticket.Priority); Console.WriteLine("Editor: {0}", ticket.Editor); Console.WriteLine("CreationDate: {0}", ticket.CreationDate); Console.WriteLine("TicketStateId: {0}", ticket.TicketStateId); Console.WriteLine("TicketClassId: {0}", ticket.TicketClassId); Console.WriteLine("OperationId: {0}", ticket.OperationId); Console.WriteLine("Material: {0}", (ticket.Material is null) ? "" : ticket.Material.ToString()); Console.WriteLine("Workplace: {0}", (ticket.Workplace is null) ? "" : ticket.Workplace.ToString()); Console.WriteLine("ShiftId: {0}", ticket.ShiftId); } Console.WriteLine(String.Empty); Console.WriteLine("Determine all activities of ticket {0} ..." + Environment.NewLine, tickets.First().Id); var ticketActivities = connector.GetTicketActivitiesByTicketId(tickets.First().Id); if (ticketActivities.Any()) { counter = 0; foreach (TicketActivityProperties activity in ticketActivities) { counter += 1; Console.WriteLine(String.Empty); Console.WriteLine("Ticket activity " + counter + " of " + ticketActivities.Count); Console.WriteLine("-------------------------------"); Console.WriteLine("Id: {0}", activity.Id); Console.WriteLine("Title: {0}", activity.Title); Console.WriteLine("State: {0}", activity.TicketActivityStateId); Console.WriteLine("Editor: {0}", activity.Editor); Console.WriteLine("Due date: {0}", activity.DueDate); Console.WriteLine("Description: {0}", activity.Description); } Console.WriteLine(String.Empty); Console.WriteLine("Determine all remmarks of activity {0} (ticket {1}) ..." + Environment.NewLine, tickets.First().Id, ticketActivities.First().Id); var ticketActivityRemarks = connector.GetTicketActivityRemarksByTicketAndActivityId(tickets.First().Id, ticketActivities.First().Id); counter = 0; foreach (TicketActivityRemarkProperties remark in ticketActivityRemarks) { counter += 1; Console.WriteLine(String.Empty); Console.WriteLine("Ticket activity remark " + counter + " of " + ticketActivityRemarks.Count); Console.WriteLine("-------------------------------"); Console.WriteLine("Id: {0}", remark.Id); Console.WriteLine("Editor: {0}", remark.Editor); Console.WriteLine("Remark: {0}", remark.Remark); } Console.WriteLine(String.Empty); } else { Console.WriteLine("Ticket {0} contains no activities." + Environment.NewLine, tickets.First().Id); } Console.WriteLine(String.Empty); }
static void Main() { Console.WriteLine("Welcome to the staff members sample!" + Environment.NewLine); Console.WriteLine("Determine token ..."); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); Console.WriteLine("Token: " + token.Access_token + Environment.NewLine); Console.WriteLine("Determine staff members ..."); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); var staffMembers = connector.GetStaffMembers(); foreach (var staff in staffMembers) { Console.WriteLine(String.Format("Staff member: {0}: {2} {1}", staff.Id, staff.FirstName, staff.LastName)); } Console.WriteLine(Environment.NewLine); Console.WriteLine("Determine current staff members of workplace id " + _workplaceId + " ..."); var currentStaffMembersOfWorkplace = connector.GetCurrentStaffMembersOfWorkplaceId(_workplaceId); foreach (var staff in currentStaffMembersOfWorkplace) { Console.WriteLine(String.Format("Staff member: {0}: {2} {1}", staff.Id, staff.FirstName, staff.LastName)); } if (!currentStaffMembersOfWorkplace.Any()) { Console.WriteLine("No staff member signed on!" + Environment.NewLine); } else { Console.WriteLine(Environment.NewLine); Console.WriteLine("Sign off all staff members of workplace id " + _workplaceId + " ..."); foreach (var staff in currentStaffMembersOfWorkplace) { Console.WriteLine(String.Format("Sign off staff member: {0}: {2} {1}", staff.Id, staff.FirstName, staff.LastName)); connector.SendCommand(GetStaffMemberWorkplaceStateCommandString(SignOptions.Off, _workplaceId, staff.Id)); } Console.WriteLine(Environment.NewLine); Console.WriteLine("Determine current staff members of workplace id " + _workplaceId + " ..."); currentStaffMembersOfWorkplace = connector.GetCurrentStaffMembersOfWorkplaceId(_workplaceId); foreach (var staff in currentStaffMembersOfWorkplace) { Console.WriteLine(String.Format("Staff member: {0}: {2} {1}", staff.Id, staff.FirstName, staff.LastName)); } if (!currentStaffMembersOfWorkplace.Any()) { Console.WriteLine("No staff member signed on!"); } Console.WriteLine(Environment.NewLine); } Console.WriteLine("Sign on a staff member on workplace " + _workplaceId + " ..."); var staffMemberToSignOn = staffMembers[new Random().Next(staffMembers.Count)]; Console.WriteLine(String.Format("Sign on staff member: {0}: {2} {1}", staffMemberToSignOn.Id, staffMemberToSignOn.FirstName, staffMemberToSignOn.LastName)); connector.SendCommand(GetStaffMemberWorkplaceStateCommandString(SignOptions.On, _workplaceId, staffMemberToSignOn.Id)); Console.WriteLine(Environment.NewLine); Console.WriteLine("Determine current staff members of workplace id " + _workplaceId + " ..."); currentStaffMembersOfWorkplace = connector.GetCurrentStaffMembersOfWorkplaceId(_workplaceId); foreach (var staff in currentStaffMembersOfWorkplace) { Console.WriteLine(String.Format("Staff member: {0}: {2} {1}", staff.Id, staff.FirstName, staff.LastName)); } }
private const string _operating_state_code_for_alarming = "999"; // The operating state for alarming static async Task Main() { Console.WriteLine("Welcome to the alerting example (based on mqtt callbacks)!"); Console.WriteLine(""); TokenHandler tokenHandler = new TokenHandler(_user, _password, _urlForTokenGeneration); Token token = tokenHandler.GetAccessToken(); FORCEBridgeConnector connector = new FORCEBridgeConnector(_urlToBridgeAPI, token); Console.WriteLine("Connect to the Bridge API and get workplace ID of defined workplace " + _workplaceNumber); Console.WriteLine(""); string workplaceId = connector.GetWorkplaceByNumber(_workplaceNumber).Id; // Register Callback on Bridge API string MQTTTCPUrl = "mqtt://test.mosquitto.org"; //Define your MQTT-Broker and topic!!!! string PORT = "1883"; string MQTTTopicName = "external/statechange"; string EventType = "WORKPLACE_OPERATING_STATE_CHANGED"; Console.WriteLine("Register callback " + EventType + " of workplace " + workplaceId + " for MQTT-Broker " + MQTTTCPUrl + ", topic " + MQTTTopicName); Console.WriteLine(""); string callbackRegistrationJSON = BuildCallbackRegistrationJSON(MQTTTCPUrl + ":" + PORT + "/" + MQTTTopicName, workplaceId, EventType); connector.RegisterCallback(callbackRegistrationJSON); Console.WriteLine("Registration completed."); Console.WriteLine(""); // Inizialize a MQTT-Client and subscribe to the above defined topic Console.WriteLine("Initialize a MQTT Client and subscripe to the given topic " + MQTTTopicName + "..."); Console.WriteLine(""); var options = new MqttClientOptionsBuilder() .WithTcpServer(MQTTTCPUrl.Replace("mqtt://", String.Empty), 1883) .Build(); var factory = new MqttFactory(); var mqttClient = factory.CreateMqttClient(); await mqttClient.ConnectAsync(options, CancellationToken.None); // Subscribe to the defined topic await mqttClient.SubscribeAsync(new TopicFilterBuilder().WithTopic(MQTTTopicName).Build()); Console.WriteLine("Wait for machine state changes ..."); Console.WriteLine(""); List <string> callbackIDs = new List <string>(); mqttClient.UseApplicationMessageReceivedHandler(e => { Console.WriteLine("---------------------------------------"); try { // WILL BE EXECUTED IF A MACHINE STATE OCCURES var payload = Encoding.UTF8.GetString(e.ApplicationMessage.Payload); var callbackResponse = Newtonsoft.Json.JsonConvert.DeserializeObject <WorkplaceOperatingStateChangedCallbackResponse>(payload); if (!callbackIDs.Contains(callbackResponse.Properties.CallbackId)) { callbackIDs.Add(callbackResponse.Properties.CallbackId); } Console.WriteLine("--- RECEIVED " + EventType + " MESSAGE ---"); Console.WriteLine("---------------------------------------"); Console.WriteLine("Current operating state: " + callbackResponse.Properties.Data.CurrentOperatingState.Description + " (" + callbackResponse.Properties.Data.CurrentOperatingState.Code + ")"); Console.WriteLine("Previous operating state: " + callbackResponse.Properties.Data.PreviousOperatingState.Description + " (" + callbackResponse.Properties.Data.PreviousOperatingState.Code + ")"); if (callbackResponse.Properties.Data.CurrentOperatingState.Code == _operating_state_code_for_alarming) { Console.WriteLine("---------------------------------------"); Console.WriteLine(" !!! WARNING WARNING WARNING WARNING !!!"); Console.WriteLine(" --- MACHINE SWITCHED TO STATE CODE " + _operating_state_code_for_alarming + " ---"); } } catch (Exception ex) { Console.WriteLine(" !!! ERROR OCCURED !!! " + ex.ToString()); } Console.WriteLine("---------------------------------------"); Console.WriteLine(""); }); Console.ReadLine(); // DELETE THE CALLBACK Console.WriteLine("Delete the previous registered callback ..."); foreach (var id in callbackIDs) { Console.WriteLine("Delete the callback with id" + id); connector.DeleteCallback(id); } }