/// <summary>
 /// Добавляет элементы <see cref="BaseDetailDirective"/> в ListView
 /// </summary>
 /// <param name="itemsArray"></param>
 protected override void AddItems(BaseDetailDirective[] itemsArray)
 {
     if (itemsArray.Length != 0)
     {
         int count = itemsArray.Length;
         for (int i = 0; i < count; i++)
         {
             AddItem(itemsArray[i]);
         }
         ItemsListView.Items.AddRange(ListViewItemList.ToArray());
         ShowGroups = true;
         if (itemsArray[0].DirectiveType == DirectiveTypeCollection.Instance.ADDirectiveType)
         {
             sortMultiplier = -1;
         }
         else
         {
             sortMultiplier = 1;
         }
         if (columnIndexQueue.Count == 1)
         {
             SortItems(0, sortMultiplier);
         }
     }
 }
示例#2
0
        /// <summary>
        /// Обновляет элементы ListView
        /// </summary>
        public override void UpdateItems()
        {
            ItemsHash.Clear();
            ListViewItemList.Clear();
            ItemsListView.Items.Clear();
            selectedItemsList.Clear();

/*            List<AbstractDetail> containedDetails = new List<AbstractDetail>();
 *          if (currentAircraft != null)
 *          {
 *              containedDetails.AddRange(currentAircraft.Engines);
 *              if (currentAircraft.Apu != null)
 *                  containedDetails.Add(currentAircraft.Apu);
 *              containedDetails.AddRange(currentAircraft.LandingGears);
 *              containedDetails.AddRange(currentAircraft.AircraftFrame.ContainedDetails);
 *          }
 *          else
 *          {
 *              for (int i = 0; i < currentOperator.Stores.Count; i++)
 *                  containedDetails.AddRange(currentOperator.Stores[i].Engines);
 *              for (int i = 0; i < currentOperator.Stores.Count; i++)
 *                  if (currentOperator.Stores[i].Apu != null)
 *                      containedDetails.Add(currentOperator.Stores[i].Apu);
 *              for (int i = 0; i < currentOperator.Stores.Count; i++)
 *                  containedDetails.AddRange(currentOperator.Stores[i].LandingGears);
 *              for (int i = 0; i < currentOperator.Stores.Count; i++)
 *                  containedDetails.AddRange(currentOperator.Stores[i].AircraftFrame.ContainedDetails);
 *          }*/
            //   AddItems(containedDetails.ToArray());
            SetTotalText();
        }
示例#3
0
        /// <summary>
        /// Выполняет группировку элементов
        /// </summary>
        protected override void SetGroupsToItems()
        {
            itemsListView.Groups.Clear();

            if (OldColumnIndex != 9)
            {
                foreach (var item in ListViewItemList)
                {
                    var temp = ListViewGroupHelper.GetGroupString(item.Tag);

                    itemsListView.Groups.Add(temp, temp);
                    item.Group = itemsListView.Groups[temp];
                }
            }
            else
            {
                //Группировка элементов по датам выполнения
                var groupedItems = ListViewItemList.Where(lvi => lvi.Tag != null &&
                                                          lvi.Tag is NextPerformance)
                                   .GroupBy(lvi => Convert.ToDateTime(((NextPerformance)lvi.Tag).PerformanceDate).Date);
                foreach (var groupedItem in groupedItems)
                {
                    //Собрание всех выполнений на данную дату в одну коллекцию
                    var performances = groupedItem.Select(lvi => lvi.Tag as NextPerformance).ToList();

                    var temp = ListViewGroupHelper.GetGroupStringByPerformanceDate(performances, groupedItem.Key.Date);

                    itemsListView.Groups.Add(temp, temp);
                    foreach (var item in groupedItem)
                    {
                        item.Group = itemsListView.Groups[temp];
                    }
                }
            }
        }
示例#4
0
        private void SortItems(int columnIndex)
        {
            if (oldColumnIndex != columnIndex)
            {
                sortMultiplier = -1;
            }
            if (sortMultiplier == 1)
            {
                sortMultiplier = -1;
            }
            else
            {
                sortMultiplier = 1;
            }
            if (columnIndexQueue.Count >= SORT_MEMORY_COUNT)
            {
                columnIndexQueue.Dequeue();
                columnIndexQueue.Enqueue(columnIndex);
            }
            else
            {
                columnIndexQueue.Enqueue(columnIndex);
            }
            ItemsListView.Items.Clear();
            SetGroupsToItems();
            ListViewItemList.Sort(new ADDirectiveListViewComparer(columnIndex, sortMultiplier));


            ItemsListView.Items.AddRange(ListViewItemList.ToArray());
            oldColumnIndex = columnIndex;
        }
