public ActionResult AccountAdd() { FillDropDownListForAccountView(); var emptyAccount = new AddAccountModel { AccountMaxLeverage = 10 }; return View(emptyAccount); }
public ActionResult AccountAdd(AddAccountModel account) { FillDropDownListForAccountView(); if (!ModelState.IsValid) return View(account); var viewModel = AccountUtils.GetAccountViewModel(accountRepository.GetFilterAccountFromServer(null)); ResultMessage = accountRepository.AddAccount(account) ? Resource.MessageAccauntAdded : Resource.ErrorMessageAccauntAdded; return View("Accounts", viewModel); }
public bool AddAccount(AddAccountModel newAccount) { // В данном методе напрямую с БД не работаем - работаем через прокси // Сформированный JSON отправляется на сервер терминала const string queryPtr = "/?formatquery=1®ister=1"; var urlSrv = AppConfig.GetStringParam("Env.TradeSharpServiceUrl", "http://10.5.237.10:8061"); var userName = AppConfig.GetStringParam("Env.TradeSharpUser", "forexinvest\\asitaev"); var userPwrd = AppConfig.GetStringParam("Env.TradeSharpPwrd", "AndSit!qa"); if (newAccount == null) { Logger.Error("AddAccount. Ошибка добавления аккаунта. Объект модели равен null"); return false; } var newAccountParamList = new List<HttpParameter> { new RegisterAccountQuery { #region быстрая инициализация свойств Balance = newAccount.AccountBalance, Group = newAccount.AccountGroup, Currency = newAccount.AccountCurrency, MaxLeverage = newAccount.AccountMaxLeverage, UserLogin = newAccount.UserLogin, UserPassword = newAccount.UserPassword, UserName = newAccount.UserName, UserSurname = newAccount.UserSurname, UserPatronym = newAccount.UserPatronym, UserDescription = newAccount.UserDescription, UserEmail = newAccount.UserEmail, UserPhone1 = newAccount.UserPhone1, UserPhone2 = newAccount.UserPhone2, UserRightsMask = newAccount.UserRightsMask, UserRoleMask = newAccount.UserRoleMask, #endregion } }; try { string rawData; var result = HttpParameter.DeserializeServerResponse(urlSrv + queryPtr, newAccountParamList, out rawData, userName, userPwrd); var report = (ExecutionReport)result.FirstOrDefault(p => p is ExecutionReport); if (report != null) { if (!report.IsOk) Logger.Error("Ошибка: " + report.Comment); } } catch (Exception ex) { Logger.Error("AddAccount(). Ошибка добавления аккаунта", ex); } try { if (newAccount.WalletBalance < 0) { Logger.Error("AddAccount(). Не удалось зачислить средства на кошелёк пользователя - невозможно зачислить отридцательную сумму."); return false; } using (var ctx = DatabaseContext.Instance.Make()) { var userId = ctx.PLATFORM_USER.Single(x => x.Login == newAccount.UserLogin); var wallet = ctx.WALLET.Single(w => w.User == userId.ID); wallet.Balance = (decimal)newAccount.AccountBalance; ctx.SaveChanges(); } return true; } catch (Exception ex) { Logger.Error("AddAccount() - не удалось зачислить средства на кошелёк пользователя", ex); } return false; }