public void TestUpdateRequest() { DataBaseUpdateRequest uReq = new DataBaseUpdateRequest("DataBaseItem", "Title = 'Cat'", "Id = '3'"); var result = DatabaseService.PerformRequest <DataBaseItem> (uReq); Assert.NotNull(result); }
/// <summary> /// use this method just for generating a new UID. /// </summary> /// <param name="_username_"></param> /// <param name="_socket_"></param> /// <returns></returns> public static async Task <UID> GenerateUID(StrongString _username_, IPlayerSocket _socket_) { int myIndex = Randomic.GetRandom(MIN_SERVER_INDEX, MAX_SERVER_INDEX); var _s = ThereIsServer.ServersInfo.ServerManager.Get_UID_Generation_Server(myIndex); StrongString _target = ServerManager.Generation_Location_Name; UID uid; ulong _value; for (var i = 0; ; i++) { var existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, _target); if (existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return(null); } _value = existing.Decode().ToUInt64(); _value++; var _req = new DataBaseUpdateRequest(UID_MESSAGE, _value.ToString(UID_FORMAT), existing.Sha.GetStrong()); var _result = await ThereIsServer.Actions.UpdateDataOnce(_s, _target, _req); if (_result.IsDeadCallBack) { continue; } if (ThereIsServer.ServerSettings.HasConnectionClosed || i >= MAX_TRY) { return(null); } break; } //---------------------- uid = new UID(myIndex, _value, _socket_, _username_); _s = ThereIsServer.ServersInfo.ServerManager.Get_UID_Server(uid); _target = uid.GetValue() + UID_Lcation_Name; var _creation = new DataBaseCreation(UID_MESSAGE, QString.Parse(uid.GetForServer())); await ThereIsServer.Actions.CreateData(_s, _target, _creation); //---------------------- _s = ThereIsServer.ServersInfo.ServerManager.Get_UID_Server(_username_); _target = _username_ + USERNAME_TO_UID; _creation = new DataBaseCreation(UID_MESSAGE, QString.Parse(uid.GetValue())); await ThereIsServer.Actions.CreateData(_s, _target, _creation); //---------------------- return(uid); }
private async Task <DataBaseDataChangedInfo> UpdateChatMessages() { //--------------------------------------------- var _s = ThereIsServer.ServersInfo.ServerManager.Get_Channel_Server(Channel); var _existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, ChatDataBaseLocation); //--------------------------------------------- if (_existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return(null); // don't set ServerSettings.IsWaitingForServerChecking = false; } //--------------------------------------------- var _req = new DataBaseUpdateRequest(MESSAGE, QString.Parse(GetForServer()), _existing[0].Sha); return(await ThereIsServer.Actions.UpdateData(_s, ChatDataBaseLocation, _req)); //--------------------------------------------- }
public async Task <DataBaseDataChangedInfo> UpdatePlayer() { //--------------------------------------------- var _s = ThereIsServer.ServersInfo.ServerManager.Get_Player_Server(Socket); var _target = UID.GetValue() + EndFileName_Player; var existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, _target); //--------------------------------------------- if (existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return(null); } //--------------------------------------------- var _req = new DataBaseUpdateRequest(PLAYER_MESSAGE, PlayerGetForServer(), existing.Sha.GetStrong()); return(await ThereIsServer.Actions.UpdateData(_s, _target, _req)); //--------------------------------------------- }
//------------------------------------------------- #region online Method's Region public async Task <DataBaseDataChangedInfo> UpdateLevelRankings() { //--------------------------------------------- var _s = ThereIsServer.ServersInfo.ServerManager.Get_Kingdom_Server(Provider); var _target = LevelRankings_LOC; var existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, _target); //--------------------------------------------- if (existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return(null); // don't set ServerSettings.IsWaitingForServerChecking = false; } //--------------------------------------------- var _req = new DataBaseUpdateRequest(MESSAGE, QString.Parse(GetForServer()), existing.Sha); return(await ThereIsServer.Actions.UpdateData(_s, _target, _req)); //--------------------------------------------- }
public async Task <DataBaseDataChangedInfo> UpdatePlayerInfo(DataBaseContent existing) { try { //----------------------------------------- var _target = UID.GetValue() + PI_Server_LOC; var _s = ThereIsServer.ServersInfo.ServerManager.Get_PlayerInfo_Server(Socket); //----------------------------------------- if (existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return(null); } var _req = new DataBaseUpdateRequest(MESSAGE, QString.Parse(PlayerInfoGetForServer()), existing.Sha); return(await ThereIsServer.Actions.UpdateData(_s, _target, _req)); } catch { return(null); } }
public static async Task <DataBaseDataChangedInfo> SavePlayerTroops(Troop[] troops, Player _p) { StrongString myString = GetForServer(troops); //--------------------------------------------- var _s = ThereIsServer.ServersInfo.ServerManager.Get_Troops_Server(_p.Socket); var _target = _p.UID.GetValue() + EndFileName; var existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, _target); //--------------------------------------------- if (existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return(null); } //--------------------------------------------- var _req = new DataBaseUpdateRequest(TROOP_MESSAGE, QString.Parse(myString), existing.Sha); return(await ThereIsServer.Actions.UpdateData(_s, _target, _req)); //--------------------------------------------- }
/// <summary> /// Save Player's troops(Update them to the server.) /// </summary> /// <param name="troops"></param> public static async void SavePlayerTroops(MagicalTroop troops) { StrongString myString = GetForServer(troops); //--------------------------------------------- var _p = ThereIsServer.GameObjects.MyProfile; var _s = ThereIsServer.ServersInfo.ServerManager.Get_MagicalTroops_Server(_p.Socket); var _target = _p.UID.GetValue() + MT_Server_LOC; var existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, _target); //--------------------------------------------- if (existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return; } //--------------------------------------------- var _req = new DataBaseUpdateRequest(MTROOPS_MESSAGE, QString.Parse(myString), existing.Sha); await ThereIsServer.Actions.UpdateData(_s, _target, _req); //--------------------------------------------- }
/// <summary> /// Save Player's Resources(Update them to the server.) /// </summary> /// <param name="troops"></param> public static async Task <DataBaseDataChangedInfo> SavePlayerResources(PlayerResources _r, Player _p) { StrongString myString = _r.GetForServer(); //--------------------------------------------- var _s = ThereIsServer.ServersInfo.ServerManager.Get_Resources_Server(_p.Socket); var _target = _p.UID.GetValue() + EndFileName; var _existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, _target); //--------------------------------------------- if (_existing == null || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return(null); // don't set ServerSettings.IsWaitingForServerChecking = false; } //--------------------------------------------- var _req = new DataBaseUpdateRequest(RES_MESSAGE, QString.Parse(myString), _existing.Sha); return(await ThereIsServer.Actions.UpdateData(_s, _target, _req)); //--------------------------------------------- }
//------------------------------------------------- #region Online Method's Region /// <summary> /// Update the hero's info. /// even if you did not change any information, /// this method will do it's work. /// so don't use it if you did not change any information. /// </summary> /// <returns></returns> public async Task <DataBaseDataChangedInfo> UpdateHero() { StrongString myString = GetForServer(); //--------------------------------------------- var _p = ThereIsServer.GameObjects.MyProfile; var _target = _p.UID.GetValue() + LOC_SEPARATOR + HeroID + SERVER_LOC; var _s = ThereIsServer.ServersInfo.ServerManager.Get_HeroInfo_Server(this); var _existing = await ThereIsServer.Actions.GetAllContentsByRef(_s, _target); //--------------------------------------------- if (_existing.IsDeadCallBack || ThereIsServer.ServerSettings.HasConnectionClosed) { NoInternetConnectionSandBox.PrepareConnectionClosedSandBox(); return(null); // don't set ServerSettings.IsWaitingForServerChecking = false; } //--------------------------------------------- var _req = new DataBaseUpdateRequest(HERO_MESSAGE, QString.Parse(myString), _existing.Sha); return(await ThereIsServer.Actions.UpdateData(_s, _target, _req)); //--------------------------------------------- }