Esempio n. 1
0
        // 计时器
        public void TimeKeeper()
        {
            RingEventArgs e = new RingEventArgs();

            Console.WriteLine("请按照以下格式输入:注意中英文符号");
            Console.WriteLine("2018/1/1 0:0:0");
            string   s    = Console.ReadLine();
            DateTime time = DateTime.Now;

            try
            {
                time = DateTime.Parse(s);
            }
            catch
            {
                Console.WriteLine("输入的日期不符合要求哦!");
            }
            while (true)
            {
                System.DateTime now = System.DateTime.Now;
                Thread.Sleep(1000);
                Console.WriteLine(now);
                if (now >= time)
                {
                    e.time = now;
                    OnRing(e);  // 调用 OnBolied方法
                }
            }
        }
Esempio n. 2
0
 protected void OnAbonentsDisconnected(RingEventArgs e)
 {
     if (AbonentsDisconnected != null)
     {
         AbonentsDisconnected(this, e);
     }
 }
Esempio n. 3
0
 // 可以供继承自 Heater 的类重写,以便继承类拒绝其他对象对它的监视
 protected virtual void OnRing(RingEventArgs e)
 {
     if (Ring != null)
     {                  // 如果有对象注册
         Ring(this, e); // 调用所有注册对象的方法
     }
 }
Esempio n. 4
0
        private async void ExchangeCallStartEventHandler(object sender, RingEventArgs e)
        {
            if (PhoneNumber == e.Sender)
            {
                this._isReceiver   = false;
                _currentCollocutor = e.Reciver;
            }

            if (PhoneNumber == e.Reciver)
            {
                this._isReceiver   = true;
                _currentCollocutor = e.Sender;

                //var awaiter = Task.Delay(_callReceivingDelayMs, _callReceivingDelayCancellator.Token).GetAwaiter();
                //awaiter.OnCompleted(() => this.CloseCall());

                await Task.Delay(_callReceivingDelayMs, _callReceivingDelayCancellator.Token)
                .ContinueWith((task) =>
                {
                    if (!task.IsCanceled)
                    {
                        this.CloseCall();      // Disconnect if not received
                    }
                });
            }
        }
Esempio n. 5
0
        static void CallManager_Ring(object sender, RingEventArgs e)
        {
            System.Console.WriteLine("Call {0} ring event.", e.CallId);
            var action   = e.RingOn ? "turn on" : "switch off";
            var toneType = e.IsRingback ? "a ringback tone" : "a ring sound";

            System.Console.WriteLine("========>>> {0} {1}", action, toneType);
        }
Esempio n. 6
0
 private void ExchangeCallEndEventHandler(object sender, RingEventArgs e)
 {
     if (PhoneNumber == e.Sender || PhoneNumber == e.Reciver)
     {
         _currentCollocutor = null;
         this._isReceiver   = false;
     }
 }
Esempio n. 7
0
        public void AbonentsConnectedEventHandler(object sender, RingEventArgs e)
        {
            var senderClient   = _data.Clients.GetEntityOrDefault(c => c.Phone == e.Sender);
            var receiverClient = _data.Clients.GetEntityOrDefault(c => c.Phone == e.Reciver);

            var billing = new Data.Billing(senderClient, receiverClient, DateTimeOffset.Now);

            _currentRings.Add((sender: e.Sender, reciver: e.Reciver), billing);
        }
Esempio n. 8
0
        void AnyPhoneLine_Ringing(object sender, RingEventArgs e)
        {
            TapiEventLogEntry entry = new TapiEventLogEntry(
                e.Line.Name,
                -1,
                TapiEvents.Ringing,
                e.RingCount.ToString());

            this.Events.Insert(0, entry);
        }
Esempio n. 9
0
 public void ring()
 {
     while (TimeToRing > System.DateTime.Now)
     {
         System.Threading.Thread.Sleep(1000);
     }
     if (Ringing != null)
     {
         RingEventArgs args = new RingEventArgs();
         Ringing(this, args);
     }
 }
Esempio n. 10
0
 public void RingPre()
 {
     while (setTime > System.DateTime.Now)
     {
         System.Threading.Thread.Sleep(1000);
     }
     //通知外界
     if (Ringing != null)
     {
         RingEventArgs args = new RingEventArgs();
         Ringing(this, args);
     }
 }
