public static async Task <IList <Models.GameEvent> > Gets(long member_no, long user_no)
 {
     using (var context = new Lobby.Models.GameContext(member_no))
     {
         return(await context.game_event.Where(x => x.user_no == user_no).AsNoTracking().ToListAsync());
     }
 }
示例#2
0
 public static async Task UpdateUser(long member_no, long user_no, long character_no)
 {
     using (var context = new Lobby.Models.GameContext(member_no))
     {
         await context.Database.ExecuteSqlRawAsync($"upDate user set character_no = {character_no} where user_no = {user_no}");
     }
 }
 public async Task <List <Models.Shop> > Gets(long member_no, long user_no)
 {
     using (var context = new Lobby.Models.GameContext(member_no))
     {
         return(await context.shop.AsNoTracking().Where(x => x.user_no == user_no).ToListAsync());
     }
 }
示例#4
0
 private static async Task <Character> GetCharacter()
 {
     using (var context = new Lobby.Models.GameContext(0))
     {
         return(await context.character_info.FromSqlRaw("SELECT * FROM character_info").FirstOrDefaultAsync());
     }
 }
示例#5
0
 private static async Task <User> GetUser()
 {
     using (var context = new Lobby.Models.GameContext(0))
     {
         return(await context.user.FirstOrDefaultAsync());
     }
 }
示例#6
0
 public static async Task <IList <Models.AdvertisementReward> > Gets(long member_no, long user_no)
 {
     using (var context = new Lobby.Models.GameContext(member_no))
     {
         return(await context.advertisement_reward.Where(x => x.user_no == user_no).AsNoTracking().ToListAsync());
     }
 }
示例#7
0
        public static async Task <Models.User> GetUser(long member_no, long user_no)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                return(await context.user.Where(x => x.user_no == user_no).AsNoTracking().FirstOrDefaultAsync());

                //return await context.user.FromSqlRaw($"seLect * FROM user WHERE user_no = {user_no}").AsNoTracking().FirstOrDefaultAsync();
            }
        }
示例#8
0
        public static async Task <Models.User> AddUser(long member_no, Models.User user)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                context.user.Add(user);
                await context.SaveChangesAsync();

                return(user);
            }
        }
        public static async Task <Models.Shop> Remove(long member_no, Models.Shop shop)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                context.shop.Remove(shop);
                await context.SaveChangesAsync();

                return(shop);
            }
        }
示例#10
0
        public static async Task <Models.Character> Remove(long member_no, Models.Character character)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                context.character_info.Remove(character);
                await context.SaveChangesAsync();

                return(character);
            }
        }
示例#11
0
        public static async Task <Models.AdvertisementReward> Add(long member_no, Models.AdvertisementReward entity)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                context.advertisement_reward.Add(entity);
                await context.SaveChangesAsync();

                return(entity);
            }
        }
        public static async Task <Models.GameEvent> Add(long member_no, Models.GameEvent entity)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                context.game_event.Add(entity);
                await context.SaveChangesAsync();

                return(entity);
            }
        }
示例#13
0
        public static async Task <Models.Mission> Remove(long member_no, Models.Mission mission)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                context.mission.Remove(mission);
                await context.SaveChangesAsync();

                return(mission);
            }
        }
示例#14
0
        public async Task <Models.Character> Insert(long member_no, Models.Character character)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                await context.character_info.AddAsync(character);

                await context.SaveChangesAsync();

                return(character);
            }
        }
示例#15
0
        public async Task <Models.Mission> Insert(long member_no, Models.Mission mission)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                await context.mission.AddAsync(mission);

                await context.SaveChangesAsync();

                return(mission);
            }
        }
示例#16
0
        public async Task <Models.Shop> Insert(long member_no, Models.Shop shop)
        {
            using (var context = new Lobby.Models.GameContext(member_no))
            {
                await context.shop.AddAsync(shop);

                await context.SaveChangesAsync();

                return(shop);
            }
        }
示例#17
0
 public async Task <Models.Shop> Get(long member_no, long shop_no)
 {
     try
     {
         using (var context = new Lobby.Models.GameContext(member_no))
         {
             return(await context.shop.AsNoTracking().Where(x => x.shop_no == shop_no).FirstOrDefaultAsync());
         }
     }
     catch (Exception e)
     {
         Log.Error($"{e.ToString()}");
         return(null);
     }
 }
