private void toastNotificationsTask_Activated_1(object sender, DevExpress.XtraBars.ToastNotifications.ToastNotificationEventArgs e) { string guid = (string)e.NotificationID; if (NotificationsTask.ContainsKey(guid)) { Task task = NotificationsTask[guid]; NotificationsTask.Remove(guid); FormTaskMain frmtask = new FormTaskMain(task); frmtask.Show(); } }
private void timer1_Tick(object sender, EventArgs e) { timer1.Stop(); var Baza = new AbacusSUPEntities(); List <Task> stara_lista = Main_lista.OrderByDescending(qq => qq.datum).ToList(); List <Task> nova_lista = Baza.Task.OrderByDescending(qq => qq.datum).ToList(); //var razlika = nova_lista.Except(stara_lista).ToList(); var razlika = nova_lista.Where(qq => qq.datum > stara_lista.Max(ww => ww.datum)).ToList(); if (stara_lista.Count == 0 && nova_lista.Count > 0) { razlika.AddRange(nova_lista); } if (razlika.Count > 0) { //gridControl1.DataSource = Baza.Task.OrderByDescending(qq => qq.datum).ToList(); Main_lista.Clear(); Main_lista.AddRange(nova_lista); taskBindingSource.DataSource = Main_lista.OrderByDescending(qq => qq.datum); gridView1.RefreshData(); List <VezaLT> listaveza = Baza.VezaLT.ToList(); foreach (Task novi in razlika) { stara_lista.Add(novi); // dodaj u staru listu if (listaveza.Where(qq => qq.id_task == novi.id_task && qq.id_login == OperaterLogin.operater.id) != null) { if (OperaterLogin.operater.Podesavanja.novitask_notif && novi.Login.id != OperaterLogin.operater.id && OperaterLogin.NotifOverride) // ako su podesavanja ispravna i operater razlicit od logovanog { //toastNotificationsTask.Activated += (ss, ee) => //NOVO** //{ // //FormTaskMain frmtm = new FormTaskMain(novi); // //frmtm.Show(); // MessageBox.Show("Task notifikacija kliknuta! \n " + "Elemenata u listi razlika" + razlika.Count.ToString() + "\n Task trenutno: " + novi.naslov + "\nTask ID:" + novi.id_task.ToString()); //}; string guid = Guid.NewGuid().ToString(); var notification = new DevExpress.XtraBars.ToastNotifications.ToastNotification() { ID = guid, Body = novi.Login.username + " je otvorio novi task, " + novi.naslov + "!", Sound = DevExpress.XtraBars.ToastNotifications.ToastNotificationSound.IM, }; //notification.Image = notification.AppLogoImage; NotificationsTask.Add(guid, novi); toastNotificationsTask.Notifications.Add(notification); toastNotificationsTask.ShowNotification(notification); //toastNotificationsTask.Notifications[0].Body = novi.Login.username + " je otvorio novi task, " + novi.naslov + "!"; //toastNotificationsTask.ShowNotification(toastNotificationsTask.Notifications[0]); } if (this.WindowState == FormWindowState.Minimized && OperaterLogin.operater.Podesavanja.minimize_tray) { this.notifyIcon1.Visible = false; this.notifyIconNotifikacija.Visible = true; } //toastNotificationsManager1.ShowNotification(toastNotificationsManager1.Notifications[0]); FlashWindowEx(this); } } razlika.Clear(); } //Baza.SaveChanges(); Baza = new AbacusSUPEntities(); List <Komentar> nova_kom_lista = Baza.Komentar.ToList(); var razlika_kom = nova_kom_lista.Where(qq => qq.datum > OperaterLogin.stara_kom_lista.Max(ww => ww.datum)).ToList(); if (OperaterLogin.stara_kom_lista.Count == 0 && nova_kom_lista.Count > 0) { razlika_kom.AddRange(nova_kom_lista); } if (razlika_kom.Count > 0) { List <VezaLT> listaveza = Baza.VezaLT.ToList(); foreach (Komentar novi in razlika_kom) { OperaterLogin.stara_kom_lista.Add(novi); //dodaj aktuelni komentar u staru listu if (listaveza.Where(qq => qq.id_task == novi.id_task && qq.id_login == OperaterLogin.operater.id) != null) { if (OperaterLogin.operater.Podesavanja.novikom_notif && OperaterLogin.operater.id != novi.Login.id && OperaterLogin.NotifOverride) // ako podesavanj dozvoljavaju i ako je komentar od operatera koji nije trenutno logovan { string guid = Guid.NewGuid().ToString(); var notification = new DevExpress.XtraBars.ToastNotifications.ToastNotification() { ID = guid, Body = novi.Login.username + " je dodao novi komentar na task, " + novi.Task.naslov + "!", Sound = DevExpress.XtraBars.ToastNotifications.ToastNotificationSound.IM, }; //notification.Image = notification.AppLogoImage; NotificationsKomentar.Add(guid, novi); toastNotificationsKomentar.Notifications.Add(notification); toastNotificationsKomentar.ShowNotification(notification); } if (this.WindowState == FormWindowState.Minimized && OperaterLogin.operater.Podesavanja.minimize_tray) { this.notifyIcon1.Visible = false; this.notifyIconNotifikacija.Visible = true; } //toastNotificationsManager1.ShowNotification(toastNotificationsManager1.Notifications[0]); FlashWindowEx(this); } } razlika_kom.Clear(); } timer1.Interval = (1000) * (15); // Timer will tick evert 10 seconds timer1.Enabled = true; // Enable the timer timer1.Start(); }