Пример #1
0
 private void OnCompleteSendMessage(MessagingResult result)
 {
     if (result.Status == Status.Success)
     {
         //this.DisplayMessage("Accept succeeded.", "Info");
     }
     else
     {
         this.DisplayMessage("Message sending failed. Check your wifi/cellular connection.", "Error");
     }
 }
Пример #2
0
        private void ReceiveMessages(MessagingResult result)
        {
            if (result.Status == Status.Success)
            {
                if (result.Messages == null || result.Messages.Count == 0)
                {
                    this.Dispatcher.BeginInvoke(
                        delegate
                        {
                            UnlockUI();
                        });
                    //this.DisplayMessage("No new messages available.", "Info");
                }
                else
                {
                    this.Dispatcher.BeginInvoke(
                        delegate
                        {
                            LockUI();
                        });
                    foreach (Message message in result.Messages)
                    {
                        this.RelayContext.Messages.Add(message);
                    }

                    this.Dispatcher.BeginInvoke(new DisplayMessagesDelegate(this.ParseMessages));
                }
            }
            else
            {
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        UnlockUI();
                    });
                this.DisplayMessage("Error receiving messages. Check your wifi/cellular connection.", "Error");
            }
        }
Пример #3
0
        private void OnCompleteSendProject(MessagingResult result)
        {
            if (result.Status == Status.Success)
            {
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks).Add(sendTask);
                        ((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks = TaskSort(
                            ((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks);
                        foreach (MyTask send in (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject])).tasks)
                        {
                            byte[] message = send.Serialize();
                            RelayService.SendMessageAsync(
                                HawaiiClient.HawaiiApplicationId,
                                this.RelayContext.Endpoint,
                                (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject])).creator.hawaiiID + ","
                                + (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject])).recipients,
                                message,
                                this.OnCompleteSendTask);
                        }
                        foreach (MyTask send in (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject])).doneTasks)
                        {
                            byte[] message = send.Serialize();
                            RelayService.SendMessageAsync(
                                HawaiiClient.HawaiiApplicationId,
                                this.RelayContext.Endpoint,
                                (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject])).creator.hawaiiID + ","
                                + (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject])).recipients,
                                message,
                                this.OnCompleteSendTask);
                        }
                        NavigationService.GoBack();
                    });
                //this.DisplayMessage("Sending message to group(s) succeeded.", "Info");

            }
            else
            {
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        ProgressBar.IsVisible = false;
                        UnlockUI();
                    });
                this.DisplayMessage("Task was unable to be assigned. Check your wifi/cellular connection.", "Error");
            }
        }
Пример #4
0
 private void OnCompleteSendTask(MessagingResult result)
 {
     if (result.Status == Status.Success)
     {
     }
     else
     {
         this.Dispatcher.BeginInvoke(
             delegate
             {
                 ProgressBar.IsVisible = false;
                 UnlockUI();
             });
         this.DisplayMessage("Task was unable to be assigned. Check your wifi/cellular connection.", "Error");
     }
 }
