UpdateViewer() public static method

Update viewer in the DBfile with specified Viewer. Does not check if viewer exists, make sure it does prior calling.
public static UpdateViewer ( Viewer viewer ) : void
viewer Viewer Viewer to be updated
return void
コード例 #1
0
        private void Discord_MessageReceived(object sender, MessageEventArgs e)
        {
            string      firstWord    = Regex.Match(e.Message.Text, @"^\S+\b").Value.ToLower();
            UserCommand foundCommand = MainWindow.colBotCommands.FirstOrDefault(x =>
                                                                                x.Command == firstWord);

            if (foundCommand != null)
            {
                //foundCommand.ExecuteCommand(new IrcMessage(e.User.Name + "@Discord", e.Message.Text));
                foundCommand.ExecuteCommandDiscord(e.Message);
            }
            else
            {
                //BotCommands.RunBotCommand(firstWord, new IrcMessage(e.User.Name + "@Discord", e.Message.Text));
                BotCommands.RunBotCommandDiscord(firstWord, e.Message);
            }
            if (e.Channel.IsPrivate)
            {
                if (e.Message.Text.Split(' ')[0] == "confirm" && e.Message.Text.Split(' ').Length == 2)
                {
                    Discord.User   confirm = e.User;
                    Models.Channel target  = client.GetChannel(e.Message.Text.Split(' ')[1]);
                    string         id      = target.Game;
                    if (id == confirm.Id.ToString())
                    {
                        Viewer vwr = colDatabase.FirstOrDefault(x => x.UserName.ToLower() == target.Name.ToLower());
                        vwr.DiscordID = confirm.Id.ToString();
                        DatabaseUtils.UpdateViewer(vwr);
                    }
                }
            }
        }
コード例 #2
0
        // For running in seperate thread with auto sleep balancing
        internal void Run()
        {
            // Timestamp of start of the thread
            activated = DateTime.UtcNow;

            while (true)
            {
                // Sleep for 60sec auto compensated with calculating and starting tasks.
                Thread.Sleep(Convert.ToInt32(60000 - Math.Floor(DateTime.UtcNow.Subtract(activated).TotalMilliseconds % 60000)));

                // Get total time difference in seconds
                secondsPassed = Math.Floor(DateTime.UtcNow.Subtract(activated).TotalSeconds);

                // Activate task point distribution
                if (secondsPassed % intervalPoints == 0)
                {
                    new Task(() =>
                    {
                        Trace.WriteLine(DateTime.UtcNow.ToString("o") + " -> Executing Point interval set to: " + intervalPoints);
                        foreach (Viewer v in MainWindow.colViewers)
                        {
                            v.Points += 10;
                            DatabaseUtils.UpdateViewer(v);
                        }
                    }).Start();
                }

                // Activate task save
                if (secondsPassed % intervalSave == 0)
                {
                    new Task(() =>
                    {
                        Trace.WriteLine(DateTime.UtcNow.ToString("o") + " -> Executing Save interval set to: " + intervalSave);
                        DatabaseUtils.UpdateAllViewers();
                    }).Start();
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Add the viewer as Viewer to the viewers collection.
        /// Creates a new Viewer and adds it to the database if needed.
        /// </summary>
        /// <param name="viewerName">Viewers Twitch username to add</param>
        public static void AddToViewersCol(string viewerName)
        {
            // First check if viewer is not already in the viewers list
            var isInViewList = MainWindow.colViewers.FirstOrDefault(x => x.UserName == viewerName);

            if (isInViewList == null)
            {
                // Check if viewer exists in database to refer to
                var isInDatabase = MainWindow.colDatabase.FirstOrDefault(x => x.UserName == viewerName);
                if (isInDatabase != null)
                { // is in database
                    MainWindow.colViewers.Add(isInDatabase);
                    DatabaseUtils.UpdateViewer(isInDatabase);
                }
                else
                { // is not in database
                    Viewer newViewer = new Viewer(viewerName);
                    MainWindow.colDatabase.Add(newViewer);
                    MainWindow.colViewers.Add(newViewer);
                    DatabaseUtils.AddViewer(newViewer);
                }
            }
        }