コード例 #1
0
        public CommandResult ToggleAdminCommand(ulong user, ulong guild, bool admin)
        {
            NonQueryCommand updateAdmin = new NonQueryCommand("users", $"UPDATE `users` SET admin = {admin} WHERE id_user = {user} AND id_guild = {guild};");

            var users = _vTubeMonDbConnection.ExecuteDbNonQueryCommand(updateAdmin);

            return(new CommandResult(users > 0 ? CommandResultType.Success : CommandResultType.Failure));
        }
コード例 #2
0
        // Customer Test Methods
        private static void TestCustomers(string db_file, CommandContext commandContext)
        {
            Customers customers;
            int       record_count;

            try
            {
                // Create command objects
                QueryCommand      querycmd_Customer      = new QueryCommand(db_file, "Customer", typeof(Customer));
                QueryCountCommand querycountcmd_Customer = new QueryCountCommand(db_file, "Customer");
                NonQueryCommand   nonquerycmd_Customer   = new NonQueryCommand(db_file, "Customer");

                // Query by matching first name and display records
                querycmd_Customer.SetCommand("SELECT CustomerId,FirstName,LastName,Email FROM Customer WHERE FirstName LIKE 'a%'");
                customers = new Customers(commandContext.Execute(querycmd_Customer));
                Console.WriteLine(customers.ToString());

                // Query record count
                querycountcmd_Customer.SetCommand("SELECT COUNT(*) FROM Customer");
                record_count = commandContext.ExecuteCount(querycountcmd_Customer);
                Console.WriteLine("Record Count: {0}", record_count);

                // Insert test records
                nonquerycmd_Customer.SetCommand("INSERT INTO Customer(FirstName,LastName,Email) VALUES('Anna', 'Draftna','*****@*****.**')");
                commandContext.Execute(nonquerycmd_Customer);
                nonquerycmd_Customer.SetCommand("INSERT INTO Customer(FirstName,LastName,Email) VALUES('Albert', 'Smith','*****@*****.**')");
                commandContext.Execute(nonquerycmd_Customer);
                nonquerycmd_Customer.SetCommand("INSERT INTO Customer(FirstName,LastName,Email) VALUES('Arnold', 'Palmer','*****@*****.**')");
                commandContext.Execute(nonquerycmd_Customer);

                // Query by first name and display records
                customers = new Customers(commandContext.Execute(querycmd_Customer));
                Console.WriteLine(customers.ToString());

                // Query record count
                record_count = commandContext.ExecuteCount(querycountcmd_Customer);
                Console.WriteLine("Record Count: {0}", record_count);

                // Delete records
                nonquerycmd_Customer.SetCommand("DELETE FROM Customer WHERE FirstName = 'Anna' OR FirstName = 'Albert'");
                commandContext.Execute(nonquerycmd_Customer);

                // Query by first name and display records
                customers = new Customers(commandContext.Execute(querycmd_Customer));
                Console.WriteLine(customers.ToString());

                // Query record count
                record_count = commandContext.ExecuteCount(querycountcmd_Customer);
                Console.WriteLine("Record Count: {0}", record_count);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
コード例 #3
0
        public CommandResult DailyCheckinCommand(ulong user, ulong guild, DateTime checkInDateTime, int dailyCash)
        {
            if (GetUser(user, guild) == null)
            {
                return(new CommandResult(CommandResultType.NotExist));
            }

            var queryDailiesCommand = new QueryCommand <Daily>("dailies", "*",
                                                               new WhereStatement()
            {
                Equality  = Equality.EqualTo,
                Value     = $"{user}",
                Target    = "id_user",
                UseQuotes = false
            },
                                                               new WhereStatement()
            {
                Equality  = Equality.EqualTo,
                Value     = $"{guild}",
                Target    = "id_guild",
                UseQuotes = false
            });

            List <Daily> dailies = _vTubeMonDbConnection.ExecuteDbQueryCommand(queryDailiesCommand).ToList();

            if (dailies.Any())
            {
                var lastCheckIn = dailies.Last();
                if (lastCheckIn.CheckInDate.Value.DayOfYear == DateTime.Now.DayOfYear)
                {
                    //already checked in
                    return(new CommandResult(CommandResultType.Duplicate));
                }
            }

            _vTubeMonDbConnection.ExecuteDbNonQueryCommand(new InsertCommand <IDaily>("dailies", new Daily(user, guild, checkInDateTime)));

            int             newCash    = TotalCash(user, guild) + dailyCash;
            NonQueryCommand updateCash = new NonQueryCommand("users", $"UPDATE `users` SET vtuber_cash = {newCash} WHERE id_user = {user} AND id_guild = {guild};");

            _vTubeMonDbConnection.ExecuteDbNonQueryCommand(updateCash);

            return(new CommandResult(CommandResultType.Success));
        }