Esempio n. 1
0
 private void SendCompDel(Endpoint from, string recipients, int compdel)
 {
     byte[] message = {};
     if (compdel == 0)
     {
         message = Encoding.Unicode.GetBytes("TaskComplete" + '\0' + currentProject.projKey + '\0'
                                             + currentTask.taskKey);
     }
     else if (compdel == 1)
     {
         message = Encoding.Unicode.GetBytes("TaskDelete" + '\0' + currentProject.projKey + '\0'
                                             + currentTask.taskKey);
     }
     else if (compdel == 2)
     {
         message = Encoding.Unicode.GetBytes("TaskUndo" + '\0' + currentProject.projKey + '\0'
                                             + currentTask.taskKey);
     }
     RelayService.SendMessageAsync(
         HawaiiClient.HawaiiApplicationId,
         from,
         recipients,
         message,
         this.OnCompleteSendMessage);
 }
Esempio n. 2
0
        private void AcceptButton_Click(object sender, EventArgs e)
        {
            // Check whether the active endpoint object is null. If null, create a
            // new end point. If not null, delete the existing one and recreate another
            // new end point.
            if (this.RelayContext.Endpoint != null)
            {
                // Delete the active endpoint.
                RelayService.DeleteEndPointAsync(HawaiiClient.HawaiiApplicationId, this.RelayContext.Endpoint, null);

                // Clear the created groups which were restored from storage.
                this.RelayContext.Groups.Clear();
            }

            string name = this.UsernameTextBox.Text;

            if (!string.IsNullOrEmpty(name) && name.ToCharArray().Length <= 50)
            {
                // Create a new endpoint.
                UsernameTextBox.IsEnabled = false;
                RelayService.CreateEndPointAsync(HawaiiClient.HawaiiApplicationId, "TaskMe", this.OnCompleteCreateEndPoint);
                ProgressBar.IsVisible = true;
            }
            else if (name.ToCharArray().Length > 50)
            {
                this.DisplayMessage("Username too long. Must be less than 50 characters.", "Error");
            }
            else
            {
                this.DisplayMessage("No name found. Enter a name and try again.", "Error");
            }
        }
 public RelayController(
     RelayService relayService,
     ILogger <RelayController> logger)
 {
     this.relayService = relayService;
     this.logger       = logger;
 }
