Пример #1
0
        /// <summary>Assigns a <see cref="User"/> from a DataRow.</summary>
        /// <param name="dr">DataRow containing <see cref="User"/></param>
        /// <returns>Assigned <see cref="User"/></returns>
        private User AssignUserFromDataRow(DataRow dr)
        {
            User newUser = new User
            {
                Name                 = dr["Username"].ToString(),
                Password             = dr["Password"].ToString(),
                Level                = Int32Helper.Parse(dr["Level"].ToString()),
                Experience           = Int32Helper.Parse(dr["Experience"].ToString()),
                SkillPoints          = Int32Helper.Parse(dr["SkillPoints"].ToString()),
                Alive                = BoolHelper.Parse(dr["Alive"]),
                CurrentEndurance     = Int32Helper.Parse(dr["CurrentEndurance"].ToString()),
                CurrentLocation      = EnumHelper.Parse <SleepLocation>(dr["Location"].ToString()),
                MaximumEndurance     = Int32Helper.Parse(dr["MaximumEndurance"].ToString()),
                Hunger               = Int32Helper.Parse(dr["Hunger"].ToString()),
                Thirst               = Int32Helper.Parse(dr["Thirst"].ToString()),
                CurrentWeaponType    = EnumHelper.Parse <WeaponType>(dr["CurrentWeapon"].ToString()),
                LightWeapon          = GameState.AllWeapons.Find(newWeapon => newWeapon.Name == dr["LightWeapon"].ToString() && newWeapon.Type == WeaponType.Light),
                HeavyWeapon          = GameState.AllWeapons.Find(newWeapon => newWeapon.Name == dr["HeavyWeapon"].ToString() && newWeapon.Type == WeaponType.Heavy),
                TwoHandedWeapon      = GameState.AllWeapons.Find(newWeapon => newWeapon.Name == dr["TwoHandedWeapon"].ToString() && newWeapon.Type == WeaponType.TwoHanded),
                Armor                = GameState.AllArmor.Find(newArmor => newArmor.Name == dr["Armor"].ToString()),
                Potion               = GameState.AllPotions.Find(newPotion => newPotion.Name == dr["Potion"].ToString()),
                Lockpicks            = Int32Helper.Parse(dr["Lockpicks"].ToString()),
                GoldOnHand           = Int32Helper.Parse(dr["GoldOnHand"].ToString()),
                GoldInBank           = Int32Helper.Parse(dr["GoldInBank"].ToString()),
                GoldOnLoan           = Int32Helper.Parse(dr["GoldOnLoan"].ToString()),
                Shovel               = BoolHelper.Parse(dr["Shovel"]),
                Lantern              = BoolHelper.Parse(dr["Lantern"]),
                Amulet               = BoolHelper.Parse(dr["Amulet"]),
                LightWeaponSkill     = Int32Helper.Parse(dr["LightWeaponSkill"].ToString()),
                HeavyWeaponSkill     = Int32Helper.Parse(dr["HeavyWeaponSkill"].ToString()),
                TwoHandedWeaponSkill = Int32Helper.Parse(dr["TwoHandedWeaponSkill"].ToString()),
                Blocking             = Int32Helper.Parse(dr["Blocking"].ToString()),
                Slipping             = Int32Helper.Parse(dr["Slipping"].ToString()),
                Stealth              = Int32Helper.Parse(dr["Stealth"].ToString()),
                Henchmen             = new Henchmen(Int32Helper.Parse(dr["HenchmenLevel1"].ToString()),
                                                    Int32Helper.Parse(dr["HenchmenLevel2"].ToString()),
                                                    Int32Helper.Parse(dr["HenchmenLevel3"].ToString()),
                                                    Int32Helper.Parse(dr["HenchmenLevel4"].ToString()),
                                                    Int32Helper.Parse(dr["HenchmenLevel5"].ToString()))
            };

            return(newUser);
        }
        /// <summary>Loads all <see cref="CreditScore"/>s from the database.</summary>
        /// <returns>List of all <see cref="CreditScore"/>s</returns>
        public async Task <List <CreditScore> > LoadCreditScores()
        {
            List <CreditScore> scores = new List <CreditScore>();
            DataSet            ds     = await SQLiteHelper.FillDataSet(_con, "SELECT * FROM CreditScores");

            if (ds.Tables[0].Rows.Count > 0)
            {
                scores.AddRange(from DataRow dr in ds.Tables[0].Rows select new CreditScore(DateTimeHelper.Parse(dr["Date"]), dr["Source"].ToString(), Int32Helper.Parse(dr["Score"]), EnumHelper.Parse <Providers>(dr["Provider"].ToString()), BoolHelper.Parse(dr["FICO"])));
            }

            return(scores.OrderByDescending(score => score.Date).ToList());
        }
