Beispiel #1
0
 private void SyncDataSourceWithCache <IEquitable>(SyncBindingList <IEquitable> dataSource, List <IEquitable> cache)
 {
     lock (cache)
     {
         List <IEquitable> list = dataSource.ToList();
         foreach (var dto in cache)
         {
             int index = list.IndexOf(dto);
             if (index >= 0)
             {
                 dataSource[index] = dto;
             }
             else
             {
                 dataSource.Add(dto);
             }
         }
         for (int i = dataSource.Count - 1; i >= 0; i--)
         {
             var entry = dataSource[i];
             var cacheContainsElement = cache.Contains(entry);
             if (!cacheContainsElement)
             {
                 dataSource.RemoveAt(i);
             }
         }
     }
 }
Beispiel #2
0
 private void ConfigureQueueEntriesView()
 {
     queueEntriesData            = new SyncBindingList <QueueEntryDto>(this);
     queueEntriesView.DataError += DataGridViewDataErrorEventHandler;
     queueEntriesView.DataSource = new BindingSource(queueEntriesData, null);
     queueEntriesView.Columns["CallerId"].FillWeight         = 100;
     queueEntriesView.Columns["CallerIdName"].FillWeight     = 120;
     queueEntriesView.Columns["Queue"].FillWeight            = 90;
     queueEntriesView.Columns["QueueDescription"].FillWeight = 100;
     queueEntriesView.Columns["Position"].FillWeight         = 50;
     queueEntriesView.Columns["Wait"].FillWeight             = 50;
     queueEntriesView.Columns["CallerId"].HeaderText         = "Number";
     queueEntriesView.Columns["CallerIdName"].HeaderText     = "Name";
     queueEntriesView.Columns["QueueDescription"].HeaderText = "Description";
     queueEntriesView.Columns["Position"].HeaderText         = "Pos";
     //queueEntriesView.Columns["QueueLocalWeight"].Visible = false;
     queueEntriesView.SelectionChanged += DataGridViewClearSelection;
 }
Beispiel #3
0
        private void ConfigureQueueParamsView()
        {
            queueParamsData            = new SyncBindingList <QueueParamsDto>(this);
            queueParamsView.DataSource = new BindingSource(queueParamsData, null);
            queueParamsView.DataError += DataGridViewDataErrorEventHandler;
            queueParamsView.Columns["DateReceived"].DefaultCellStyle.Format = configuration.DateTimeFormat;
            queueParamsView.Columns["Queue"].FillWeight            = 90;
            queueParamsView.Columns["QueueDescription"].FillWeight = 100;
            queueParamsView.Columns["Calls"].FillWeight            = 50;
            queueParamsView.Columns["Abandoned"].FillWeight        = 50;
            queueParamsView.Columns["Completed"].FillWeight        = 60;
            queueParamsView.Columns["DateReceived"].FillWeight     = 80;
            queueParamsView.Columns["QueueDescription"].HeaderText = "Description";
            queueParamsView.Columns["Abandoned"].HeaderText        = "Aband";
            queueParamsView.Columns["DateReceived"].HeaderText     = "Update";
            //queueParamsView.Columns["QueueLocalWeight"].Visible = false;

            if (configuration.HightlightRowIfQueueNotEmpty)
            {
                queueParamsView.RowPrePaint += HighlightRowsIfNeeded;
            }
            queueParamsView.SelectionChanged += DataGridViewClearSelection;
        }