예제 #1
0
        private void Subscribe(object sender, EventArgs e)
        {
            RequestStatus status;

            try
            {
                if (isSubsribed)
                {
                    status =
                        AccountModel.Instance.ServerProxy.UnsubscribePortfolio(
                            CurrentProtectedContext.Instance.MakeProtectedContext(),
                            AccountModel.Instance.GetUserLogin(), true, true);
                }
                else
                {
                    var complete = new CompleteSubscribeOnPortfolioDlg(portfolio).ShowDialog() == DialogResult.OK;
                    if (!complete)
                    {
                        return;
                    }

                    var tradeSettings = new AutoTradeSettings();
                    // открыть диалог настройки авто-торговли
                    var dlg = new AutoTradeSettingsForm();
                    if (dlg.ShowDialog(this) == DialogResult.OK)
                    {
                        tradeSettings = dlg.sets;
                    }
                    status =
                        AccountModel.Instance.ServerProxy.SubscribeOnPortfolio(
                            CurrentProtectedContext.Instance.MakeProtectedContext(),
                            AccountModel.Instance.GetUserLogin(), portfolio, null, tradeSettings);
                }
            }
            catch (Exception ex)
            {
                //4 debug
                MessageBox.Show(this, "Операция выполнена с ошибкой:" + Environment.NewLine + ex.Message, Localizer.GetString("TitleWarning"),
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                Logger.Info("TopPortfolioControl.Subscribe: error calling SubscribeOnPortfolio/UnsubscribePortfolio", ex);
                return;
            }
            if (status == RequestStatus.OK)
            {
                MessageBox.Show(this, "Операция выполнена успешно", Localizer.GetString("TitleInformation"), MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show(this,
                                "Операция выполнена с ошибкой:" + Environment.NewLine +
                                EnumFriendlyName <RequestStatus> .GetString(status), Localizer.GetString("TitleWarning"), MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
            }
            IsSubsribed = !isSubsribed;
            if (SubscriptionChanged != null)
            {
                SubscriptionChanged(this, new EventArgs());
            }
        }
예제 #2
0
        private void EditTradeSettings()
        {
            if (selectedCategory == null)
            {
                return;
            }
            var dlg = new AutoTradeSettingsForm(selectedCategory.AutoTradeSettings);

            if (dlg.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            selectedCategory.AutoTradeSettings = dlg.sets;
            SubscriptionModel.Instance.ModifySubscription(selectedCategory);
        }
 // copied from TopPortfolioControl
 private void SetupButtonClick(object sender, EventArgs e)
 {
     try
     {
         var subscribedPortfolio = TradeSharpAccountStatistics.Instance.proxy.GetSubscribedTopPortfolio(
             AccountModel.Instance.GetUserLogin());
         var form = new AutoTradeSettingsForm(subscribedPortfolio.TradeSettings);
         if (form.ShowDialog(this) == DialogResult.Cancel)
         {
             return;
         }
         var status = AccountModel.Instance.ServerProxy.ApplyPortfolioTradeSettings(
             CurrentProtectedContext.Instance.MakeProtectedContext(),
             AccountModel.Instance.GetUserLogin(), form.sets);
         if (status == RequestStatus.OK)
         {
             MessageBox.Show(this, "Операция выполнена успешно", "Информация", MessageBoxButtons.OK,
                             MessageBoxIcon.Information);
         }
         else
         {
             MessageBox.Show(this,
                             "Операция выполнена с ошибкой:" + Environment.NewLine +
                             EnumFriendlyName <RequestStatus> .GetString(status), "Ошибка",
                             MessageBoxButtons.OK,
                             MessageBoxIcon.Exclamation);
         }
     }
     catch (Exception ex)
     {
         //4 debug
         MessageBox.Show(this, "Операция выполнена с ошибкой:" + Environment.NewLine + ex.Message, "Ошибка",
                         MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
         Logger.Info("TopSubscriptionControl.SetupButtonClick: error calling ApplyPortfolioTradeSettings", ex);
         return;
     }
 }
예제 #4
0
        private void CreatePortfolioButtonClick(object sender, EventArgs e)
        {
            var portfolioName = "TOP " + AccountModel.Instance.GetUserLogin();

            if (portfolioName.Length > 50)
            {
                portfolioName = portfolioName.Substring(0, 50);
            }
            var portfolio = new TopPortfolio
            {
                Name             = portfolioName,
                Criteria         = SelectedFunction.Function,
                DescendingOrder  = SelectedFunction.PreferredSortOrder == SortOrder.Descending,
                MarginValue      = SelectedFunction.MarginValue,
                ParticipantCount = ParticipantCount
            };

            var complete = new CompleteSubscribeOnPortfolioDlg(portfolio).ShowDialog() == DialogResult.OK;

            if (!complete)
            {
                return;
            }

            // открыть диалог настройки авто-торговли
            var dlg = new AutoTradeSettingsForm();

            if (dlg.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }
            var tradeSettings = dlg.sets;

            RequestStatus status;

            try
            {
                status =
                    AccountModel.Instance.ServerProxy.SubscribeOnPortfolio(
                        CurrentProtectedContext.Instance.MakeProtectedContext(),
                        AccountModel.Instance.GetUserLogin(), portfolio, null, tradeSettings);
            }
            catch (Exception ex)
            {
                //4 debug
                MessageBox.Show(this, "Операция выполнена с ошибкой:" + Environment.NewLine + ex.Message, "Предупреждение",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                Logger.Info("TopPortfolioControl.Subscribe: error calling SubscribeOnPortfolio/UnsubscribePortfolio", ex);
                return;
            }
            if (status == RequestStatus.OK)
            {
                MessageBox.Show(this, "Операция выполнена успешно", "Информация", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show(this,
                                "Операция выполнена с ошибкой:" + Environment.NewLine +
                                EnumFriendlyName <RequestStatus> .GetString(status), "Предупреждение", MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
            }
        }