/// <summary> /// Реализует управление базой /// </summary> /// <param name="obj"></param> /// <returns></returns> public string BaseAction(BaseAction obj) { var result = Tools.CheckAuthedInput(obj); if (result != "passed") { return(result); } var mapobj = Tools.SmartMapper <BaseAction, gamelogic.Models.BaseAction>(obj); try { switch (mapobj.action) { case "upgrade": result = BaseManager.UpgradeBase(mapobj); break; case "repair": result = BaseManager.RepairBase(mapobj); break; case "build": result = BaseManager.BuildStructure(mapobj); break; case "upgradestructure": result = BaseManager.UpgradeStructure(mapobj); break; case "makeunit": result = BaseManager.MakeUnit(mapobj); break; default: result = "wrongaction"; break; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine($"Исключение: {ex.Message}"); System.Diagnostics.Debug.WriteLine($"Метод: {ex.TargetSite}"); System.Diagnostics.Debug.WriteLine($"Трассировка стека: {ex.StackTrace}"); result = ex.Message; ProceedActions.Log("Exception", $"Исключение: {ex.Message}, функция BaseAction"); } return(result); }
// >> auth-n-player section /// <summary> /// Управляет авторизацией и регистрацией пользователей /// </summary> /// <param name="data"></param> /// <returns></returns> public ReturnAuthData SendAuthData(AuthData data) { var result = new ReturnAuthData { success = false }; if (data == null) { result.message = "nodatareceived"; return(result); } if (data.username == null || data.password == null || data.username.Length < 3 || data.password.Length < 3 || data.username.Length > 20 || data.password.Length > 20) { result.message = "wrongdatareceived"; return(result); } const string pattern = @"[^a-zA-ZА-Яа-я0-9!№%*@#$^]"; if (Regex.IsMatch(data.username, pattern)) { result.message = "wrongdatareceived"; return(result); } try { return(Tools.SmartMapper <gamelogic.Models.ReturnAuthData, ReturnAuthData>( AccountManager.AuthClient( Tools.SmartMapper <AuthData, gamelogic.Models.AuthData>(data) ) )); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine($"Исключение: {ex.Message}"); System.Diagnostics.Debug.WriteLine($"Метод: {ex.TargetSite}"); System.Diagnostics.Debug.WriteLine($"Трассировка стека: {ex.StackTrace}"); ProceedActions.Log("Exception", $"Исключение: {ex.Message}, функция Service1.SendAuthData"); result.message = ex.Message; return(result); } }
/// <summary> /// Реализует управление отрядами /// </summary> /// <param name="obj"></param> /// <returns></returns> public string SquadAction(SquadAction obj) { var result = Tools.CheckAuthedInput(obj); if (result != "passed") { return(result); } try { var mapobj = Tools.SmartMapper <SquadAction, gamelogic.Models.SquadAction>(obj); switch (obj.action) { case "attack": result = SquadManager.SendAttackOrder(mapobj); break; case "return": result = SquadManager.SendReturnOrder(mapobj); break; default: result = "wrongaction"; break; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine($"Исключение: {ex.Message}"); System.Diagnostics.Debug.WriteLine($"Метод: {ex.TargetSite}"); System.Diagnostics.Debug.WriteLine($"Трассировка стека: {ex.StackTrace}"); ProceedActions.Log("Exception", $"Исключение: {ex.Message}, функция SquadAction"); result = "err"; } return(result); }