コード例 #1
0
        protected void Initialize(IDirectiveContainer _currentItem)
        {
            DirectiveCollectionFilter filter = new DirectiveCollectionFilter(_currentItem.ContainedDirectives, GetCollectionFilters());

            if (_currentItem is Aircraft)
            {
                currentItem = (Aircraft)_currentItem;
                screen      = new DirectiveListScreen((Aircraft)_currentItem, filter, additionalFilter, DirectiveDefaultType, ReportTitileText, DirectiveListView);
            }
            if (_currentItem is BaseDetail)
            {
                currentItem = (BaseDetail)_currentItem;
                screen      = new DirectiveListScreen((BaseDetail)_currentItem, filter, DirectiveDefaultType, ReportTitileText, DirectiveListView);
            }
            screen.CurrentDirectiveType = DirectiveDefaultType;
            if (screen != null)
            {
                screen.ReportBuilder = CreateReportBuilder();
                screen.ReportText    = ReportTitileText;
                screen.Dock          = DockStyle.Fill;
                Controls.Add(screen);
                Dock = DockStyle.Fill;
            }

            screen.BackgroundWorkStart += control_BackgroundWorkStart;
            screen.BackgroundWorkEnd   += control_BackgroundWorkEnd;
        }
コード例 #2
0
ファイル: DirectiveScreen.cs プロジェクト: mkbiltek2019/Cas
        private BaseDetailDirective GetDirectiveByTitle(string title)
        {
            DirectiveFilter directiveFilter;

            if (currentDirective.DirectiveType == DirectiveTypeCollection.Instance.SBDirectiveType)
            {
                directiveFilter = new SBStatusFilter();
            }
            else if (currentDirective.DirectiveType == DirectiveTypeCollection.Instance.ADDirectiveType)
            {
                directiveFilter = new ADStatusFilter();
            }
            else
            {
                return(null);
            }
            DirectiveCollectionFilter filter = new DirectiveCollectionFilter(((BaseDetail)currentDirective.Parent).ContainedDirectives, new DirectiveFilter[] { directiveFilter });

            BaseDetailDirective[] directives = filter.GatherDirectives();
            for (int i = 0; i < directives.Length; i++)
            {
                if (directives[i].Title == title)
                {
                    return(directives[i]);
                }
            }
            return(null);
        }