Esempio n. 4
0
        private void DeleteButton_Click(object sender, EventArgs e) //deletes the project
        {
            ((ApplicationBarIconButton)ApplicationBar.Buttons[0]).IsEnabled = false;
            ((ApplicationBarIconButton)ApplicationBar.Buttons[1]).IsEnabled = false;
            ((ApplicationBarIconButton)ApplicationBar.Buttons[2]).IsEnabled = false;
            ProgressBar.IsVisible = true;

            if (!string.IsNullOrEmpty(((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).recipients) &&
                this.RelayContext.Endpoint.RegistrationId != ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).creator.hawaiiID)
            {
                byte[] message = Encoding.Unicode.GetBytes("ProjectDelete" + '\0' + ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).projKey);
                RelayService.SendMessageAsync(HawaiiClient.HawaiiApplicationId,
                                              this.RelayContext.Endpoint,
                                              ((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject].creator.hawaiiID + ","
                                              + ((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject].recipients,
                                              message,
                                              this.OnCompleteSendDelete);
            }
            else if (!string.IsNullOrEmpty(((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).recipients) &&
                     this.RelayContext.Endpoint.RegistrationId == ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).creator.hawaiiID)
            {
                byte[] message = Encoding.Unicode.GetBytes("ProjectDelete" + '\0' + ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).projKey);
                RelayService.SendMessageAsync(HawaiiClient.HawaiiApplicationId,
                                              this.RelayContext.Endpoint,
                                              ((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject].recipients,
                                              message,
                                              this.OnCompleteSendDelete);
            }
            else if (string.IsNullOrEmpty(((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).recipients))
            {
                ((ObservableCollection <MyProject>)settings["ProjectList"]).RemoveAt(selectedProject);
                NavigationService.GoBack();
            }
        }
Esempio n. 5
0
 private void SendAccept(Endpoint from, string recipients)
 {
     byte[] message = Encoding.Unicode.GetBytes("Accept");
     RelayService.SendMessageAsync(
         HawaiiClient.HawaiiApplicationId,
         from,
         recipients,
         message,
         this.OnCompleteSendAccept);
 }
Esempio n. 6
0
        private void SendRequest(Endpoint from, string recipients)
        {
            byte[] message = Encoding.Unicode.GetBytes("FReq" + '\0' + (string)settings["MyUsername"]);

            RelayService.SendMessageAsync(
                HawaiiClient.HawaiiApplicationId,
                from,
                recipients,
                message,
                this.OnCompleteSendMessage);
        }
Esempio n. 7
0
        public MainWindow()
        {
            InitializeComponent();
            this.Closing += MainWindow_Closing;
            this.Closed  += MainWindow_Closed;

            //ws = new TossServer();
            this.WindowState = WindowState.Minimized;

            relayserver = new RelayService(string.Empty, string.Empty, 21007, Com.Huen.Libs.RunningType.ROONETS);
        }
Esempio n. 8
0
        public DiscordEventHandler(DiscordShardedClient client, DiscordRestClient rest,
                                   RelayService relay, AccountLinkService linkService, IServiceProvider services)
        {
            this.Client = client;
            this.Rest   = rest;

            this._relay       = relay;
            this._logger      = Client.Logger;
            this._linkService = linkService;
            this._services    = services;
        }
Esempio n. 9
0
 private void DeleteButton_Click(object sender, EventArgs e)
 {
     ((ApplicationBarIconButton)ApplicationBar.Buttons[0]).IsEnabled = true;
     ((ApplicationBarIconButton)ApplicationBar.Buttons[1]).IsEnabled = true;
     ProgressBar.IsVisible = false;
     byte[] message = Encoding.Unicode.GetBytes("ContactDelete" + '\0' + this.RelayContext.Endpoint.RegistrationId);
     RelayService.SendMessageAsync(
         HawaiiClient.HawaiiApplicationId,
         this.RelayContext.Endpoint,
         ((Person)((ObservableCollection <Person>)settings["ContactsList"])[selectedContact]).hawaiiID,
         message, this.OnCompleteSendMessage);
 }
Esempio n. 10
0
        public QaIrc(IrcConfiguration config, IrcRegistrationInfo userInfo, ILogger <QaIrc> logger,
                     QCommandsHandler commandHandler, RelayService relay, IServiceProvider services)
        {
            _hostname       = config.Connection;
            _userInfo       = userInfo;
            _logger         = logger;
            _commandHandler = commandHandler;
            _relay          = relay;
            _relay.DiscordMessageReceived += BounceToIRC;
            _services = services;
            _channels = config.Channels;

            InitializeClient();
        }
Esempio n. 11
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");
     }
 }
Esempio n. 12
0
        private void error()
        {
            this.Dispatcher.BeginInvoke(
                delegate
            {
                if (this.RelayContext.Endpoint != null)
                {
                    // Delete the active endpoint.
                    RelayService.DeleteEndPointAsync(HawaiiClient.HawaiiApplicationId, this.RelayContext.Endpoint, null);
                    this.RelayContext.Endpoint = null;

                    // Clear the created groups which were restored from storage.
                    this.RelayContext.Groups.Clear();
                }
                ProgressBar.IsVisible     = false;
                UsernameTextBox.IsEnabled = true;
            });
        }
Esempio n. 13
0
        private void EditProjectTask() //edit a project-associated task
        {
            editTask = new MyTask
            {
                name        = NameTextBox.Text,
                description = DescTextBox.Text,
                assignedTo  = (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).assignedTo,
                isComplete  = (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).isComplete,
                project     = (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).project,
                projKey     = (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).projKey,
                status      = (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).status,
                taskKey     = (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks[selectedKey]).taskKey
            };
            if ((bool)DueSwitch.IsChecked) //change duedate
            {
                var dueDate = (DateTime)DueDatePicker.Value;
                var dueTime = (DateTime)DueTimePicker.Value;
                editTask.dueDate = new DateTime(dueDate.Year, dueDate.Month, dueDate.Day, dueDate.Hour, dueDate.Minute, dueDate.Second);
            }
            else
            {
                editTask.dueDate = DateTime.MinValue;
            }

            if ((bool)RemindSwitch.IsChecked) //change remind date
            {
                var remindDate = (DateTime)ReminderDatePicker.Value;
                var remindTime = (DateTime)ReminderTimePicker.Value;
                editTask.remindDate = new DateTime(remindDate.Year, remindDate.Month, remindDate.Day, remindTime.Hour, remindTime.Minute, remindTime.Second);
            }
            else
            {
                editTask.remindDate = DateTime.MinValue;
            }

            byte[] message = editTask.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.OnCompleteSendEditTask);
        }
