//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"); }
/// <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); }
/// <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; }