Пример #1
0
        private CallUserControl GetCallUserControlByCall(Tapi.Call call)
        {
            CallUserControl result = null;

            foreach (Control current in this.activeCallPanel.Controls)
            {
                if (current is CallUserControl && current.Tag == call)
                {
                    result = current as CallUserControl;
                }
            }

            return(result);
        }
        //Methods
        #region AnyCall_PropertyChanged
        void AnyCall_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            Form parentForm = this.ListView.FindForm();

            if (parentForm.InvokeRequired)
            {
                parentForm.Invoke(new PropertyChangedEventHandler(this.AnyCall_PropertyChanged), sender, e);
            }
            else
            {
                try
                {
                    Tapi.Call value = sender as Tapi.Call;

                    switch (e.PropertyName)
                    {
                    case "Duration":
                    {
                        this.SubItems["Duration"].Text = value.Duration.ToShortTimeString();
                        break;
                    }

                    case "NameOfCounterpart":
                    {
                        this.SubItems["Name"].Text = value.NameOfCounterpart;
                        break;
                    }

                    case "WasPickedUp":
                    {
                        this.BackColor = value.WasPickedUp ? Color.LightGreen : this.BackColor;
                        break;
                    }

                    case "Note":
                    {
                        this.ToolTipText = this.Call.Note;
                        break;
                    }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.DeepParse());
                }
            }
        }
        //Constructors
        #region CallListViewItem
        public CallListViewItem(Tapi.Call current)
        {
            this.SubItems[0].Name = "Time";

            ListViewSubItem numberItem = new ListViewSubItem();

            numberItem.Name = "Number";
            this.SubItems.Add(numberItem);

            ListViewSubItem nameItem = new ListViewSubItem();

            nameItem.Name = "Name";
            this.SubItems.Add(nameItem);

            ListViewSubItem durationItem = new ListViewSubItem();

            durationItem.Name = "Duration";
            this.SubItems.Add(durationItem);

            this.Call = current;
        }