Esempio n. 14
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);
     }
 }
Esempio n. 15
0
 protected override void OnStart(string[] args)
 {
     server = new RelayService();
 }
Esempio n. 16
0
 private void CompleteButton_Click(object sender, EventArgs e) //marks the project as complete.
 {
     ((ApplicationBarIconButton)ApplicationBar.Buttons[0]).IsEnabled = false;
     ((ApplicationBarIconButton)ApplicationBar.Buttons[1]).IsEnabled = false;
     ((ApplicationBarIconButton)ApplicationBar.Buttons[2]).IsEnabled = false;
     ProgressBar.IsVisible = true;
     if (this.RelayContext.Endpoint == null || this.RelayContext.Endpoint.RegistrationId == selectedProj.creator.hawaiiID)
     {
         if (string.IsNullOrEmpty(completeString))
         {
             System.Diagnostics.Debug.WriteLine("Completing");
             if (!string.IsNullOrEmpty(((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).recipients))
             {
                 byte[] message = Encoding.Unicode.GetBytes("ProjectComplete" + '\0' + ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).projKey);
                 RelayService.SendMessageAsync(HawaiiClient.HawaiiApplicationId, this.RelayContext.Endpoint, ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).recipients
                                               , message, this.OnCompleteSendComplete); //OK to send to just recipients because we are owner
             }
             else
             {
                 ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).isComplete = true;
                 ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).status     = "Complete";
                 foreach (MyTask searchTask in ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks)
                 {
                     try
                     {
                         ScheduledActionService.Remove(searchTask.taskKey);
                     }
                     catch (InvalidOperationException) { }
                 }
                 ((ObservableCollection <MyProject>)settings["DoneProjectList"]).Add(((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]));
                 settings["DoneProjectList"] = ProjectSort(((ObservableCollection <MyProject>)settings["DoneProjectList"]));
                 ((ObservableCollection <MyProject>)settings["ProjectList"]).Remove(((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]));
                 NavigationService.GoBack();
             }
         }
         else
         {
             System.Diagnostics.Debug.WriteLine("Reopening");
             if (!string.IsNullOrEmpty(((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]).recipients))
             {
                 byte[] message = Encoding.Unicode.GetBytes("ProjectUndo" + '\0' + ((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]).projKey);
                 RelayService.SendMessageAsync(HawaiiClient.HawaiiApplicationId, this.RelayContext.Endpoint, ((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]).recipients
                                               , message, this.OnCompleteSendIncomplete); //OK to send to just recipients because we are owner
             }
             else
             {
                 ((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]).isComplete = false;
                 ((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]).status     = "Incomplete";
                 foreach (MyTask searchTask in ((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]).tasks)
                 {
                     if (searchTask.remindDate != DateTime.MinValue && searchTask.remindDate > DateTime.Now)
                     {
                         try
                         {
                             ScheduledActionService.Remove(searchTask.taskKey);
                         }
                         catch (InvalidOperationException) { }
                         Reminder reminder = new Reminder(searchTask.taskKey);
                         Uri      navUri   = new Uri("/TaskView.xaml?TaskKey=" + searchTask.taskKey + "&ProjectKey=" +
                                                     ((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]).projKey, UriKind.RelativeOrAbsolute);
                         reminder.Title          = searchTask.name;
                         reminder.Content        = searchTask.description;
                         reminder.BeginTime      = searchTask.remindDate;
                         reminder.ExpirationTime = searchTask.remindDate;
                         reminder.NavigationUri  = navUri;
                         ScheduledActionService.Add(reminder);
                     }
                     else if (searchTask.remindDate < DateTime.Now)
                     {
                         searchTask.remindDate = DateTime.MinValue;
                     }
                 }
                 ((ObservableCollection <MyProject>)settings["ProjectList"]).Add(((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]));
                 settings["ProjectList"] = ProjectSort(((ObservableCollection <MyProject>)settings["ProjectList"]));
                 ((ObservableCollection <MyProject>)settings["DoneProjectList"]).Remove(((MyProject)((ObservableCollection <MyProject>)settings["DoneProjectList"])[selectedProject]));
                 NavigationService.GoBack();
             }
         }
     }
     else
     {
         MessageBox.Show("You do not have permission to do that.", "Error", MessageBoxButton.OK);
     }
 }