Esempio n. 11
0
 public void ring()
 {
     while (TimeToRing > System.DateTime.Now)
     {
         System.Threading.Thread.Sleep(1000);
     }
     //Console.WriteLine("时间到啦!!!");
     //通知外界
     if (Ringing != null)
     {
         RingEventArgs args = new RingEventArgs();
         Ringing(this, args);
     }
 }
        public void NoAnswerToCallTest()
        {
            var callEventArgs = new RingEventArgs(firstClient.Phone, secondClient.Phone);

            exchangeBilling.AbonentsConnectedEventHandler(null, callEventArgs);

            Task.Delay((int)callWaitingSpan.TotalMilliseconds - 6000).Wait();

            exchangeBilling.AbonentsDisconnectedEventHandler(null, callEventArgs);
            Task.Delay(5000).Wait();

            Assert.That(unitOfWork.Billing.Count == 1);
            Assert.That(unitOfWork.Billing.GetEntities(e => e.Checked).Count() == 1);
            Task.Delay(5000).Wait();

            Assert.That(firstClient.Balance == 0);
            Assert.That(secondClient.Balance == 0);
        }
Esempio n. 13
0
        public void StandartCallHandlingTest()
        {
            var callEventArgs = new RingEventArgs(firstClient.Phone, secondClient.Phone);

            exchangeBilling.AbonentsConnectedEventHandler(null, callEventArgs);

            Task.Delay(20000).Wait();

            exchangeBilling.AbonentsDisconnectedEventHandler(null, callEventArgs);
            Task.Delay(21000).Wait();

            Assert.That(unitOfWork.Billing.Count > 0);
            Assert.That(unitOfWork.Billing.GetEntities(b => b.Checked).Count() > 0);
            Task.Delay(5000).Wait();

            Assert.That(firstClient.Balance < 0);
            Task.Delay(3000).Wait();

            Assert.That(secondClient.Balance == 0);
        }
Esempio n. 14
0
 public void GetUp(object sender, RingEventArgs args)
 {
     Console.WriteLine($"{this.Name}, get up! You need to go to school");
 }
Esempio n. 15
0
 void line_Ringing(object sender, RingEventArgs e)
 {
     log.Debug("Line ringing: " + e.Line.ToString() + ", " + e.RingCount.ToString() + " times");
 }
Esempio n. 16
0
 void manager_LineRinging(object sender, RingEventArgs e)
 {
     log.Debug("Manager Line ringing: " + e.Line.ToString() + ", " + e.RingCount.ToString() + " times");
 }
Esempio n. 17
0
 static void show(object sender, RingEventArgs e)
 {
     Console.WriteLine(e.str);
 }
Esempio n. 18
0
 /*
  * dummy so far
  */
 private void Line_Ringing(object sender, RingEventArgs e)
 {
     App.log(String.Format("TAPI line - Ringing event - Count '{0}'", e.RingCount));
 }
 public void AbonentsDisconnectedEventHandler(object sender, RingEventArgs e)
 {
     return;
 }
Esempio n. 20
0
 public void Reaction(object sender, RingEventArgs args)
 {
     Console.WriteLine($"Please, {Surname} {Name}, stop your activity! Timer is over!");
 }
Esempio n. 21
0
 void line_Ringing(object sender, RingEventArgs e)
 {
     log.Debug("Line ringing: " + e.Line.ToString() + ", " + e.RingCount.ToString() + " times");
 }
Esempio n. 22
0
 private static void Clock_Ring(object sender, RingEventArgs e)
 {
     Console.WriteLine($"\t{e.Time.ToString()} is gone. {e.Message}");
 }
 public void UpdateStats(RingEventArgs e)
 {
     var_Current_Player_Details.Var_Score += 100;
     var_Current_Score += 100;
     var_Game_Time_Remaining += e.Time;
 }
Esempio n. 24
0
 public void AbonentsDisconnectedEventHandler(object sender, RingEventArgs e)
 {
     if (_currentRings.ContainsKey((sender: e.Sender, reciver: e.Reciver)))
     {
         var billing = _currentRings[(sender : e.Sender, reciver : e.Reciver)];
Esempio n. 25
0
 void manager_LineRinging(object sender, RingEventArgs e)
 {
     log.Debug("Manager Line ringing: " + e.Line.ToString() + ", " + e.RingCount.ToString() + " times");
 }