Ejemplo n.º 1
0
 protected internal void OpenedTTRemove(Customer tt)
 {
     if (this.SaveNotes(tt, true))
     {
         OpenedTT.Remove(tt);
     }
 }
Ejemplo n.º 2
0
 private bool OpenedTTClear()
 {
     for (int i = OpenedTT.Count - 1; i >= 0; i--)
     {
         if (!this.SaveNotes(OpenedTT[i], true))
         {
             return(false);
         }
         OpenedTT.Remove(OpenedTT[i]);
     }
     return(true);
 }
Ejemplo n.º 3
0
        private void OpenTTinTab(Customer selected, bool Ping = false)
        {
            Task.Run(async delegate
            {
                await Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action) delegate
                {
                    try
                    {
                        TaskAwaiter awaiter;
                        Customer ExistTT;
                        if (Ping)
                        {
                            Ping = PingSubnetButton.IsEnabled;
                        }
                        if (NewMainWindow.settings.Fields.OneTab)
                        {
                            OpenedTTClear();
                        }
                        AutoOpen = false;
                        //MainWindow.Bindings.isttselected = true;
                        //if (SelectedTT != selected)
                        //{
                        //    //MainWindow.Bindings.isipselected = false;
                        //    //MainWindow.Bindings.title2 = string.Empty;
                        //}
                        //SelectedTT = selected;
                        TTPinComment.DataContext       = SelectedTT;
                        subnet_addr_button.DataContext = SelectedTT;
                        //OnIPDetected += new TTEvent(SelectedTT_OnIPDetected);
                        if (NewMainWindow.settings.Fields.AutoCloseTab)
                        {
                            selected.OnCloseCounter -= new TTEvent(SelectedTT_OnCloseCounter);
                            selected.OnCloseCounter += new TTEvent(SelectedTT_OnCloseCounter);
                            selected.CloseCounter    = 0;
                        }
                        NewMainWindow.CopyTT = selected;
                        if (OpenedTT.Contains(selected))
                        {
                            Ping    = true;
                            ExistTT = FindTTbyCode(selected.NumberCVZ.ToString(), NewMainWindow.OpenedTT);
                            if (ExistTT != null)
                            {
                                OpenedTTRemove(ExistTT);
                            }
                            NewMainWindow.OpenedTT.Add(selected);
                            Tabs.SelectedIndex = Tabs.Items.IndexOf(selected);
                            //Tabs.ItemsSource = NewMainWindow.OpenedTT;
                            if (selected.CustomerType == CustomerTypes.TTCVZ)
                            {
                                selected.PopulateIPList();
                                selected.PopulateInfo();
                            }
                            Dispatcher.Invoke(async() => { await selected.LoadNotes(); });
                            ExistTT = null;
                        }
                        else
                        {
                            OpenedTT.Add(selected);
                            Tabs.SelectedIndex = Tabs.Items.IndexOf(selected);
                        }
                        MRUTT MRU_temp = new MRUTT();
                        MRU_temp.Code  = selected.NumberCVZ.ToString();
                        MRU_temp.Name  = selected.ToStringDisplay + " " + selected.Lan_Ip;
                        MRU_temp.Time  = $"{DateTime.Now:dd/MM/yyyy hh:mm:ss tt}";
                        //MainWindow.MRU = new ObservableCollection<MRUTT>(MainWindow.MRU.Where<MRUTT>(new Func<MRUTT, bool>()).Take<MRUTT>(11).ToList<MRUTT>());
                        MRU = new ObservableCollection <MRUTT>((from i in MRU select i).Take(111).ToList());
                        //MainWindow.MRU = new ObservableCollection<MRUTT>();

                        NewMainWindow.MRU.Insert(0, MRU_temp);
                        ListViewMRU.ItemsSource = NewMainWindow.MRU;
                        SaveMRU();
                        if (Ping)
                        {
                            awaiter = PingSelectedTT(true).GetAwaiter();
                        }
                    }
                    catch (Exception ex)
                    {
                        Error(ex.Message, "Ошибка", ex.StackTrace);
                    }
                });