Ejemplo n.º 1
0
        public UserInfoEx GetUserInfo()
        {
            var result = new UserInfoEx();
            var rows   = userInfoFastGrid.GetRowValues <Cortege2 <string, string> >(false).ToList();

            result.Id          = rows.FirstOrDefault(pair => pair.a == "ID").b.ToInt(0);
            result.AvatarBig   = bigAvatarPanel.BackgroundImage as Bitmap;
            result.AvatarSmall = smallAvatarPanel.BackgroundImage as Bitmap;
            result.About       = aboutRichTextBox.Text;
            result.Contacts    = ContactListUtils.PackContacts(contactsListView);
            return(result);
        }
Ejemplo n.º 2
0
        private void EditExisting()
        {
            var login = AccountStatus.Instance.Login;

            if (string.IsNullOrEmpty(login))
            {
                return;
            }
            if (string.IsNullOrEmpty(oldPassword))
            {
                return;
            }
            if (editedUser == null)
            {
                return;
            }
            if (editedAccount == null)
            {
                return;
            }

            // собрать данные
            var user = new PlatformUser
            {
                Email       = tbEmail.Text,
                Login       = tbLogin.Text,
                Name        = tbName.Text,
                Surname     = tbSurname.Text,
                Patronym    = tbPatronym.Text,
                Phone1      = tbPhone1.Text,
                Phone2      = tbPhone2.Text,
                Description = tbDescription.Text,
                Password    = tbPassword.Text
            };
            var maxLeverage = tbMaxLeverage.Text.ToFloatUniform();

            bool loginIsBusy;
            var  resp = MainForm.serverProxyTrade.proxy.ModifyUserAndAccount(login, oldPassword,
                                                                             user, editedAccount.ID, maxLeverage, out loginIsBusy);

            if (loginIsBusy)
            {
                MessageBox.Show(string.Format(Localizer.GetString("MessageLoginInUse"), user.Login));
                return;
            }

            if (resp == AuthenticationResponse.AccountInactive ||
                resp == AuthenticationResponse.InvalidAccount ||
                resp == AuthenticationResponse.WrongPassword ||
                resp == AuthenticationResponse.ServerError)
            {
                var msg = Localizer.GetString("MessageUnableToUpdate") + " - " +
                          EnumFriendlyName <AuthenticationResponse> .GetString(resp);

                MessageBox.Show(msg, Localizer.GetString("TitleError"));
            }

            // обновить дополнительные данные о пользователе
            try
            {
                var userInfoExSource =
                    new UserInfoExCache(TradeSharpAccountStatistics.Instance.proxy, TerminalEnvironment.FileCacheFolder);
                var info = new UserInfoEx
                {
                    Id          = editedUser.ID,
                    AvatarBig   = bigAvatarPanel.BackgroundImage as Bitmap,
                    AvatarSmall = smallAvatarPanel.BackgroundImage as Bitmap,
                    About       = aboutRichTextBox.Text,
                    Contacts    = ContactListUtils.PackContacts(contactsListView)
                };
                userInfoExSource.SetUserInfo(info);
            }
            catch (Exception ex)
            {
                MessageBox.Show(Localizer.GetString("TitleServerError"),
                                Localizer.GetString("TitleError"));
                Logger.Info("Ошбика при записи дополнительной информации о пользователе", ex);
                return;
            }
            MessageBox.Show(Localizer.GetString("MessageDataSuccessfulyUpdated"),
                            Localizer.GetString("TitleConfirmation"),
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Asterisk);
        }