Esempio n. 17
0
 public RemoveRelayCommand(RelayService relay, QAIDatabaseModel database)
 {
     this._relay    = relay;
     this._database = database;
 }
Esempio n. 18
0
        private void ProjectTask() //adds a new project-associated task
        {
            MyTask newTask = new MyTask();

            newTask.name        = NameTextBox.Text;
            newTask.description = DescTextBox.Text;
            String taskKey = System.Guid.NewGuid().ToString();

            newTask.taskKey = taskKey;

            if ((bool)DueSwitch.IsChecked) //sets due date
            {
                var dueDate = (DateTime)DueDatePicker.Value;
                var dueTime = (DateTime)DueTimePicker.Value;
                newTask.dueDate = new DateTime(dueDate.Year, dueDate.Month, dueDate.Day, dueTime.Hour, dueTime.Minute, dueTime.Second);
            }
            else
            {
                newTask.dueDate = DateTime.MinValue;
            }

            if ((bool)RemindSwitch.IsChecked) //sets remind date
            {
                var remindDate = (DateTime)ReminderDatePicker.Value;
                var remindTime = (DateTime)ReminderTimePicker.Value;
                newTask.remindDate = new DateTime(remindDate.Year, remindDate.Month, remindDate.Day, remindTime.Hour, remindTime.Minute, remindTime.Second);
            }
            else
            {
                newTask.remindDate = DateTime.MinValue;
            }

            newTask.isComplete = false;
            newTask.status     = "Incomplete";
            if ((bool)AssignToSwitch.IsChecked)
            {
                newTask.assignedTo = (Person)AssignPicker.SelectedItem;
                if (((Person)AssignPicker.SelectedItem).hawaiiID != this.RelayContext.Endpoint.RegistrationId)
                {
                    (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject])).addRecipient(((Person)AssignPicker.SelectedItem).hawaiiID);
                }
            }
            else
            {
                newTask.assignedTo = ((ObservableCollection <Person>)settings["ContactsList"])[0];
            }

            newTask.projKey = ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).projKey;
            newTask.project = ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).name;


            if ((bool)RemindSwitch.IsChecked && newTask.assignedTo.hawaiiID == this.RelayContext.Endpoint.RegistrationId) //adds reminder in system
            {
                Reminder reminder = new Reminder(taskKey);
                Uri      navUri   = new Uri("/TaskView.xaml?TaskKey=" + ((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject].tasks.IndexOf(newTask) + "&ProjectKey=" + selectedProject, UriKind.RelativeOrAbsolute);
                reminder.Title          = newTask.name;
                reminder.Content        = newTask.description;
                reminder.BeginTime      = newTask.remindDate;
                reminder.ExpirationTime = newTask.remindDate;
                reminder.NavigationUri  = navUri;
                ScheduledActionService.Add(reminder);
            }

            MyProject testProj = ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]); //possibly implement this for all

            if (string.IsNullOrEmpty(testProj.recipients))
            {
                (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks).Add(newTask);
                ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks = TaskSort(
                    ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).tasks);
                NavigationService.GoBack();
            }
            else
            {
                byte[] message = ((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject]).Serialize();
                //System.Diagnostics.Debug.WriteLine(((Person)AssignPicker.SelectedItem).hawaiiID + " " + ((MyProject)((ObservableCollection<MyProject>)settings["ProjectList"])[selectedProject]).recipients);

                sendTask = newTask;

                RelayService.SendMessageAsync(
                    HawaiiClient.HawaiiApplicationId,
                    this.RelayContext.Endpoint,
                    (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject])).creator.hawaiiID + ","
                    + (((MyProject)((ObservableCollection <MyProject>)settings["ProjectList"])[selectedProject])).recipients,
                    message, this.OnCompleteSendProject);
            }
        }
Esempio n. 19
0
 protected RelayAPI(Client client, RelayService service)
 {
     mLogger  = SignalWireLogging.CreateLogger <Client>();
     mClient  = client;
     mService = service;
 }