示例#18
0
 public static async Task <bool> UpdateUserMedalCharge(long member_no, Models.User user)
 {
     try
     {
         using (var context = new Lobby.Models.GameContext(member_no))
         {
             await context.Database.ExecuteSqlRawAsync($"upDate user set medal_charge = {user.medal_charge}, medal_charge_time = '{user.medal_charge_time?.ToString("yyyy-MM-dd HH:mm:ss")}' where user_no = {user.user_no}");
         }
     }
     catch (Exception e)
     {
         Log.Error($"{e.ToString()}");
         return(false);
     }
     return(true);
 }
示例#19
0
 public static async Task <bool> UpdateUserGoods(long member_no, Models.User user)
 {
     try
     {
         using (var context = new Lobby.Models.GameContext(member_no))
         {
             await context.Database.ExecuteSqlRawAsync($"upDate user set gem = {user.gem}, coin = {user.coin}, battle_coin = {user.battle_coin}, medal = {user.medal}, upgrade_stone = {user.upgrade_stone} where user_no = {user.user_no}");
         }
     }
     catch (Exception e)
     {
         Log.Error($"{e.ToString()}");
         return(false);
     }
     return(true);
 }
示例#20
0
 public static async Task <bool> UpdateUserGrowth(long member_no, Models.User user)
 {
     try
     {
         using (var context = new Lobby.Models.GameContext(member_no))
         {
             await context.Database.ExecuteSqlRawAsync($"upDate user set play_point = {user.play_point}, battle_score = {user.battle_score}, user_grade = {user.user_grade} where user_no = {user.user_no}");
         }
     }
     catch (Exception e)
     {
         Log.Error($"{e.ToString()}");
         return(false);
     }
     return(true);
 }
示例#21
0
 public async Task <bool> UpdateCharacterGrowth(long member_no, Models.Character character)
 {
     try
     {
         using (var context = new Lobby.Models.GameContext(member_no))
         {
             await context.Database.ExecuteSqlRawAsync($"upDate character_info set battle_score = {character.battle_score}, rank_level = {character.rank_level} where character_no = {character.character_no}");
         }
     }
     catch (Exception e)
     {
         Log.Error($"{e.ToString()}");
         return(false);
     }
     return(true);
 }
示例#22
0
        public static async Task <Models.Mail> SendMail(long member_no, Models.Mail mail)
        {
            try
            {
                using (var context = new Lobby.Models.GameContext(member_no))
                {
                    context.mailbox.Add(mail);
                    await context.SaveChangesAsync();

                    return(mail);
                }
            }
            catch (Exception e)
            {
                Log.Error(e, "SendMail");
            }
            return(null);
        }
示例#23
0
 public static async Task <List <Models.Mail> > GetMail(long member_no, long user_no, int skip, int take, List <MailState> states)
 {
     try
     {
         using (var context = new Lobby.Models.GameContext(member_no))
         {
             if (states != null)
             {
                 return(await context.mailbox.Where(x => x.user_no == user_no && states.Contains(x.mail_state)).Skip(skip).Take(take).AsNoTracking().ToListAsync());
             }
             else
             {
                 return(await context.mailbox.Where(x => x.user_no == user_no).Skip(skip).Take(take).AsNoTracking().ToListAsync());
             }
         }
     }
     catch (Exception e)
     {
         Log.Error(e, "GetMail");
     }
     return(null);
 }
示例#24
0
        public async Task <bool> Update(long member_no, Models.Shop shop)
        {
            try
            {
                using (var context = new Lobby.Models.GameContext(member_no))
                {
                    var db_shop = await context.shop.Where(x => x.shop_no == shop.shop_no).FirstOrDefaultAsync();

                    if (db_shop != null && db_shop != default(Models.Shop))
                    {
                        db_shop.Copy(shop);
                        await context.SaveChangesAsync();

                        return(true);
                    }
                }
            }
            catch (Exception e)
            {
                Log.Error($"{e.ToString()}");
                return(false);
            }
            return(true);
        }
        public static async Task <bool> Update(long member_no, Models.GameEvent entity)
        {
            try
            {
                using (var context = new Lobby.Models.GameContext(member_no))
                {
                    var row = await context.game_event.Where(x => x.event_no == entity.event_no).FirstOrDefaultAsync();

                    if (row != null && row != default(Models.GameEvent))
                    {
                        row.Copy(entity);
                        await context.SaveChangesAsync();

                        return(true);
                    }
                }
            }
            catch (Exception e)
            {
                Log.Error($"{e.ToString()}");
                return(false);
            }
            return(true);
        }
