예제 #1
0
        private async Task CheckEvents()
        {
            var newEventList = (await WebClient.GetEvents()).ToList();

            var flaggedEvents = RuleChecker.Enfocre(newEventList, EventList);

            PushManager.Send(flaggedEvents);

            EventList = new ConcurrentBag <IfiEvent>(newEventList);
        }
예제 #2
0
        private void btnGonder_Click(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex < 0)
            {
                return;
            }

            INotificator notify;    // İnstance ı burada degil hangi nesne secildiyse orada alır

            switch (comboBox1.SelectedIndex)
            {
            // Amacımız secitiğimiz cb degerine göre mesaj gondermek. Bunun icin o türde bir Inotificator tipinde instance oluşturuyoruz(notify). Notify instance send metoduna sahive ve o metod MessageBase tipinde bir parametre alıyor. Onun için secitigimiz mesaj tipine göre(sms,mail,push) messageBase tipinde bir orneklem alıyoruz.
            case 0:     //sms
                notify = new SmsManager();
                MessageBase sms = new SmsMessage()
                {
                    // Polymorphism sayesinde istediğimiz degisiklikleri yapıyoruz.Yani sectiğimiz mesaj tipindeki propertylere ulaşıp degerlerini degiştirdik.
                    Body   = "sms body",
                    Sender = "sms sender"
                };
                notify.Send(sms);       // Send metodu bizden messagebase tipinde bir degisken istiyor. onun icin yukarıda MessageBase tipinde smsMessage den orneklem aldık. Ve hangi tipte geldiyse o tipteki send metodu calısacak
                break;

            case 1:     //Email
                notify = new EmailManager();
                MessageBase email = new EmailMessage()
                {
                    Body    = "email body",
                    Sender  = "email sender",
                    Subject = "email subject"
                };
                notify.Send(email);
                break;

            default:      // push
                notify = new PushManager();
                MessageBase push = new PushMessage()
                {
                    Body    = "push body",
                    Sender  = "push sender",
                    Channel = "push channel"
                };
                notify.Send(push);
                break;
            }

            if (notify.MessageStates == MessageStates.Sent)
            {
                MessageBox.Show("Gonderildi");
            }
        }
예제 #3
0
파일: Form1.cs 프로젝트: icadir/WA_WM.Intro
        private void btnGonder_Click(object sender, EventArgs e)
        {
            if (cmbMethod.SelectedIndex < 0)
            {
                return;
            }

            INotificator notify;

            switch (cmbMethod.SelectedIndex)
            {
            case 0:     //sms
                notify = new SmsManager();
                MessageBase sms = new SmsMessage()
                {
                    Body   = "sms body",
                    Sender = "sms sender"
                };
                notify.Send(sms);
                break;

            case 1:     //email
                notify = new EmailManager();
                MessageBase email = new EmailMessage()
                {
                    Body    = "email body",
                    Sender  = "email sender",
                    Subject = "email subject"
                };
                notify.Send(email);
                break;

            default:     //push
                notify = new PushManager();
                MessageBase push = new PushMessage()
                {
                    Body    = "push body",
                    Sender  = "push sender",
                    Channel = "push channel"
                };
                notify.Send(push);
                break;
            }
            if (notify.MessageState == MessageStates.Sent)
            {
                MessageBox.Show("Gonderildi");
            }
        }