Пример #3
0
 /// <summary>Assigns a <see cref="User"/> based on a DataRow.</summary>
 /// <param name="dr">DataRow to assign <see cref="User"/> from</param>
 /// <returns><see cref="User"/></returns>
 private async Task <User> LoadUserFromDataRow(DataRow dr) => new User(Int32Helper.Parse(dr["ID"]), dr["Username"].ToString(), dr["FirstName"].ToString(), dr["LastName"].ToString(), dr["Password"].ToString(), BoolHelper.Parse(dr["LoggedIn"]), dr["Roles"].ToString().Split(',').Select(str => str.Trim()).Where(str => !string.IsNullOrEmpty(str)).ToList(), await LoadShifts(Int32Helper.Parse(dr["ID"])).ConfigureAwait(false));
Пример #4
0
        /// <summary>Loads all the selected User's Shifts from the database.</summary>
        /// <param name="userID"></param>
        /// <returns>Returns the list of Shifts</returns>
        public async Task <List <Shift> > LoadShifts(int userID)
        {
            List <Shift>  userShifts = new List <Shift>();
            SQLiteCommand cmd        = new SQLiteCommand {
                CommandText = "SELECT * FROM Times WHERE [ID] = @id"
            };

            cmd.Parameters.AddWithValue("@id", userID);

            DataSet ds = await SQLiteHelper.FillDataSet(_con, cmd).ConfigureAwait(false);

            if (ds.Tables[0].Rows.Count > 0)
            {
                userShifts.AddRange(from DataRow dr in ds.Tables[0].Rows select new Shift(userID, dr["Role"].ToString(), DateTimeHelper.Parse(dr["TimeIn"]), TimeSpanHelper.Parse(dr["TimeInOffset"].ToString()), DateTimeHelper.Parse(dr["TimeOut"]), TimeSpanHelper.Parse(dr["TimeOutOffset"].ToString()), BoolHelper.Parse(dr["Edited"])));
            }

            return(userShifts.OrderByDescending(shift => shift.StartTimeUtc).ToList());
        }
Пример #5
0
        /// <summary>Loads all <see cref="Weapon"/>s from the database.</summary>
        /// <returns>All <see cref="Weapon"/>s</returns>
        public async Task <List <Weapon> > LoadWeapons()
        {
            DataSet ds = await SQLiteHelper.FillDataSet(_con, "SELECT * FROM Weapons");

            List <Weapon> allWeapons = new List <Weapon>();

            if (ds.Tables[0].Rows.Count > 0)
            {
                allWeapons.AddRange(from DataRow dr in ds.Tables[0].Rows select new Weapon(dr["WeaponName"].ToString(), EnumHelper.Parse <WeaponType>(dr["WeaponType"].ToString()), Int32Helper.Parse(dr["WeaponDamage"]), Int32Helper.Parse(dr["WeaponValue"]), BoolHelper.Parse(dr["Hidden"])));
            }

            return(allWeapons.OrderBy(weapon => weapon.Value).ToList());
        }
Пример #6
0
        /// <summary>Loads all <see cref="Message"/>s for specified <see cref="User"/>.</summary>
        /// <param name="loadUser"><see cref="User"/> whose <see cref="Message"/>s are to be loaded</param>
        /// <returns>List of all <see cref="Message"/>s for the specified <see cref="User"/></returns>
        public async Task <List <Message> > LoadMessages(User loadUser)
        {
            List <Message> messages = new List <Message>();

            SQLiteCommand cmd = new SQLiteCommand {
                CommandText = "SELECT * FROM Messages WHERE [UserTo] = @name"
            };

            cmd.Parameters.AddWithValue("@name", loadUser.Name);
            DataSet ds = await SQLiteHelper.FillDataSet(_con, cmd);

            if (ds.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    messages.Add(new Message(Int32Helper.Parse(dr["ID"].ToString()), dr["UserFrom"].ToString(), loadUser.Name, dr["Message"].ToString(), DateTimeHelper.Parse(dr["DateSent"].ToString()), BoolHelper.Parse(dr["GuildMessage"])));
                }
            }
            return(messages.OrderByDescending(message => message.DateSent).ToList());
        }
Пример #7
0
        /// <summary>Loads all <see cref="Armor"/> from the database.</summary>
        /// <returns>All <see cref="Armor"/></returns>
        public async Task <List <Armor> > LoadArmor()
        {
            DataSet ds = await SQLiteHelper.FillDataSet(_con, "SELECT * FROM Armor");

            List <Armor> allArmor = new List <Armor>();

            if (ds.Tables[0].Rows.Count > 0)
            {
                allArmor.AddRange(from DataRow dr in ds.Tables[0].Rows select new Armor(dr["ArmorName"].ToString(), Int32Helper.Parse(dr["ArmorDefense"]), Int32Helper.Parse(dr["ArmorValue"]), BoolHelper.Parse(dr["Hidden"])));
            }

            return(allArmor.OrderBy(armor => armor.Value).ToList());
        }