public static SlotItem[] GetItemsForCharacter(CharacterManager.ItemType type, int?characterId = null)
        {
            using (var bl = Storage.GetBuilder(CharacterManager.SQLSafeName))
            {
                bl.SelectFrom(TableName, new string[] { "*" },
                              new WhereFilter(ColumnNames.TypeId, (int)type),
                              new WhereFilter(ColumnNames.CharacterId, characterId)
                              );

                return(Storage.ExecuteArray <SlotItem>(bl));
            }
        }
        public static int GetItem(CharacterManager.ItemType type, int slot, int?characterId = null)
        {
            using (var bl = Storage.GetBuilder(CharacterManager.SQLSafeName))
            {
                bl.SelectFrom(TableName, new string[] { ColumnNames.Id },
                              new WhereFilter(ColumnNames.TypeId, (int)type),
                              new WhereFilter(ColumnNames.Slot, slot),
                              new WhereFilter(ColumnNames.CharacterId, characterId)
                              );

                return((int)Storage.ExecuteScalar <Int32>(bl));
            }
        }
        public static int NewItem(CharacterManager.ItemType type, int netId, int stack, int prefix, int slot, int?userId = null)
        {
            using (var bl = Storage.GetBuilder(CharacterManager.SQLSafeName))
            {
                bl.InsertInto(TableName,
                              new DataParameter(ColumnNames.TypeId, (int)type),
                              new DataParameter(ColumnNames.NetId, netId),
                              new DataParameter(ColumnNames.Stack, stack),
                              new DataParameter(ColumnNames.Prefix, prefix),
                              new DataParameter(ColumnNames.Slot, slot),
                              new DataParameter(ColumnNames.UserId, userId)
                              );

                return((int)Storage.ExecuteInsert(bl)); //Get the new ID
            }
        }
        public static bool UpdateItem(CharacterManager.ItemType type, int netId, int prefix, int stack, bool favorite, int slot, int?characterId = null)
        {
            using (var bl = Storage.GetBuilder(CharacterManager.SQLSafeName))
            {
                bl.Update(TableName, new DataParameter[]
                {
                    new DataParameter(ColumnNames.NetId, netId),
                    new DataParameter(ColumnNames.Prefix, prefix),
                    new DataParameter(ColumnNames.Stack, stack),
                    new DataParameter(ColumnNames.Favorite, favorite)
                },
                          new WhereFilter(ColumnNames.TypeId, (int)type),
                          new WhereFilter(ColumnNames.Slot, slot),
                          new WhereFilter(ColumnNames.CharacterId, characterId)
                          );

                return(Storage.ExecuteNonQuery(bl) > 0);
            }
        }