private void ReceiveMessagesFromDbHandler(Message message)
 {
     if (Mobile.InternalStorage.Messages.Count > 0)
     {
         ShowMessages(Mobile.InternalStorage.Messages);
         if (!UserComboBox.Items.Contains(Mobile.InternalStorage.UniqueUsers.Last()))
         {
             UserComboBox.Items.Clear();
             UserComboBox.Items.Add("");
             UserComboBox.Items.AddRange(Mobile.InternalStorage.UniqueUsers.ToArray());
         }
     }
 }
        private static void Main()
        {
            Mobile  mobile = new SimCorpMobile();
            IOutput output = new WinFormOutput();

            var message1 = new Message("KSBL", "Hello! This is a KSBL's (test analyst's) dummy incoming message.",
                                       DateTime.Now);
            var message2 = new Message("VZL", "Hello! This is a VZL's (tech-lead's) dummy incoming message.",
                                       DateTime.Now);
            var message3 = new Message("OKTK", "Hello! This is a OKTK's (scrum-master's) dummy incoming message.",
                                       DateTime.Now);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new SmsViewer(mobile, output, message1, message2, message3));
        }
        public SmsViewer(Mobile mobile, IOutput output, Message message1, Message message2, Message message3)
        {
            InitializeComponent();
            InitializeComboBoxes();

            Mobile        = mobile;
            Mobile.Output = output;

            MaximizeBox   = false;
            Timers        = new List <Timer>();
            Formatter     = Mobile.InternalStorage.Formatter;
            PickedUser    = null;
            SearchText    = "";
            StartWithDate = new DateTime();
            EndWithDate   = new DateTime();

            MessageGenerator(message1, 0, 3000);
            MessageGenerator(message2, 0, 3500);
            MessageGenerator(message3, 0, 4000);

            Mobile.InternalStorage.SmsAdded += ReceiveMessagesFromDb;
            FormatChanged += ShowMessages;
            FilterChanged += ShowMessages;
        }
        public void MessageGenerator(Message message, int dueTime, int period)
        {
            TimerCallback tm = Mobile.InternalStorage.AddMessage;

            Timers.Add(new Timer(tm, message, dueTime, period));
        }