public override bool printHead(ref object data, Type type) { btnStype.alignment = TextAnchor.MiddleRight; EditorGUILayout.LabelField("[Array of " + type.GetElementType().Name + "]"); if (GUILayout.Button("+", btnStype, GUILayout.Width(20f))) { if (data == null) { data = InstanceUtility.InstanceOfType(type); } else { var array = data as Array; var newArray = InstanceUtility.resizeArray(array, array.Length + 1); data = newArray; } return(true); } if (GUILayout.Button("-", btnStype, GUILayout.Width(20))) { if (data == null) { return(false); } var array = data as Array; if (array.Length == 0) { return(false); } var newArray = InstanceUtility.resizeArray(array, array.Length - 1); data = newArray; return(true); } return(false); }
public override bool printHead(ref object data, Type type) { btnStype.alignment = TextAnchor.MiddleRight; EditorGUILayout.LabelField("[List<" + type.GetGenericArguments()[0].Name + ">]"); if (GUILayout.Button("+", btnStype, GUILayout.Width(20f))) { if (data == null) { data = InstanceUtility.InstanceOfType(type); } else { var list = data as IList; InstanceUtility.resizeList(list, list.Count + 1); } return(true); } if (GUILayout.Button("-", btnStype, GUILayout.Width(20))) { if (data == null) { return(false); } var list = data as IList; if (list.Count == 0) { return(false); } InstanceUtility.resizeList(list, list.Count - 1); return(true); } return(false); }
private static void WriteConfigAsJson(Type type, string folder) { var exportFields = type.GetFields(BindingFlags.Public | BindingFlags.Instance); if (exportFields.Length == 0) { return; } _serializer.Config.CustomDateTimeFormatString = "G"; _serializer.AddConverter(new MyCustomEnumConverter()); _serializer.AddConverter(new MyDictionaryConverter()); var ins = InstanceUtility.InstanceOfType(type); foreach (var field in exportFields) { if (field.GetValue(ins) == null) { var value = InstanceUtility.InstanceOfType(field.FieldType); field.SetValue(ins, value); } XlsxNameAttribute xlxsName = (XlsxNameAttribute)Attribute.GetCustomAttribute(field, typeof(XlsxNameAttribute)); string jsonFilename = xlxsName != null ? xlxsName.xlsxName : field.Name; var file = Path.Combine(folder, jsonFilename + ".json"); fsData data; _serializer.TrySerialize(field.FieldType, field.GetValue(ins), out data).AssertSuccess(); WriteDataToJson(file, data); if (TypeUtility.HasAttribute <LocaleAttribute>(field.FieldType)) { file = Path.Combine(folder, jsonFilename + ".locale.json"); _serializer.TrySerialize(typeof(Dictionary <string, LocaleJsonObject>), localeDict, out data).AssertSuccess(); WriteDataToJson(file, data); } } }
public void ProcessAlarms() { InstanceUtility.TouchProcessFile(); var alarmQueue = DB.GetNewAlarms(); string user = ConfigurationManager.AppSettings["pbx_username"]; string pass = ConfigurationManager.AppSettings["pbx_password"]; Logger.WriteLine("found " + alarmQueue.Rows.Count + " new alarms in the queue"); for (int i = 0; i < alarmQueue.Count; i++) { var alarm = alarmQueue[i]; LogDetails(alarm); string[] numbers = DB.GetPhoneNumbers(alarm.list); //string[] numbers = new string[] { "5272", "5272" }; Asterisk.Call(alarm.siteid, alarm.parameter, alarm.value.ToString("F2"), numbers, user, pass); Thread.Sleep(2000); string prevLog = ""; do { InstanceUtility.TouchProcessFile(); Thread.Sleep(2000); UpdatePiscesStatus(alarm); if (Asterisk.Log != prevLog) { prevLog = Asterisk.Log; Logger.WriteLine(" Asterisk: " + Asterisk.LogTime + " : " + Asterisk.Log); } DB.SaveTable(alarmQueue); if (Asterisk.ActiveChannels == 0) { UpdatePiscesStatus(alarm); break; // someone hungup or other loss of connection } if (Asterisk.MinutesElapsed >= 15) { UpdatePiscesStatus(alarm); break; } } while (Asterisk.Status == "unconfirmed"); } }
public override bool printHead(ref object data, Type type) { btnStype.alignment = TextAnchor.MiddleRight; var args = type.GetGenericArguments(); var keyType = args[0]; var valueType = args[1]; EditorGUILayout.LabelField("[Dict<" + keyType.Name + ", " + valueType.Name + ">]"); if (GUILayout.Button("+", btnStype, GUILayout.Width(20f))) { if (data == null) { data = InstanceUtility.InstanceOfType(type); } else { InstanceUtility.addKeyValuePair(data as IDictionary, keyType, valueType); } return(true); } return(false); }
static void Main(string[] args) { Logger.EnableLogger(); if (InstanceUtility.IsAnotherInstanceRunning()) { Console.WriteLine("Exiting: Another instance is running "); return; } try { Logger.WriteLine("Starting AlarmQueueManager"); InstanceUtility.CreateProcessIdFile(); var aq = new AlarmQueueManager(); Logger.WriteLine("Processing Alarms"); aq.ProcessAlarms(); } finally { InstanceUtility.DeleteProcessIdFile(); } }