示例#26
0
        public async Task <bool> Update(long member_no, Models.Character character)
        {
            try
            {
                using (var context = new Lobby.Models.GameContext(member_no))
                {
                    var row = await context.character_info.Where(x => x.character_no == character.character_no).FirstOrDefaultAsync();

                    if (row != null && row != default(Models.Character))
                    {
                        row.Copy(character);
                        await context.SaveChangesAsync();

                        return(true);
                    }
                }
            }
            catch (Exception e)
            {
                Log.Error($"{e.ToString()}");
                return(false);
            }
            return(true);
        }
示例#27
0
        public async Task <bool> Update(long member_no, Models.Mission mission)
        {
            try
            {
                using (var context = new Lobby.Models.GameContext(member_no))
                {
                    var db_mission = await context.mission.Where(x => x.mission_no == mission.mission_no).FirstOrDefaultAsync();

                    if (db_mission != null && db_mission != default(Models.Mission))
                    {
                        db_mission.Copy(mission);
                        await context.SaveChangesAsync();

                        return(true);
                    }
                }
            }
            catch (Exception e)
            {
                Log.Error($"{e.ToString()}");
                return(false);
            }
            return(true);
        }
示例#28
0
        public static void test()
        {
            using (var context = new Lobby.Models.GameContext(0))
            {
                try
                {
                    var row = context.user.Where(x => x.user_no == 4).FirstOrDefault();
                    int a   = (int)row.play_point;

                    // System.Threading.Thread.Sleep(10000);
                    row.play_point += 10;
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }

            var result = GetUser().Result;

            //using (var context = new Lobby.Models.GameContext())
            //{
            //    try
            //    {
            //        var user = new User()
            //        {
            //            character_no = 1,
            //            user_name = Guid.NewGuid().ToString("N"),
            //        };

            //        context.user.Add(user);
            //        context.SaveChanges();

            //        var charac = new Character()
            //        {
            //            user_no = user.user_no,
            //            character_level = 1,
            //            character_type = 1,
            //        };
            //        context.character_info.Add(charac);
            //        context.SaveChanges();

            //        user.character_no = charac.character_no;
            //        context.SaveChanges();

            //        var item = new Item()
            //        {
            //            user_no = user.user_no,
            //            item_id = 1000,
            //            item_count = 10,
            //        };
            //        context.item.Add(item);
            //        context.SaveChanges();



            //        var ret = context.character_info.Where(x => x.character_no == 2).ToList();
            //        ret[0].character_type = 3;
            //        context.SaveChanges();

            //        context.Database.ExecuteSqlCommand("update character_info set character_type = 5 where character_no = 1");

            //    }
            //    catch (Exception e)
            //    {
            //        Console.WriteLine(e);
            //        // Provide for exceptions.
            //    }
            //}

            testRemove();

            var result2 = GetCharacter().Result;
        }
示例#29
0
        public static void Test()
        {
            TestMail().Wait();

            TestString();

            var r111 = TestRanking().Result;

            return;

            {
                var values = new StackExchange.Redis.SortedSetEntry[]
                {
                    new StackExchange.Redis.SortedSetEntry("a:1", 0),
                    new StackExchange.Redis.SortedSetEntry("b:2", 0),
                    new StackExchange.Redis.SortedSetEntry("c:3", 0),
                    new StackExchange.Redis.SortedSetEntry("d:4", 0),
                    new StackExchange.Redis.SortedSetEntry("e:5", 0),
                    new StackExchange.Redis.SortedSetEntry("f:6", 0),
                    new StackExchange.Redis.SortedSetEntry("g:7", 0),
                };

                Cache.Instance.GetDatabase().SortedSetAdd("myzset", values);

                var redis_ret = Cache.Instance.GetDatabase().SortedSetRangeByValue("myzset", "c:", "+", StackExchange.Redis.Exclude.Start, 0, 1, StackExchange.Redis.CommandFlags.None);
                //var redis_ret = Cache.Instance.GetDatabase().SortedSetRangeByValue("myzset", "c:", "c:");
            }



            {
                var r21 = PlayerLog.GetPlayerInfo("990252821976346", 6029, 6029).Result;

                var r22 = WebAPIClient.Web.writeLog("990252821976346", "/log/writeActionLog", JsonConvert.SerializeObject(new ActionLog(r21)
                {
                    category = "캐릭터", action = "획득", label = "1"
                }));
            }

            {
                var ret_a = core.MathHelpers.GetResetTime("00:00:00", new DateTime(2020, 11, 13, 9, 10, 3));
                var ret_b = core.MathHelpers.GetResetTime("00:00:00", new DateTime(2020, 11, 14, 0, 0, 0));

                if (ret_a != ret_b)
                {
                }
            }


            var first  = new DateTime(2020, 9, 6);
            var second = new DateTime(2020, 9, 7);

            var dif2 = core.MathHelpers.weekDiff(first, second);

            first  = new DateTime(2020, 9, 8);
            second = new DateTime(2020, 9, 7);
            dif2   = core.MathHelpers.weekDiff(first, second);

            using (var context = new Lobby.Models.GameContext(0))
            {
                try
                {
                    var rows = context.shop.ToList();

                    foreach (var row in rows)
                    {
                        row.Clear();
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }


            Task.Run(async() =>
            {
                await using (var user = await UserCache.GetUser(0, 4888, true, true))
                {
                    user.medal_charge_time = DateTime.UtcNow;
                    user.IsDirty           = true;
                    //UserQuery.UpdateUserMedalCharge(user).Wait();
                }
            });



            return;

            var list = BannedWordQuery.GetBannedWord().Result;


            //bool isLetter = false;
            if (Char.IsLetterOrDigit("test한글", 0))
            {
                //isLetter = true;
            }


            string letter = "test한글&\n";
            var    sret   = letter.IsLetterOrDigit();

            letter = "test한글111";
            sret   = letter.IsLetterOrDigit();


            //var r33 = UserQuery.UpdateUser(2672, "test15").Result;

            Task.Run(async() =>
            {
                //await LobbyService.LoadUserInfo(2672);
                //await LobbyService.LoadUserInfo(2672);

                var characters = await CharacterCache.Instance.GetEntities(0, 2672, true);

                await CharacterCache.Instance.RemoveEntity(0, characters[0]);

                await CharacterCache.Instance.RemoveEntities(0, 2672);

                characters = await CharacterCache.Instance.GetEntities(0, 2672, false);
            });

            Task.Run(async() =>
            {
                await using (var mylock = await RedLock.CreateLockAsync("lock:character:1"))
                {
                    var ret = mylock.IsAcquired;
                }
            });

            Task.Run(async() =>
            {
                await using (var mylock = await RedLock.CreateLockAsync("lock:character:1"))
                {
                    var ret = mylock.IsAcquired;
                }
            });

            var r  = WebAPIClient.Web.validate("990252821976346", "fwPla7fQ8ty9+DZT/lD//opW3OMPm7j2xvs2KuD+uYr9sjDBcwhG6af5snAmhRvRlplBuo/unVh4Ugt9HD7BWi2WfhT1va61xImzER4+UZzS7WO986OqafxFUTWyLV/k5UWPbS3ijhByFvqFR9j1kYk15clNysZGWi92KZTFr2BzzZ3rCKzcT6oVZjBFc3TqObRQBTI/40qwze1NQA7qReTr6OzO45hUebMuluFiHac=").Result;
            var r2 = WebAPIClient.Web.getInfo("990252821976346").Result;
            var r3 = WebAPIClient.Web.request("990252821976346", "/player/memberKey/get").Result;

            TestHttpClient().ConfigureAwait(false);


            //var charac = CharacterCache.InsertCharacter(new Models.Character() { user_no = 4 }).Result;


            var ret  = CharacterCache.Instance.GetEntities(0, 2019, true).Result;
            var ret2 = CharacterCache.Instance.GetEntities(0, 2019, true).Result;

            //WebAPIClient.Web.test();
            TestRankSeq();

            Lobby.Models.CommonContext.test();
            Lobby.Models.GameContext.test();
            Lobby.Models.LogContext.test();


            Task.Run(async() => await TestCache());
        }