Пример #1
0
        public async Task ChangeSymbolColor(string id, string color)
        {
            Color c = ColorTranslator.FromHtml(color);

            PersistenceStorage.UpdateColor(id, c);
            await Clients.Caller.SendAsync("ColorIsChanged", color);
        }
Пример #2
0
        public async Task ConfirmRegister(string u)
        {
            HumanPlayer user = JsonConvert.DeserializeObject <HumanPlayer>(u);

            try
            {
                if (PersistenceStorage.CheckPlayerIdIsUnique(user.ID))
                {
                    //If ID is unique
                    if (PersistenceStorage.CreatePlayer(user))
                    {
                        await Clients.Caller.SendAsync("RegisterSuccess", "You are successfully registered. You can now log-in");
                    }
                    else
                    {
                        await Clients.Caller.SendAsync("RegisterFailed",
                                                       "Hmmm... Something went wrong. Please try again");
                    }
                }
                else
                {
                    await Clients.Caller.SendAsync("RegisterFailed",
                                                   "Username already taken. Please consider another one");
                }
            }
            catch (Exception e)
            {
                await Clients.Caller.SendAsync("RegisterFailed",
                                               "An Database Error occurred with the following message: " + e);
            }
        }
Пример #3
0
 public async Task ConfirmLogin(string id, string pw)
 {
     //Check in Database
     try
     {
         var(player, validation) = PersistenceStorage.LoadPlayer(id, pw);
         if (validation)
         {
             var playerJson = JsonConvert.SerializeObject(player);
             await Clients.Client(Context.ConnectionId)
             .SendAsync("LoginSuccess", playerJson);
         }
         else
         {
             await Clients.Caller.SendAsync("LoginFailed", "Login failed. Wrong userID or Password! ");
         }
     }
     catch (SQLiteException e)
     {
         await Clients.Caller.SendAsync("LoginFailed", "Database Connection Error: " + e);
     }
 }
Пример #4
0
 private static SubscriptionItem TransformSubscriptionItem(PersistenceStorage.SubscriptionItem item)
 {
     SubscriptionItem item_ = new SubscriptionItem();
     item_.Id = item.ID;
     item_.SubscriptionId = item.SubscriptionID;
     item_.ApplicationId = item.ApplicationID;
     return item_;
 }
Пример #5
0
        private static Subscription TransformSubscription(PersistenceStorage.Subscription subscription)
        {
            Subscription subscription_ = new Subscription();
            subscription_.Id = subscription.ID;
            subscription_.Type = subscription.Type;
            subscription_.AccessKey = subscription.AccessKey;
            subscription_.SecretKey = subscription.SecretKey;
            subscription_.State = subscription.State;
            subscription_.CreatedDate = subscription.CreatedDate;
            if ((subscription.SubscriptionItem != null) && (subscription.SubscriptionItem.Count > 0))
                subscription_.Items = TransformSubscriptionItems(subscription.SubscriptionItem);

            return subscription_;
        }
Пример #6
0
 public async Task GetStats(string id)
 {
     PlayerStats stats     = PersistenceStorage.GetPlayerStat(id);
     string      jsonStats = JsonConvert.SerializeObject(stats);
     await Clients.Caller.SendAsync("ReceiveStats", jsonStats);
 }
Пример #7
0
 public async Task GetPlayer(string id)
 {
     HumanPlayer player     = PersistenceStorage.LoadPlayer(id);
     string      jsonPlayer = JsonConvert.SerializeObject(player);
     await Clients.Caller.SendAsync("ReceivePlayer", jsonPlayer);
 }
Пример #8
0
 public async Task ChangePlayerSymbol(string id, byte symbol)
 {
     PersistenceStorage.UpdatePlayerSymbol(id, symbol);
     await Clients.Caller.SendAsync("SymbolIsChanged", symbol);
 }
Пример #9
0
 public async Task ChangePassword(string id, byte[] newSalt, byte[] newHash)
 {
     PersistenceStorage.UpdateSaltHash(id, newSalt, newHash);
     await Clients.Caller.SendAsync("PasswordIsChanged");
 }
Пример #10
0
 public async Task ChangeIngameName(string id, string name)
 {
     PersistenceStorage.UpdateInGameName(id, name);
     await Clients.Caller.SendAsync("NameIsChanged", name);
 }
Пример #11
0
 public async Task CheckPlayerExists(string id)
 {
     await Clients.Caller.SendAsync("ReceiveUserExists", PersistenceStorage.CheckPlayerIdIsUnique(id));
 }