/// <summary> /// добавление нового аккаунта /// </summary> private static void AddNewAccount(FarmAccountArg e) { CheckValidationSubmitData(e, "Add"); var newAccount = new FarmAccount { AccountId = e.AccountId, TradeEnabled = e.TradeEnabled, UserLogin = e.Login, UserPassword = e.Password }; RobotFarm.Instance.Accounts.Add(newAccount); }
/// <summary> /// редактирование существующего счёта /// </summary> private static void EditAccount(FarmAccountArg e) { CheckValidationSubmitData(e, "Edit"); var account = RobotFarm.Instance.Accounts.FirstOrDefault(x => x.AccountId == e.CurrentAccountId); if (account == null) { return; } account.AccountId = e.AccountId; account.UserLogin = e.Login; account.UserPassword = e.Password; account.TradeEnabled = e.TradeEnabled; }
/// <summary> /// Проверка на валидность, введённых пользователем данных /// </summary> private static void CheckValidationSubmitData(FarmAccountArg e, string action) { if (action != "Delete" && (string.IsNullOrEmpty(e.Login.Trim()) || string.IsNullOrEmpty(e.Password.Trim()))) { throw new ArgumentException("Логин и/или пароль не могут быть пустыми значениями"); } if (e.AccountId == -1) { throw new ArgumentException(string.Format("Неверный формат уникального идентификатора {0}.", e.AccountId)); } if (action == "Add" && RobotFarm.Instance.Accounts.Any(x => x.AccountId == e.AccountId)) { throw new ArgumentException(string.Format("В системе уже зарегистрирован аккаут с уникальным идентификатором {0}. Уникальные идентификаторы не могут повторяться.", e.AccountId)); } if (action == "Edit" && RobotFarm.Instance.Accounts.Where(y => y.AccountId != e.CurrentAccountId).Any(x => x.AccountId == e.AccountId)) { throw new ArgumentException(string.Format("В системе уже зарегистрирован аккаут с уникальным идентификатором {0}. Уникальные идентификаторы не могут повторяться.", e.AccountId)); } }