public void TakeIncomingCall(object sender, CallEvent e) { bool flag = true; Id = e.Id; Console.WriteLine("Have incoming Call at number: {0} to terminal {1}", e.TelephoneNumber, e.CalledTelephoneNumber); while (flag) { Console.WriteLine("Answer? Y/N"); char k = Console.ReadKey().KeyChar; if (k == 'Y' || k == 'y') { flag = false; Console.WriteLine(); this.AnswerToCall(e.TelephoneNumber, CallState.Answered, e.Id); } else if (k == 'N' || k == 'n') { flag = false; Console.WriteLine(); this.EndCall(); } else { flag = true; Console.WriteLine(); } } }
public static void ShareShot(string param) { GameObject main = GameObject.Find("main"); CallEvent e = main.GetComponent <CallEvent>(); e.ShareShot(param); }
public void MakeCall(PhoneNumber phoneNumber) { if (CallEvent != null) { CallEvent.Invoke(this, phoneNumber); } }
/// <summary> /// Добавляет событие /// </summary> public CallEvent AddCallEvent(CallEvent callEvent) { db.CallEvents.Add(callEvent); db.SaveChanges(); return(callEvent); }
public void MakeCall(int number) { if (CallEvent != null) { CallEvent.Invoke(this, number); } }
public static void CallFun(string param) { GameObject main = GameObject.Find("main"); CallEvent e = main.GetComponent <CallEvent>(); e.CallFun(param); }
public void raiseEvent(Event evt) { if (evt == null) { logwrite.write("raiseEvent", ":::::::::::::::::::::::: evt NULL ::::::::::::::::::::::::"); return; } AgentEvent agentEvent = null; CallEvent callEvent = null; ErrorEvent errorEvent = null; if (evt is AgentEvent) { agentEvent = (AgentEvent)evt; raiseAgentEvent(agentEvent); } else if (evt is CallEvent) { callEvent = (CallEvent)evt; raiseCallEvent(callEvent); } else if (evt is ErrorEvent) { errorEvent = (ErrorEvent)evt; raiseErrorEvent(errorEvent); } }
private void writeCallEventLog(string eventName, CallEvent evt) { StringBuilder sb = new StringBuilder(); sb.Append("STATE : "); foreach (DictionaryEntry item in evt.getCallStateTable()) { sb.Append("[" + item.Key + " -> " + item.Value + "]"); } StringBuilder actionBuilder = new StringBuilder(); actionBuilder.Append("ACTION : "); foreach (string str in evt.getActionList()) { actionBuilder.Append("[" + str + "]"); } logwrite.write("raiseEvent", ":::::::::::::::::::::::::::::::::::: " + eventName + " ::::::::::::::::::::::::::::::::::::"); logwrite.write("raiseEvent", evt.getEvtMsg()); logwrite.write("raiseEvent", "ID : " + evt.getDialogID()); logwrite.write("raiseEvent", "CALLTYPE : " + evt.getCallType()); logwrite.write("raiseEvent", "FromAddress : " + evt.getFromAddress()); logwrite.write("raiseEvent", "ToAddress : " + evt.getToAddress()); logwrite.write("raiseEvent", sb.ToString()); logwrite.write("raiseEvent", actionBuilder.ToString()); logwrite.write("raiseEvent", "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"); }
public void Call(string callNumber) { // непосредственно звонок Console.WriteLine("Вызов " + callNumber); Console.ReadKey(); // вызов события по звонку CallEvent?.Invoke(this, new CallEventsArgs(IMEI, callNumber)); }
/// <summary> /// 映射值 /// </summary> /// <param name="Param"></param> public void ExecuteCallData(object Param) { JObject Obj = (Param as string).ToModel <JObject>(); var CallData = Obj["MiddleResult"].ToJson().ToModel <SocketResultDefault>(); CallEvent.Instance().Response = new Dictionary <string, object> { { "SocketJsonData", CallData.SocketJsonData.ToModel <object>() } }; }
private async void TriggerAlertEvent(CallEvent callEvent) { using (HttpClient _client = new HttpClient()) { Console.WriteLine("Posting to mqtt.."); var jsonObject = JsonConvert.SerializeObject(new{ alert = "callsCongestionLimitPassed" }); var content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); await _client.PostAsync("http://172.17.0.1:34567/publish", content); } }
private CallEvent InsertNewEvent(CallEvent callEvent) { CallEvent callEventSerialized = new CallEvent(callEvent); callEventSerialized.BsonHourCongestion = createBsonDocument(callEvent.HourCongestion); callEventSerialized.BsonMostCongestedHour = createBsonDocument(callEvent.MostCongestedHour); callEventSerialized.BsonLeastCongestedHour = createBsonDocument(callEvent.LeastCongestedHour); _callStatsCollection.InsertOne(callEventSerialized); return(callEventSerialized); }
private async void SendCallsTelemetry(CallEvent callEventSerialized) { using (HttpClient _client = new HttpClient()) { Console.WriteLine("Posting telemetry to mqtt.."); var jsonObject = JsonConvert.SerializeObject(new { callsTelemetry = callEventSerialized.BsonHourCongestion }); var content = new StringContent(jsonObject, Encoding.UTF8, "application/json"); await _client.PostAsync("http://172.17.0.1:34567/publish", content); } }
public void CallingTo(PhoneNumber targetNumber) { if (targetNumber != phoneNumber) { CallEvent?.Invoke(this, new EventArgsCall(phoneNumber, targetNumber)); } else { interaction.CallingToYourselfMessage(targetNumber); } }
public void OutgoingCall(int outgoingNumber) { ICallInfo callInfo = new CallInfo() { ClientNumberOfTelephone = ClientNumberOfTelephone, OutgoingNumber = outgoingNumber }; MessageHandlerEvent(this, $"Попытка вызова абонентом {callInfo.ClientNumberOfTelephone} абонента {callInfo.OutgoingNumber}"); CallEvent?.Invoke(this, callInfo); CurrentCallInfo = callInfo; }
/// <summary> /// 重新连接通信中心 /// </summary> /// <param name="Action"></param> public static void ReOpenInternalSocket(Action <ProxyBasic> Action) { ProxyBasic Client = new ProxyBasic(); Action(Client); if (Call.SocketClient.IsConnected) { Call.SocketClient.DisConnect(); } CallEvent.Instance().Changed += new CallEvent.ResultEventHandler(CallEventAction.Instance().OnResponse); Client.InitInternalSocket(Client.SockInfoIP, Client.SockInfoPort, DependencyExecute.Instance.FindLibrary()); }
public void OutgoingCall(string targetPhoneNumber) { if (isConnectedToPort) { Console.WriteLine($"Terminal {PhoneNumber} calling to {targetPhoneNumber}"); CallEvent?.Invoke(this, new CallEventArgs(PhoneNumber, targetPhoneNumber)); } else { throw new ArgumentException("Your terminal didn't connect to terminal"); } }
/// <summary> /// 初始化通信中心Socket /// </summary> /// <param name="Action"></param> /// <param name="UseServer"></param> public static void InitInternalSocket(Action <ProxyBasic> Action, bool UseServer = false) { ProxyBasic Client = new ProxyBasic(); Action(Client); SocketConstConfig.ClientPort = Client.ClientPort; if (UseServer) { CallEvent.Instance().Changed += new CallEvent.ResultEventHandler(CallEventAction.Instance().OnResponse); Client.InitInternalSocket(Client.SockInfoIP, Client.SockInfoPort, DependencyExecute.Instance.FindLibrary()); } }
private void RegDroppedCall(CallEventArgs arg) { var call = calls.FirstOrDefault(x => x.Source == arg.SourceNumber && x.Target == arg.TargetNumber); if (call == null) { return; } calls.Remove(call); call.Duration = DateTime.Now - call.CallDate; CallEvent?.Invoke(this, call); }
async public Task <List <CallEvent> > GetEventsAsync() { var callStats = await _callStatsCollection.Find(x => true).ToListAsync(); var callStatsDeserialized = callStats.Select(x => { CallEvent callEventCopy = new CallEvent(x); callEventCopy.LeastCongestedHour = DeserializeBsonDoc(callEventCopy.BsonLeastCongestedHour); callEventCopy.MostCongestedHour = DeserializeBsonDoc(callEventCopy.BsonMostCongestedHour); callEventCopy.HourCongestion = DeserializeBsonDoc(callEventCopy.BsonHourCongestion); return(callEventCopy); }); return(callStatsDeserialized.ToList()); }
public void OpenNewThreadWithRun(CallEvent callBack, object param) { AsyncCallback call = new AsyncCallback(t => { callBack(param); }); if (th == null) { th = new AsyncRequestThreadHelper(call); } new Thread(() => { th.SetComplate(); }).Start(); }
public async void UpdateStats() { var response = _callConsumer.fetchData(); var responseContent = await response; var responseContentString = await responseContent.ReadAsStringAsync(); List <Call> _collectedCalls = JsonConvert.DeserializeObject <List <Call> >(responseContentString); List <CallDuration> _collectedCallStats = ConvertCallsToStats(_collectedCalls); double yIntercept, slope; AnalyzeCallDuration(_collectedCallStats, out yIntercept, out slope); Dictionary <int, int> hourlyCongestion = createPredictedHourlyCongestion(yIntercept, slope); CallEvent callEvent = createEvent(hourlyCongestion); CallEvent insertedEvent = InsertNewEvent(callEvent); TriggerAlertEvent(callEvent); SendCallsTelemetry(insertedEvent); }
public void TestCreateEventActionHandover() { int blocked = 0; int started = 0; int created = 0; int createdhandover = 0; int createdend = 0; var data = new CallData(1, 5, 20, 0); var station = new Station(2, 0, 0, 10); var e = new CallEvent( station, data, () => { blocked++; }, () => { started++; }, (d) => { created++; Assert.AreEqual((uint)0, d); }, (d, cd) => { createdend++; Assert.AreEqual(data, cd); }, (d, cd) => { createdhandover++; Assert.AreEqual(data, cd); Assert.AreEqual((uint)5, d); }, 0); e.Action(); Assert.AreEqual(0, blocked); Assert.AreEqual(1, created); Assert.AreEqual(1, started); Assert.AreEqual(0, createdend); Assert.AreEqual(1, createdhandover); }
private void ParseStringToVK() { try { string queryStr = instance.commandField.text; string[] tmpArray = queryStr.Split('?'); string method = tmpArray[0]; Dictionary <string, string> parameters = null; //find array after ? if (tmpArray.Length > 1 && tmpArray[1].Length > 0) { //find array after & tmpArray = tmpArray[1].Split(new[] { '&' }, StringSplitOptions.RemoveEmptyEntries); if (tmpArray[0].Contains('=')) { parameters = tmpArray.ToDictionary(x => x.Split('=')[0], x => x.Split('=')[1]); } else { string action = tmpArray[0]; if (instance.clientAPIToggle.isOn) { CallClientAPIEvent.Invoke(method, action, null); } } } if (instance.clientAPIToggle.isOn) { CallClientAPIEvent.Invoke(method, null, parameters); } else { CallEvent.Invoke(method, parameters); } } catch (Exception e) { Debug.LogError(e); } }
private CallEvent createEvent(Dictionary <int, int> hourlyCongestion) { CallEvent callEvent = new CallEvent(); callEvent.HourCongestion = hourlyCongestion; var maxHourDuration = hourlyCongestion.Values.Max(); var keyOfMax = hourlyCongestion.Aggregate((x, y) => x.Value > y.Value ? x : y).Key; callEvent.MostCongestedHour.Add(keyOfMax, maxHourDuration); var minHourDuration = hourlyCongestion.Values.Min(); var keyOfMin = hourlyCongestion.Aggregate((x, y) => x.Value < y.Value ? x : y).Key; callEvent.LeastCongestedHour.Add(keyOfMin, minHourDuration); callEvent.LastUpdatedAt = BsonDateTime.Create(DateTime.Now); return(callEvent); }
private void setActiveDialogID(CallEvent evt) { if (evt.getCallType().Equals("CONSULT") || evt.getCallType().Equals(CALL.PLAY_AGENT_GREETING)) { dialogID_second = evt.getDialogID(); activeDialogID = dialogID_second; } else { if (evt.getDialogID().Equals(dialogID_second)) { dialogID_second = evt.getDialogID(); activeDialogID = dialogID_second; } else { dialogID = evt.getDialogID(); activeDialogID = dialogID; } } logwrite.write("setDialogID", "Active DialogID : " + activeDialogID + " , first ID : " + dialogID + " , seconde ID : " + dialogID_second); logwrite.write("", ""); }
private void removeDialogID(CallEvent evt) { if (dialogID_second.Equals(evt.getDialogID())) { dialogID_second = ""; activeDialogID = dialogID; } if (dialogID.Equals(evt.getDialogID())) { dialogID = ""; activeDialogID = ""; } logwrite.write("removeDialogID", "Active DialogID : " + activeDialogID + " , first ID : " + dialogID + " , seconde ID : " + dialogID_second); if (activeDialogID.Length == 0 && dialogID.Length == 0 && dialogID_second.Length == 0) { logwrite.write("removeDialogID", "### THERE IS NO ANY ACTIVE CALL. CLEARE CALL DATA !! ##"); if (callDataTable != null) { callDataTable.Clear(); } } }
public void MakeCall(PhoneNumber phoneNumber) { CallEvent?.Invoke(this, phoneNumber); }
public void addCallEvent(XElement callNode, Package pkg) { // Bouml preserved body begin 0001F5E7 string type = "", className = "", id = ""; XAttribute attr = (XAttribute)callNode.Attribute("{http://schema.omg.org/spec/XMI/2.1}type"); if (attr == null) attr = (XAttribute)callNode.Attribute("{http://www.omg.org/spec/XMI/20131001}type"); if (attr != null) type = attr.Value; attr = (XAttribute)callNode.Attribute("name"); if (attr != null) className = attr.Value; if (type.CompareTo("uml:CallEvent") != 0) { //Debug.Log(className + " is a " + type + " and must be a signal"); return; } attr = (XAttribute)callNode.Attribute("id"); if (attr != null) id = attr.Value; CallEvent callEvent = new CallEvent(id); attr = (XAttribute)callNode.Attribute("operation"); if (attr != null) _callEvents.Add(callEvent, attr.Value); _events.Add(id, callEvent); // Bouml preserved body end 0001F5E7 }
public void HandleHandHistory(string handHistory) { _summary = false; ResetOpponentsEvent?.Invoke(); foreach (var line in handHistory.Split('\n')) { if (line.Contains("Seat") && !line.Contains("button") && !_summary) { var split = line.Split(':'); var name = split[1].Substring(1, split[1].IndexOf('(') - 2); if (name == Controller.User.UserName) { continue; } if (!Controller.Opponents.ContainsKey(name)) { Controller.Opponents[name] = new Opponent { Name = name, HandsPlayed = 1 } } ; else { Controller.Opponents[name].HandsPlayed++; Controller.Opponents[name].InPlay = true; } } else if (line.Contains("HOLE") || line.Contains("FLOP") || line.Contains("TURN") || line.Contains("RIVER") || line.Contains("SHOW DOWN") || line.Contains("SUMMARY")) { var split = line.Split(' '); SetHandHistoryStateEvent?.Invoke(split[1]); if (line.Contains("SUMMARY")) { _summary = true; } } else if (line.Contains(Controller.User.UserName) && line.Contains("collected")) { SetHandWonEvent?.Invoke(); } else if (line.Contains(Controller.User.UserName)) { if (line.Contains("calls")) { CallEvent?.Invoke(); } else if (line.Contains("bets")) { BetEvent?.Invoke(); } else if (line.Contains("raises")) { RaiseEvent?.Invoke(); } else if (line.Contains("checks")) { CheckEvent?.Invoke(); } else if (line.Contains("folds")) { FoldEvent?.Invoke(); } } else if (line.Contains("Hand #")) { var split = line.Split(' '); SetHandNumEvent?.Invoke(split[2]); } else if (line.Contains("calls")) { var user = line.Split(':')[0]; OpponentCallEvent?.Invoke(user); } else if (line.Contains("checks")) { var user = line.Split(':')[0]; OpponentCheckEvent?.Invoke(user); } else if (line.Contains("bets")) { var user = line.Split(':')[0]; OpponentBetEvent?.Invoke(user); } else if (line.Contains("raises")) { var user = line.Split(':')[0]; OpponentRaiseEvent?.Invoke(user); } else if (line.Contains("folds")) { var user = line.Split(':')[0]; OpponentFoldEvent?.Invoke(user); } } }
public void Call(int callNumber) { CallEvent?.Invoke(this, new CallArgs(TerminalNumber, callNumber)); }