Пример #5
0
        private void OnCompleteSendEditTask(MessagingResult result)
        {
            if (result.Status == Status.Success)
            {
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).name = NameTextBox.Text;
                        (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).description = DescTextBox.Text;

                        if ((bool)DueSwitch.IsChecked) //change duedate
                        {
                            var dueDate = (DateTime)DueDatePicker.Value;
                            var dueTime = (DateTime)DueTimePicker.Value;
                            (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).dueDate = new DateTime(dueDate.Year, dueDate.Month, dueDate.Day, dueDate.Hour, dueDate.Minute, dueDate.Second);
                        }
                        else
                            (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).dueDate = DateTime.MinValue;

                        if ((bool)RemindSwitch.IsChecked) //change remind date and update reminder in system
                        {
                            var remindDate = (DateTime)ReminderDatePicker.Value;
                            var remindTime = (DateTime)ReminderTimePicker.Value;
                            (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).remindDate = new DateTime(remindDate.Year, remindDate.Month, remindDate.Day, remindTime.Hour, remindTime.Minute, remindTime.Second);
                            if (editTask.assignedTo.hawaiiID == this.RelayContext.Endpoint.RegistrationId)
                            {
                                try
                                {
                                    ScheduledActionService.Remove((((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).taskKey);
                                }
                                catch (InvalidOperationException) { }
                                Reminder reminder = new Reminder((((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).taskKey);
                                Uri navUri = new Uri("/TaskView.xaml?TaskKey=" + selectedKey + "&ProjectKey=" + selectedProject, UriKind.RelativeOrAbsolute);
                                reminder.Title = (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).name;
                                reminder.Content = (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).description;
                                reminder.BeginTime = (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).remindDate;
                                reminder.ExpirationTime = (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).remindDate;
                                reminder.NavigationUri = navUri;
                                ScheduledActionService.Add(reminder);
                            }
                        }
                        else
                            (((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).remindDate = DateTime.MinValue;

                        ((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks = TaskSort(
                            ((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).tasks);

                        NavigationService.GoBack();
                    });
            }
            else
            {
                ProgressBar.IsVisible = false;
                UnlockUI();
                this.DisplayMessage("Task was unable to be edited. Check your wifi/cellular connection.", "Error");
            }
        }
Пример #6
0
        private void OnCompleteSendMessage(MessagingResult result)
        {
            Debug.Assert(result != null, "result is null");

            if (result.Status == Status.Success)
            {
                //this.DisplayMessage("Contact request succeeded.", "Info");
                this.AddContact();
            }
            else
            {
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        ((ApplicationBarIconButton)ApplicationBar.Buttons[0]).IsEnabled = true;
                        ProgressBar.IsVisible = false;
                        NameBox.IsEnabled = true;
                        UsernameBox.IsEnabled = true;
                    });
                this.DisplayMessage("Contact request failed. Check your wifi/cellular connection.", "Error");
            }
        }
Пример #7
0
        private void OnCompleteSendAccept(MessagingResult result)
        {
            Debug.Assert(result != null, "result is null");

            if (result.Status == Status.Success)
            {
                //this.DisplayMessage("Contact request succeeded.", "Info");
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        ((ObservableCollection<Person>)settings["ContactsList"]).Add(new Person { name = NameBox.Text, username = UsernameBox.Text, hawaiiID = acceptIDString, reqSent = true, accepted = true });
                        ((ObservableCollection<Person>)settings["ContactsList"]).RemoveAt(0);
                        settings["ContactsList"] = ContactSort(((ObservableCollection<Person>)settings["ContactsList"]));
                        ((ObservableCollection<Person>)settings["ContactsList"]).Insert(0,
                            new Person { name = "Me", username = (string)settings["MyUsername"], hawaiiID = this.RelayContext.Endpoint.RegistrationId, accepted = true, reqSent = true });

                        Person reqPerson = ((ObservableCollection<Person>)settings["RequestList"]).Where(X => X.hawaiiID == acceptIDString).FirstOrDefault();
                        if (reqPerson != null)
                        {
                            System.Diagnostics.Debug.WriteLine("Removing " + reqPerson.username + " from request list.");
                            ((ObservableCollection<Person>)settings["RequestList"]).Remove(reqPerson);
                        }
                        NavigationService.GoBack();
                    });
            }
            else
            {
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        ((ApplicationBarIconButton)ApplicationBar.Buttons[0]).IsEnabled = true;
                        ProgressBar.IsVisible = false;
                        NameBox.IsEnabled = true;
                        UsernameBox.IsEnabled = true;
                    });
                this.DisplayMessage("Accept failed. Check your wifi/cellular connection.", "Error");
            }
        }
Пример #8
0
 private void SendProject(Endpoint from, string recipients)
 {
     if (!String.IsNullOrEmpty(recipients))
     {
         byte[] message = editProj.Serialize();
         RelayService.SendMessageAsync(
             HawaiiClient.HawaiiApplicationId,
             from,
             recipients,
             message,
             this.OnCompleteSendMessage);
     }
     else
     {
         MessagingResult ret = new MessagingResult();
         ret.Status = Status.Success;
         OnCompleteSendMessage(ret);
     }
 }
Пример #9
0
        private void OnCompleteSendMessage(MessagingResult result)
        {
            if (result.Status == Status.Success)
            {
                //this.DisplayMessage("Update succeeded.", "Info");
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        ((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject].name = NameTextBox.Text;
                        ((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject].description = DescTextBox.Text;
                        if ((bool)DueSwitch.IsChecked) //changing due date
                        {
                            var dueDate = (DateTime)DueDatePicker.Value;
                            var dueTime = (DateTime)DueTimePicker.Value;
                            ((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject].dueDate = (new DateTime(dueDate.Year, dueDate.Month, dueDate.Day, dueTime.Hour, dueTime.Minute, dueTime.Second));
                        }
                        else //else get rid of the due date
                            ((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject].dueDate = DateTime.MinValue;

                        settings["ProjectList"] = ProjectSort((ObservableCollection<MyProject>)settings["ProjectList"]);

                        NavigationService.GoBack();
                    });
            }
            else
            {
                this.Dispatcher.BeginInvoke(
                    delegate
                    {
                        ((ApplicationBarIconButton)ApplicationBar.Buttons[0]).IsEnabled = true;
                        ProgressBar.IsVisible = false;
                        NameTextBox.IsEnabled = true;
                        DescTextBox.IsEnabled = true;
                        DueSwitch.IsEnabled = true;
                        DueDatePicker.IsEnabled = true;
                        DueTimePicker.IsEnabled = true;
                    });
                this.DisplayMessage("Project edit failed. Check your wifi/cellular connection.", "Error");
            }
        }