Exemplo n.º 1
0
        private void bunifuFlatButton1_Click(object sender, EventArgs e)
        {
            if (lvMessages.SelectedItems.Count > 0)
            {
                ListViewItem itm = lvMessages.SelectedItems[0];

                RemindMeMessages mess = BLOnlineDatabase.GetRemindMeMessageById(Convert.ToInt32(itm.Tag));
                if (mess == null)
                {
                    RemindMeMessageFormManager.MakeMessagePopup("Could not show this message. It does not exist anymore", 4);
                    lvMessages.Items.Remove(itm);
                    BLReadMessages.DeleteMessage(Convert.ToInt32(itm.Tag));
                    return; //Doesn't exist in the database anymore
                }

                if (mess.NotificationType == "REMINDMEBOX")
                {
                    BLIO.Log("Attempting to show the user a RemindMe message(REMINDMEBOX)...");
                    RemindMeBox.Show("A Message from the creator of RemindMe", mess.Message.Replace("¤", Environment.NewLine), RemindMeBoxReason.OK);
                }
                else if (mess.NotificationType == "REMINDMEMESSAGEFORM")
                {
                    BLIO.Log("Attempting to show the user a RemindMe message(REMINDMEMESSAGEFORM)...");
                    RemindMeMessageFormManager.MakeMessagePopup(mess.Message.Replace("¤", Environment.NewLine), mess.NotificationDuration.Value);
                }
                else
                {
                    BLIO.Log("Attempting to show the user a RemindMe message FAILED. Notificationtype=" + mess.NotificationType + "  Message=" + mess.Message + "  Id=" + mess.Id);
                    RemindMeMessageFormManager.MakeMessagePopup("Could not preview this message. Unknown notification type", 4);
                    lvMessages.Items.Remove(itm);
                    BLReadMessages.DeleteMessage(mess.Id);
                }
            }
        }
Exemplo n.º 2
0
        private void tmrCheckRemindMeMessages_Tick(object sender, EventArgs e)
        {
            //Check for messages sent by me every minute
            foreach (RemindMeMessages message in BLOnlineDatabase.RemindMeMessages)
            {
                //first, check if this user has already read this message.
                if (BLReadMessages.Messages.Where(m => m.ReadMessageId == message.Id).Count() == 0)
                {
                    BLIO.Log("RemindMe detected an unread message!");
                    //User hasn't read it yet. great! Mark the message as read
                    BLReadMessages.MarkMessageRead(message);
                    BLIO.Log("Message marked as read.");

                    if (!string.IsNullOrWhiteSpace(message.MeantForSpecificUser))
                    {
                        BLIO.Log("This message is specifically for me!");
                        //This message is meant for a specific user.
                        if (BLSettings.Settings.UniqueString == message.MeantForSpecificUser)
                        {
                            PopupRemindMeMessage(message);
                        }
                    }
                    else if (!string.IsNullOrWhiteSpace(message.MeantForSpecificVersion))
                    {
                        BLIO.Log("This message is specifically for the currently running RemindMe version (" + IOVariables.RemindMeVersion + ")");
                        //This message is meant for a specific RemindMe version. Only show this message if the user: Hasn't read this message AND: has this RemindMe version
                        if (IOVariables.RemindMeVersion == message.MeantForSpecificVersion)
                        {
                            //Show the message
                            PopupRemindMeMessage(message);
                        }
                    }
                    else
                    {
                        BLIO.Log("This is a global message. creating popup...");
                        //A global message, not meant for a specific RemindMe version nor user
                        PopupRemindMeMessage(message);
                        BLIO.Log("popup created");
                    }
                }
            }
        }