示例#5
0
        /// <summary>
        /// Добавляет элемент с указанием группы в которой он находится
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(AbstractDetail item)
        {
            string[]     itemsString  = GetItemString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);
            int          hashCode     = item.ConditionState.GetHashCode();

            listViewItem.BackColor = item.Highlight.Color;

            if (hashCode == 2 || item.ExpirationDate < DateTime.Now)
            {
                listViewItem.BackColor = COLORS[2];
            }
            else if (hashCode == 1 || item.NotificationDate < DateTime.Today)
            {
                listViewItem.BackColor = COLORS[1];
            }
            else
            {
                listViewItem.BackColor = COLORS[0];
            }
            listViewItem.Tag = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#6
0
        /// <summary>
        /// Добавляет элемент с указанием группы в которой он находится
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(Detail item)
        {
            string[]     itemsString  = GetItemsString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.SubItems.Add(item.AtaChapter.FullName);
            if (landingGearsFilter.Acceptable(item))
            {
                listViewItem.SubItems.Add(TermsProvider.GetLandingGearPositionFullName(((GearAssembly)item.Parent).LandingGearMark.ToString()));
            }
            listViewItem.BackColor = item.Highlight.Color;

            if (item.ConditionState == DirectiveConditionState.Notify)
            {
                listViewItem.BackColor = Css.ListView.Colors.NotifyColor;
            }
            else if (item.ConditionState == DirectiveConditionState.NotSatisfactory)
            {
                listViewItem.BackColor = Css.ListView.Colors.NotSatisfactoryColor;
            }

            listViewItem.Tag = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
        /// <summary>
        /// Добавляет элемент в список директив
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(ModificationItem item)
        {
            ListViewItem listViewItem = PrepareItem(item);

            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#8
0
        /// <summary>
        /// Добавляет элемент в список директив
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(BaseDetailDirective item)
        {
            ListViewItem listViewItem = PrepareItem(item);

            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#9
0
        /// <summary>
        /// Событие возникающее при изменении массива выбранных элементов в списке элементов, которые отображаются в списке, вот!
        /// </summary>
        //public event EventHandler<SelectedItemsChangeEventArgs> SelectedItemsChanged;
        #endregion

        #endregion

        #region Methods

        #region public override void UpdateItems()

        /// <summary>
        /// Обновляет элементы ListView
        /// </summary>
        public override void UpdateItems()
        {
            ItemsHash.Clear();
            ListViewItemList.Clear();
            ItemsListView.Items.Clear();
            selectedItemsList.Clear();
            AddItems(parentAircraft.WorkPackages);
            SetTotalText();
        }
        /// <summary>
        /// Добавляет элемент в список технических записей (AbstractRecord)
        /// </summary>
        /// <param name="item">Добавляемая техническая запись (AbstractRecord)</param>
        protected override ListViewItem AddItem(AbstractRecord item)
        {
            string[]     itemsString  = GetItemString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.Tag = item;
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#11
0
        /// <summary>
        /// Событие возникающее при изменении массива выбранных элементов в списке элементов, которые отображаются в списке, вот!
        /// </summary>
        //public event EventHandler<SelectedItemsChangeEventArgs> SelectedItemsChanged;
        #endregion

        #endregion

        #region Methods

        #region private void SetResource()

        private void SetResource()
        {
            ItemsListView.Items.Clear();
            ItemsListView.Groups.Clear();
            ItemsListView.Columns.Clear();
            ColumnHeaderList.Clear();
            ListViewItemList.Clear();
            SetHeaders();
        }
示例#12
0
 /// <summary>
 /// Обновляет элементы ListView
 /// </summary>
 public override void UpdateItems()
 {
     ItemsHash.Clear();
     ListViewItemList.Clear();
     ItemsListView.Items.Clear();
     selectedItemsList.Clear();
     AddItems(Flights.ToArray());
     SetTotalText();
 }
示例#13
0
        private void SortItems(int columnIndex)
        {
            if (oldColumnIndex != columnIndex)
            {
                sortMultiplier = -1;
                if (columnIndex == 0)
                {
                    ataSortMultiplier = -1;
                }
            }
            if (sortMultiplier == 1)
            {
                sortMultiplier = -1;
            }
            else
            {
                sortMultiplier = 1;
            }

            if (columnIndex == 0)
            {
                if (ataSortMultiplier == 1)
                {
                    ataSortMultiplier = -1;
                }
                else
                {
                    ataSortMultiplier = 1;
                }
            }

            if (columnIndexQueue.Count >= SORT_MEMORY_COUNT)
            {
                columnIndexQueue.Dequeue();
                columnIndexQueue.Enqueue(columnIndex);
            }
            else
            {
                columnIndexQueue.Enqueue(columnIndex);
            }

            ListViewItemList.Sort(new ComponentStatusListViewComparer(columnIndexQueue, sortMultiplier, ataSortMultiplier));
            ItemsListView.Items.Clear();
            ItemsListView.Groups.Clear();
            if (GroupByLandingGearPostionNumbers)
            {
                SetGroupToItemLandingGear();
            }
            else
            {
                SetGroupToItemATAChapter();
            }
            ItemsListView.Items.AddRange(ListViewItemList.ToArray());
            ShowGroups     = true;
            oldColumnIndex = columnIndex;
        }
        protected override ListViewItem AddItem(JobCard jobCard)
        {
            string[]     itemsString  = GetItemsString(jobCard);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.Tag = jobCard;
            ItemsHash.Add(jobCard, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#15
0
        /// <summary>
        /// Событие возникающее при изменении массива выбранных элементов в списке элементов, которые отображаются в списке, вот!
        /// </summary>
        //public event EventHandler<SelectedItemsChangeEventArgs> SelectedItemsChanged;
        #endregion

        #endregion

        #region Methods

        #region public override void UpdateItems()

        /// <summary>
        /// Обновляет элементы ListView
        /// </summary>
        public override void UpdateItems()
        {
            ItemsHash.Clear();
            ListViewItemList.Clear();
            ItemsListView.Items.Clear();
            selectedItemsList.Clear();

            AddItems(currentWorkPackage.Items.ToArray());
            SetTotalText();
        }
示例#16
0
        protected override ListViewItem AddItem(WorkPackage item)
        {
            string[]     itemsString  = GetItemsString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.Tag = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#17
0
        protected override ListViewItem AddItem(MaintenanceSubCheck subCheck)
        {
            string[]     itemsString  = GetItemsString(subCheck);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.Tag = subCheck;
            ItemsHash.Add(subCheck, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#18
0
        /// <summary>
        /// Обновляет элементы ListView
        /// </summary>
        public override void UpdateItems()
        {
            ItemsHash.Clear();
            ListViewItemList.Clear();
            ItemsListView.Items.Clear();
            selectedItemsList.Clear();

            AddItems(currentAircraft.ATLBs);
            SetTotalText();
        }
        protected override ListViewItem AddItem(EngineeringOrderDirective directive)
        {
            string[]     itemsString  = GetItemsString(directive);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.Tag       = directive;
            listViewItem.BackColor = COLORS[directive.Condition.GetHashCode()];
            ItemsHash.Add(directive, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#20
0
        /// <summary>
        /// Добавляет элемент
        /// </summary>
        /// <param name="item"></param>
        protected override ListViewItem AddItem(IMaintainable item)
        {
            string[]     itemsString  = GetItemsString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.BackColor = GetIMaintainableColor(item);
            listViewItem.Tag       = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#21
0
        /// <summary>
        /// Добавляет элемент с указанием группы в которой он находится
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(AircraftFlight item)
        {
            string[]     subItemsString = GetSubItemsString(item);
            ListViewItem listViewItem   = new ListViewItem(item.ATLBPageNo.ToString());

            listViewItem.SubItems.AddRange(subItemsString);
            listViewItem.Tag = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#22
0
        /// <summary>
        /// Добавляет элемент с указанием группы в которой он находится
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(ATLB item)
        {
            string[]     subItemsString = GetSubItemsString(item);
            ListViewItem listViewItem   = new ListViewItem(item.ATLBNo);

            listViewItem.SubItems.AddRange(subItemsString);
            listViewItem.Tag = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#23
0
        /// <summary>
        /// Добавляет элемент с указанием группы в которой он находится
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(TemplateDetail item)
        {
            string[]     itemsString  = GetItemsString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.SubItems.Add(item.AtaChapter.FullName);
            listViewItem.Tag = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#24
0
        /// <summary>
        /// Обновляет элементы ListView
        /// </summary>
        public override void UpdateItems()
        {
            ItemsHash.Clear();
            ListViewItemList.Clear();
            ItemsListView.Items.Clear();
            selectedItemsList.Clear();


            AddItems(currentATLB.Flights);
            SetTotalText();
            //ItemsListView.EndUpdate(); // Если не вызвать этот метод список не появится после обновления
        }
 /// <summary>
 /// Добавляет элементы <see cref="EngineeringOrderDirective"/> в ListView
 /// </summary>
 /// <param name="itemsArray"></param>
 protected override void AddItems(EngineeringOrderDirective[] itemsArray)
 {
     if (itemsArray.Length != 0)
     {
         int count = itemsArray.Length;
         for (int i = 0; i < count; i++)
         {
             AddItem(itemsArray[i]);
         }
         ItemsListView.Items.AddRange(ListViewItemList.ToArray());
         SortItems(oldColumnIndex);
     }
 }
示例#26
0
        /// <summary>
        /// Добавляет элемент с указанием группы в которой он находится
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(StockDetailInfo item)
        {
            string[]     itemsString  = GetItemString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            if (item.Current < item.Amount)
            {
                listViewItem.BackColor = Css.ListView.Colors.NotSatisfactoryColor;
            }
            listViewItem.Tag = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#27
0
        private void SortItems(int columnIndex)
        {
            if (oldColumnIndex != columnIndex)
            {
                sortMultiplier = -1;
                if (columnIndex == 0)
                {
                    ataSortMultiplier = -1;
                }
            }
            if (sortMultiplier == 1)
            {
                sortMultiplier = -1;
            }
            else
            {
                sortMultiplier = 1;
            }

            if (columnIndex == 0)
            {
                if (ataSortMultiplier == 1)
                {
                    ataSortMultiplier = -1;
                }
                else
                {
                    ataSortMultiplier = 1;
                }
            }

            if (columnIndexQueue.Count >= SORT_MEMORY_COUNT)
            {
                columnIndexQueue.Dequeue();
                columnIndexQueue.Enqueue(columnIndex);
            }
            else
            {
                columnIndexQueue.Enqueue(columnIndex);
            }

            ListViewItemList.Sort(new TemplateDetailListViewComparer(columnIndexQueue, sortMultiplier, ataSortMultiplier));
            ItemsListView.Items.Clear();
            ItemsListView.Groups.Clear();
            SetGroupToItem();
            ItemsListView.Items.AddRange(ListViewItemList.ToArray());
            ShowGroups     = true;
            oldColumnIndex = columnIndex;
        }
 /// <summary>
 /// Добавляет элементы <see cref="JobCard"/> в ListView
 /// </summary>
 /// <param name="itemsArray"></param>
 protected override void AddItems(JobCard[] itemsArray)
 {
     if (itemsArray.Length != 0)
     {
         int count = itemsArray.Length;
         for (int i = 0; i < count; i++)
         {
             AddItem(itemsArray[i]);
         }
         SetGroupsToItems();
         ItemsListView.Items.AddRange(ListViewItemList.ToArray());
         ShowGroups = true;
         SortItems(oldColumnIndex);
     }
 }
示例#29
0
        /// <summary>
        /// Добавляет элемент с указанием группы в которой он находится
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(BaseDetailDirective item)
        {
            string[]     itemsString  = GetItemString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            if (!item.Closed)
            {
                listViewItem.ForeColor = Color.Black;
            }
            listViewItem.BackColor = UsefulMethods.GetDirectiveColor(item);
            listViewItem.Tag       = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }
示例#30
0
        /// <summary>
        /// Добавляет элемент с указанием группы в которой он находится
        /// </summary>
        /// <param name="item">Добавляемый элемент</param>
        protected override ListViewItem AddItem(AircraftFlight item)
        {
            string[]     itemsString  = GetItemsString(item);
            ListViewItem listViewItem = new ListViewItem(itemsString);

            listViewItem.BackColor = item.Highlight.Color;
            if (!item.Correct)
            {
                listViewItem.BackColor = Css.ListView.Colors.PendingColor;
            }
            listViewItem.Tag = item;
            ItemsHash.Add(item, listViewItem);
            ListViewItemList.Add(listViewItem);
            return(listViewItem);
        }