コード例 #3
0
        private void OnReloadRequested()
        {
            try
            {
                if (ReloadForDate != null)
                {
                    ReloadForDate(this, new EventArgs());
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while loading data", ex);
                return;
            }

            DirectiveCollectionFilter newFilter = GetDirectiveCollectionFilter();

            if (!newFilter.Equals(lastAppliedFilter))
            {
                lastAppliedFilter = newFilter;
                if (ApplyFilter != null)
                {
                    ApplyFilter(lastAppliedFilter);
                }
            }
        }
コード例 #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="caption"></param>
 /// <param name="selectionFilter"></param>
 /// <param name="discrepanciesFilter"></param>
 /// <param name="additionalFilter"></param>
 /// <param name="directiveContainer"></param>
 public DirectivesDiscrepanciesSettings(string caption, DirectiveFilter selectionFilter, DirectiveFilter discrepanciesFilter, DirectiveCollectionFilter additionalFilter, IDirectiveContainer directiveContainer)
 {
     this.caption             = caption;
     this.directiveContainer  = directiveContainer;
     this.selectionFilter     = selectionFilter;
     this.discrepanciesFilter = discrepanciesFilter;
     this.additionalFilter    = additionalFilter;
 }
コード例 #5
0
 ///<summary>
 /// Создается элемент отображения коллекции директив ВС
 ///</summary>
 ///<param name="currentAircraft"></param>
 ///<exception cref="ArgumentNullException"></exception>
 ///<param name="viewFilter"></param>
 public DirectiveListViewer(Aircraft currentAircraft, DirectiveCollectionFilter viewFilter, string reportText)
 {
     if (currentAircraft == null)
     {
         throw new ArgumentNullException("currentAircraft");
     }
     this.currentAircraft = currentAircraft;
     this.viewFilter      = viewFilter;
     this.reportText      = reportText;
     InitializeComponent();
     UpdateElements();
 }
コード例 #6
0
        private Directive[] GatherDirectives(DirectiveCollectionFilter additionalFilter)
        {
            List <DirectiveFilter> filters = new List <DirectiveFilter>(viewFilter.Filters);

            if (additionalFilter != null)
            {
                filters.AddRange(additionalFilter.Filters);
            }
            DirectiveCollectionFilter filter =
                new DirectiveCollectionFilter(DirectiveSource.Directives, filters.ToArray());

            return(filter.GatherDirectives());
        }
コード例 #7
0
 ///<summary>
 /// Создается элемент отображения коллекции директив базового агрегата
 ///</summary>
 ///<param name="currentBaseDetail"></param>
 ///<exception cref="ArgumentNullException"></exception>
 ///<param name="viewFilter"></param>
 ///<param name="reportText"></param>
 ///<param name="directiveType"></param>
 public DirectiveListViewer(BaseDetail currentBaseDetail, DirectiveCollectionFilter viewFilter, string reportText, DirectiveType directiveType)
 {
     if (currentBaseDetail == null)
     {
         throw new ArgumentNullException("currentBaseDetail", "Cannot display null-baseDetail");
     }
     this.currentBaseDetail = currentBaseDetail;
     this.viewFilter        = viewFilter;
     this.reportText        = reportText;
     this.directiveType     = directiveType;
     InitializeComponent();
     UpdateElements();
 }
コード例 #8
0
        private BaseDetailDirective[] GatherBaseDetailDirectives(DirectiveCollectionFilter additionalFilter)
        {
            Directive[] directives = GatherDirectives(additionalFilter);
            List <BaseDetailDirective> baseDtailDirectives = new List <BaseDetailDirective>(directives.Length);

            for (int i = 0; i < directives.Length; i++)
            {
                if (directives[i] is BaseDetailDirective)
                {
                    baseDtailDirectives.Add((BaseDetailDirective)directives[i]);
                }
            }
            return(baseDtailDirectives.ToArray());
        }
コード例 #9
0
        private Directive[] GatherDirectives(DirectiveCollectionFilter additionalFilter)
        {
            List <DirectiveFilter> filters = new List <DirectiveFilter>(viewFilter.Filters);

            if (additionalFilter != null)
            {
                filters.AddRange(additionalFilter.Filters);
            }
            DirectiveCollectionFilter filter =
                new DirectiveCollectionFilter(DirectiveSource.Directives, filters.ToArray());

            Directive[] directives = filter.GatherDirectives();
            headerControl1.ContextActionControl.PrintButton.Enabled = (directives.Length != 0);
            return(directives);
        }
コード例 #10
0
        private BaseDetailDirective[] GatherDirectives(DirectiveCollectionFilter _additionalFilter)
        {
            List <DirectiveFilter> filters = new List <DirectiveFilter>(directiveFilter.Filters);

            if (_additionalFilter != null)
            {
                filters.AddRange(_additionalFilter.Filters);
            }
            DirectiveCollectionFilter filter =
                new DirectiveCollectionFilter(parentBaseDetail.ContainedDirectives, filters.ToArray());

            BaseDetailDirective[] directives = filter.GatherDirectives();
            labelTitle.Status = GetStatus(directives);
            return(directives);
        }
コード例 #11
0
        /// <summary>
        /// Создает элемент управления для отображения списка директив Engineering Orders
        /// </summary>
        public EngineeringOrdersDirectiveListView(BaseDetail parentBaseDetail)
        {
            selectedItemsList                   = new List <EngineeringOrderDirective>();
            ItemsListView.Font                  = Css.ListView.Fonts.SmallRegularFont;
            ItemsListView.ColumnClick          += ItemsListView_ColumnClick;
            ItemsListView.MouseDoubleClick     += ItemsListView_MouseDoubleClick;
            ItemsListView.SelectedIndexChanged += ItemsListView_SelectedIndexChanged;
            ItemsListView.PreviewKeyDown       += ItemsListView_PreviewKeyDown;
            DisplayerRequested                 += EngineeringOrdersDirectiveListView_DisplayerRequested;
            columnIndexQueue.Enqueue(0);

            this.parentBaseDetail = parentBaseDetail;
            directiveFilter       = new DirectiveCollectionFilter(new DirectiveFilter[1] {
                new EngeneeringOrderFilter()
            });
        }
コード例 #12
0
 /// <summary>
 /// Задаются параметры фильтрации
 /// </summary>
 /// <param name="filter"></param>
 public void SetFilterParameters(DirectiveCollectionFilter filter)
 {
     for (int i = 0; i < filter.Filters.Length; i++)
     {
         DirectiveFilter directiveFilter = filter.Filters[i];
         if (directiveFilter is DirectiveTitleFilter)
         {
             abstractDirectiveTitleFilterControl1.SetFilterParameters(directiveFilter);
         }
         if (directiveFilter is DirectiveOpenessFilter)
         {
             directiveOpenessFilterControl1.SetFilterParameters(directiveFilter);
         }
         if (directiveFilter is DirectiveConditionFilter)
         {
             directiveConditionFilterControl1.SetFilterParameters(directiveFilter);
         }
     }
 }
コード例 #13
0
 /// <summary>
 /// Создается форма для выбора фильтра коллекции директив
 /// </summary>
 public DirectiveFilterSelectionForm(DirectiveType directiveType, DirectiveCollectionFilter filter)
 {
     InitializeComponent();
     Text = directiveType.CommonName + " filter";
     Icon = Resources.LTR;
     dateTimePicker1.Value   = DateTime.Now;
     dateTimePicker1.MaxDate = DateTime.Now;
     this.directiveType      = directiveType;
     if (directiveType == DirectiveTypeCollection.Instance.OutOffPhaseDirectiveType)
     {
         abstractDirectiveDescriptionFilterControl2.Visible = true;
         abstractDirectiveTitleFilterControl1.Visible       = false;
     }
     if (directiveType == DirectiveTypeCollection.Instance.ADDirectiveType)
     {
         checkBoxAF.Visible = true;
         checkBoxAP.Visible = true;
         if (filter == null)
         {
             return;
         }
         DirectiveADTypeFilter adTypeFilter = null;
         for (int i = 0; i < filter.Filters.Length; i++)
         {
             if (filter.Filters[i] is DirectiveADTypeFilter)
             {
                 adTypeFilter = (DirectiveADTypeFilter)filter.Filters[i];
                 break;
             }
         }
         if (adTypeFilter != null)
         {
             if (adTypeFilter.ADType == ADType.Airframe)
             {
                 checkBoxAP.Checked = false;
             }
             else
             {
                 checkBoxAF.Checked = false;
             }
         }
     }
 }
コード例 #14
0
 ///<summary>
 /// Создаёт элемент управления для работы со списком директив <see cref="EngineeringOrderDirective"/>
 ///</summary>
 ///<param name="parentBaseDetail">Базовый агрегат, к которому принадлежат директивы</param>
 public EngineeringOrdersDirectiveListScreen(BaseDetail parentBaseDetail)
 {
     if (parentBaseDetail == null)
     {
         throw new ArgumentNullException("parentBaseDetail");
     }
     ((DispatcheredEngeneeringOrdersDirectiveListScreen)this).InitComplition += EngineeringOrdersDirectiveListScreen_InitComplition;
     CASClipboard.Instance.ClipboardContentsChanged += ClipboardContentsChanged;
     permissionForCreate   = DirectiveCollection.HasAccess(Users.CurrentUser.Role, DataEvent.Create);
     permissionForDelete   = DirectiveCollection.HasAccess(Users.CurrentUser.Role, DataEvent.Remove);
     permissionForUpdate   = DirectiveCollection.HasAccess(Users.CurrentUser.Role, DataEvent.Update);
     this.parentBaseDetail = parentBaseDetail;
     directiveFilter       = new DirectiveCollectionFilter(new DirectiveFilter[1] {
         new EngeneeringOrderFilter()
     });
     InitializeComponent();
     SetToolStripMenuItems();
     HookWorkPackageEvents();
     UpdateScreen();
 }
コード例 #15
0
        /// <summary>
        /// Выборка всех подходящих директив
        /// </summary>
        /// <returns></returns>
        public BaseDetailDirective[] GatherDirectives()
        {
            List <DirectiveFilter> filters = new List <DirectiveFilter>();

            filters.Add(directiveSelectionFilter);
            filters.Add(discrepanciesFilter);
            if (additionalFilter != null)
            {
                filters.AddRange(additionalFilter.Filters);
            }
            if (directiveContainer != null)
            {
                DirectiveCollectionFilter filter     = new DirectiveCollectionFilter(directiveContainer.AllDirectives, filters.ToArray());
                BaseDetailDirective[]     directives = filter.GatherDirectives();
                count = directives.Length;
                return(directives);
            }
            count = 0;
            return(new BaseDetailDirective[0]);
        }
コード例 #16
0
        /// <summary>
        /// Создается элемент - отображение директив заданного ВС
        /// </summary>
        /// <param name="currentItem"></param>
        protected DispatcheredDirectivesView(IDirectiveContainer currentItem)
        {
            DirectiveCollectionFilter filter = new DirectiveCollectionFilter(currentItem.Directives, GetCollectionFilters());

            DirectiveListControl control = null;

            if (currentItem is Aircraft)
            {
                control = new DirectiveListControl((Aircraft)currentItem, filter, ReportTitileText);
            }
            if (currentItem is BaseDetail)
            {
                control = new DirectiveListControl((BaseDetail)currentItem, filter, ReportTitileText, DirectiveDefaultType);
            }
            if (control != null)
            {
                control.ReportBuilder = CreateReportBuilder();
                control.ReportText    = ReportTitileText;
                control.Dock          = DockStyle.Fill;
                Controls.Add(control);
                Dock = DockStyle.Fill;
            }
        }
コード例 #17
0
 /// <summary>
 /// Создается коллекция настроек элементов отображения отклонений базового агрегата
 /// </summary>
 /// <param name="discrepanciesFilter"></param>
 /// <param name="additionalFilter"></param>
 /// <returns></returns>
 public static DirectivesDiscrepanciesSettings[] CreateBaseDetailSettings(DirectiveFilter discrepanciesFilter, DirectiveCollectionFilter additionalFilter)
 {
     return(new DirectivesDiscrepanciesSettings[]
     {
         new DirectivesDiscrepanciesSettings("AD Status", new ADStatusFilter(), discrepanciesFilter,
                                             additionalFilter),
         new DirectivesDiscrepanciesSettings("Engineering Orders", new EngeneeringOrderFilter(),
                                             discrepanciesFilter, additionalFilter),
         new DirectivesDiscrepanciesSettings("SB Status", new SBStatusFilter(), discrepanciesFilter,
                                             additionalFilter)
     });
 }
コード例 #18
0
 ///<summary>
 /// Создается элемент отображения коллекции директив базового агрегата
 ///</summary>
 ///<param name="currentBaseDetail"></param>
 ///<exception cref="ArgumentNullException"></exception>
 ///<param name="viewFilter"></param>
 ///<param name="reportText"></param>
 public DirectiveListViewer(BaseDetail currentBaseDetail, DirectiveCollectionFilter viewFilter, string reportText) : this(currentBaseDetail, viewFilter, reportText, null)
 {
 }
コード例 #19
0
 private void filterSelection_ApplyFilter(object sender, EventArgs e)
 {
     additionalFilter = filterSelection.GetDirectiveCollectionFilter();
     UpdateDirectives();
 }
コード例 #20
0
 private void filterSelection_ApplyFilter(DirectiveCollectionFilter filter)
 {
     additionalFilter = filter;
     UpdateDirectives();
 }
コード例 #21
0
 /// <summary>
 /// Создается элемент управления - отображения коллекции отклонений по директивам
 /// </summary>
 /// <param name="directiveSelectionFilter"></param>
 /// <param name="discrepanciesFilter"></param>
 /// <param name="directiveContainer"></param>
 public DirectivesDiscrepancies(DirectiveCollectionFilter directiveSelectionFilter, DirectiveCollectionFilter discrepanciesFilter, IDirectiveContainer directiveContainer) : this()
 {
     this.directiveSelectionFilter = directiveSelectionFilter;
     this.discrepanciesFilter      = discrepanciesFilter;
     this.directiveContainer       = directiveContainer;
 }
 /// <summary>
 /// —оздаЄт элемент управлени¤ дл¤ работы со списком директив <see cref="EngineeringOrderDirective"/>
 /// </summary>
 ///<param name="parentBaseDetail">Ѕазовый агрегат, к которому принадлежат директивы</param>
 ///<param name="directiveFilter">‘ильтр</param>
 public DispatcheredEngeneeringOrderDirectiveListScreen(BaseDetail parentBaseDetail, DirectiveCollectionFilter directiveFilter) : base(parentBaseDetail, directiveFilter)
 {
     Dock = DockStyle.Fill;
 }
コード例 #23
0
 /// <summary>
 /// Отображение директив для всего ВС
 /// </summary>
 /// <param name="currentItem">ВС, для которого отображаются директивы</param>
 /// <param name="additionalFilter">Дополнительный фильтр</param>
 public DispatcheredADStatusView(Aircraft currentItem, DirectiveCollectionFilter additionalFilter)
     : base(currentItem, additionalFilter)
 {
 }
コード例 #24
0
 /// <summary>
 /// Создается элемент - отображение директив заданного ВС
 /// </summary>
 /// <param name="currentItem"></param>
 /// <param name="additionalFilter">Дополнительный фильтр</param>
 protected DispatcheredDirectivesView(IDirectiveContainer currentItem, DirectiveCollectionFilter additionalFilter)
 {
     this.additionalFilter = additionalFilter;
     Initialize(currentItem);
     InitComplition += DispatcheredDirectivesView_InitComplition;
 }
コード例 #25
0
 /// <summary>
 /// Создается элемент - отображение директив заданного ВС
 /// </summary>
 /// <param name="currentItem"></param>
 /// <param name="additionalFilter">Дополнительный фильтр</param>
 protected DispatcheredDirectivesView(Aircraft currentItem, DirectiveCollectionFilter additionalFilter) : this(currentItem as IDirectiveContainer, additionalFilter)
 {
     this.currentItem = currentItem;
 }
コード例 #26
0
 /// <summary>
 /// Создается элемент управления - отображения коллекции отклонений по директивам
 /// </summary>
 /// <param name="directiveSelectionFilter"></param>
 /// <param name="directiveContainer"></param>
 public DirectivesDiscrepanciesControl(DirectiveCollectionFilter directiveSelectionFilter, IDirectiveContainer directiveContainer)
 {
     this.directiveSelectionFilter = directiveSelectionFilter;
     this.directiveContainer       = directiveContainer;
 }
コード例 #27
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="caption"></param>
 /// <param name="selectionFilter"></param>
 /// <param name="discrepanciesFilter"></param>
 /// <param name="additionalFilter"></param>
 public DirectivesDiscrepanciesSettings(string caption, DirectiveFilter selectionFilter, DirectiveFilter discrepanciesFilter, DirectiveCollectionFilter additionalFilter) : this(caption, selectionFilter, discrepanciesFilter, additionalFilter, null)
 {
 }
コード例 #28
0
 /// <summary>
 /// Создается коллекция настроек элементов отображения отклонений базового агрегата
 /// </summary>
 /// <param name="discrepanciesFilter"></param>
 /// <param name="additionalFilter"></param>
 /// <returns></returns>
 public static DirectivesDiscrepanciesSettings[] CreateAircraftSettings(DirectiveFilter discrepanciesFilter, DirectiveCollectionFilter additionalFilter)
 {
     return(new DirectivesDiscrepanciesSettings[]
     {
         new DirectivesDiscrepanciesSettings("AD Status", new ADStatusFilter(), discrepanciesFilter,
                                             additionalFilter),
         new DirectivesDiscrepanciesSettings("Aging Program", new AgingProgramFilter(), discrepanciesFilter, additionalFilter),
         new DirectivesDiscrepanciesSettings("CPCP Status", new CPCPFilter(), discrepanciesFilter, additionalFilter),
         new DirectivesDiscrepanciesSettings("Deferred Items", new DeferredItemsFilter(), discrepanciesFilter, additionalFilter),
         new DirectivesDiscrepanciesSettings("Engineering Orders", new EngeneeringOrderFilter(),
                                             discrepanciesFilter, additionalFilter),
         new DirectivesDiscrepanciesSettings("Modification Status", new ModificationFilter(), discrepanciesFilter, additionalFilter),
         new DirectivesDiscrepanciesSettings("Out Off Phase Items", new OutOffPhaseFilter(), discrepanciesFilter, additionalFilter),
         new DirectivesDiscrepanciesSettings("Repair Status", new RepairFilter(), discrepanciesFilter, additionalFilter),
         new DirectivesDiscrepanciesSettings("SB Status", new SBStatusFilter(), discrepanciesFilter,
                                             additionalFilter),
         new DirectivesDiscrepanciesSettings("SSID Status", new SSIDStatusFilter(), discrepanciesFilter, additionalFilter)
     });
 }