Example #1
0
        //Guid msgreceiverId = Guid.NewGuid(); 
        public AlertsIpc(string mainwindowId,AlertsCategory alertCategory,MainPage2   page)
        {
            pageMain = page;
            messageSender = new LocalMessageSender(mainwindowId.ToString(), LocalMessageSender.Global);
            messageSender.SendCompleted += new EventHandler<SendCompletedEventArgs>(messageSender_SendCompleted);

            string payload = IPCHelper.FormatMessage(
                                    alertCategory.ToString(), 
                                    IPCHelper.MSGHDR_DATAREQUEST);
            //MessageBox.Show("Before sending");
            messageSender.SendAsync(payload);
            //MessageBox.Show("After sending");
        }
Example #2
0
 /// <summary>
 /// Exposes a collection of a light weight Alert object that could 
 /// be used for communicating with the Popup UI
 /// </summary>
 public AlertsDataTransfer GetAlertsTransferObject(AlertsCategory alertCategory)
 {
     return AlertsDataTransfer.CreateFromModel(this, alertCategory);
 }
Example #3
0
        /// <summary>
        /// This will query the alerts data that is currently held by the model and
        /// prepara a smaller subset of data that needs to be displayed in the Popup UI
        /// </summary>
        /// <param name="vm"></param>
        /// <param name="alertCategory"> </param>
        /// <returns></returns>
        public static AlertsDataTransfer CreateFromModel(ViewModel vm ,AlertsCategory alertCategory)
        {
            var trfr = new AlertsDataTransfer {CurrentTimeZone = ViewModel.Current.RegionalSettings.ActiveTimeZone};


            IEnumerable<TaskItem>   queryTasksAlerts=null;
            ObservableCollection<TaskItem> alertsCollection = null;

            if (alertCategory == AlertsCategory.AlertAssignedTasks)
            {
                queryTasksAlerts= vm.TaskAlerts.AssignedTasksAlerts;
                alertsCollection = trfr.AssignedTasks;
                Debug.WriteLine("Creating alerts for Assigned tasks");
            }

            if (alertCategory == AlertsCategory.AlertsManagedTasks)
            {
                queryTasksAlerts = vm.TaskAlerts.ManagedTasksAlerts;
                alertsCollection = trfr.ManagedTasks;
                Debug.WriteLine("Creating alerts for Managed tasks");
            }

            int count = MaxRowsToTransfer;
            
            foreach (TaskItem t in queryTasksAlerts )
            {
                TaskItem d = t.Clone();
                alertsCollection.Add(d);
                
                count--;
                if (count <= 0) break;
            }

            trfr.TotalAlerts = queryTasksAlerts.Count();
            Debug.WriteLine( string.Format ( "Created a total of {0}",trfr.TotalAlerts ));

            return trfr;
        }