Exemple #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;
        }
Exemple #2
0
        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);
        }
Exemple #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);
                }
            }
        }
Exemple #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;
 }
Exemple #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();
 }
Exemple #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());
        }
Exemple #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();
 }
Exemple #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());
        }
Exemple #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);
        }
Exemple #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);
        }
        /// <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()
            });
        }
Exemple #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);
         }
     }
 }
Exemple #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;
             }
         }
     }
 }
Exemple #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();
 }
Exemple #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]);
        }
        /// <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;
            }
        }
Exemple #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)
     });
 }
Exemple #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)
 {
 }
Exemple #19
0
 private void filterSelection_ApplyFilter(object sender, EventArgs e)
 {
     additionalFilter = filterSelection.GetDirectiveCollectionFilter();
     UpdateDirectives();
 }
Exemple #20
0
 private void filterSelection_ApplyFilter(DirectiveCollectionFilter filter)
 {
     additionalFilter = filter;
     UpdateDirectives();
 }
 /// <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;
 }
Exemple #23
0
 /// <summary>
 /// Отображение директив для всего ВС
 /// </summary>
 /// <param name="currentItem">ВС, для которого отображаются директивы</param>
 /// <param name="additionalFilter">Дополнительный фильтр</param>
 public DispatcheredADStatusView(Aircraft currentItem, DirectiveCollectionFilter additionalFilter)
     : base(currentItem, additionalFilter)
 {
 }
Exemple #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;
 }
Exemple #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;
 }
Exemple #26
0
 /// <summary>
 /// Создается элемент управления - отображения коллекции отклонений по директивам
 /// </summary>
 /// <param name="directiveSelectionFilter"></param>
 /// <param name="directiveContainer"></param>
 public DirectivesDiscrepanciesControl(DirectiveCollectionFilter directiveSelectionFilter, IDirectiveContainer directiveContainer)
 {
     this.directiveSelectionFilter = directiveSelectionFilter;
     this.directiveContainer       = directiveContainer;
 }
Exemple #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)
 {
 }
Exemple #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)
     });
 }