Esempio n. 1
0
        /// <summary>
        /// Возвращает DisplayerParams для MaintenanceDirective
        /// </summary>
        public static DisplayerParams GetMaintenanceDirectiveScreen(MaintenanceDirective mpd)
        {
            string   regNumber;
            Aircraft parentAircraft = null;

            if (mpd.ParentBaseComponent.LastDestinationObjectType == SmartCoreType.Aircraft)
            {
                parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(mpd.ParentBaseComponent.LastDestinationObjectId);
            }
            if (mpd.ParentBaseComponent.BaseComponentType == BaseComponentType.Frame)
            {
                regNumber = mpd.ParentBaseComponent.GetParentAircraftRegNumber();
            }
            else
            {
                if (parentAircraft != null)
                {
                    regNumber = $"{parentAircraft.RegistrationNumber}. {mpd.ParentBaseComponent}";
                }
                else
                {
                    regNumber = mpd.ParentBaseComponent.ToString();
                }
            }
            regNumber += $". MPD. {mpd.WorkType.CommonName}. {mpd.TaskNumberCheck}";

            return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, regNumber, new MaintenanceDirectiveScreen(mpd)));
        }
Esempio n. 2
0
        /// <summary>
        /// Возвращает DisplayerParams для ComponentDirective
        /// </summary>
        public static DisplayerParams GetComponentDirectiveScreen(ComponentDirective componentDirective)
        {
            string pagecaption;

            if (componentDirective.ParentComponent != null)
            {
                //TODO:(Evgenii Babak) Пересмотреть подход здесь

                if (componentDirective.ParentComponent.ParentAircraftId > 0)
                {
                    pagecaption = $"{DestinationHelper.GetDestinationStringFromAircraft(componentDirective.ParentComponent.ParentAircraftId, false, null)}. Component PN {componentDirective.ParentComponent.PartNumber}";
                }
                else if (componentDirective.ParentComponent.ParentStoreId > 0)
                {
                    var parentStore = GlobalObjects.StoreCore.GetStoreById(componentDirective.ParentComponent.ParentStoreId);
                    pagecaption = $"{parentStore.Name}. Component PN {componentDirective.ParentComponent.PartNumber}";
                }
                else if (componentDirective.ParentBaseComponent != null)
                {
                    pagecaption = $"Component PN {componentDirective.ParentComponent.ParentBaseComponent.PartNumber}";                    //TODO:(Evgenii Babak) заменить на использование ComponentCore
                }
                else
                {
                    pagecaption = $"Component PN {componentDirective.ParentComponent.PartNumber}";
                }

                return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, pagecaption, new ComponentScreenNew(componentDirective.ParentComponent)));
            }

            throw new NullReferenceException("ComponentDirective.ParentComponent is null");
        }
Esempio n. 3
0
        /// <summary>
        /// Возвращает DisplayerParams для Component
        /// </summary>
        public static DisplayerParams GetComponentScreen(Component component)
        {
            if (component.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.MaintenanceMaterials) ||
                component.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.Tools) ||
                component.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.Tools) ||
                component.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.Unknown))
            {
                return(null);
            }

            string pagecaption;
            //TODO:(Evgenii Babak) Пересмотреть подход здесь
            var parentStore = GlobalObjects.StoreCore.GetStoreById(component.ParentStoreId);

            if (component.ParentAircraftId > 0)
            {
                pagecaption = $"{component.GetParentAircraftRegNumber()}. Component PN {component.PartNumber}";
            }
            else if (parentStore != null)
            {
                pagecaption = $"{parentStore.Name}. Component PN {component.PartNumber}";
            }
            else if (component.ParentBaseComponent != null)
            {
                pagecaption = $"Component PN {component.ParentBaseComponent.PartNumber}";                //TODO:(Evgenii Babak) заменить на использование ComponentCore
            }
            else
            {
                pagecaption = $"Component PN {component.PartNumber}";
            }

            return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, pagecaption, new ComponentScreenNew(component)));
        }
Esempio n. 4
0
        private void OpenItemClick(object sender, EventArgs e)
        {
            var refE         = new ReferenceEventArgs();
            var selectedItem = _directivesViewer.SelectedItem;

            var period = $"{selectedItem.From:dd-MMMM-yyyy} - {selectedItem.To:dd-MMMM-yyyy}";

            var dp = DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, period, new FlightPlanOpsRecordListScreen(GlobalObjects.CasEnvironment.Operators[0], selectedItem));

            refE.SetParameters(dp);

            InvokeDisplayerRequested(refE);
        }
Esempio n. 5
0
        private void ButtonRevisionsClick(object sender, EventArgs e)
        {
            var refE = new ReferenceEventArgs();
            var dp   = new DisplayerParams()
            {
                Page             = new EditionRevisionListScreen(GlobalObjects.CaaEnvironment.Operators.FirstOrDefault(), _operatorId, _manual),
                TypeOfReflection = ReflectionTypes.DisplayInNew,
                PageCaption      = $"Edition/Revision : {_manual.ProgramType}",
                DisplayerType    = DisplayerType.Screen
            };

            refE.SetParameters(dp);
            InvokeDisplayerRequested(refE);
        }
Esempio n. 6
0
        private void ToolStripMenuItemOpenClick(object sender, EventArgs e)
        {
            var refE = new ReferenceEventArgs();
            var dp   = new DisplayerParams()
            {
                Page             = new EditionRevisionRecordListScreen(GlobalObjects.CaaEnvironment.Operators[0], _directivesViewer.SelectedItem, _operatorId, _manual),
                TypeOfReflection = ReflectionTypes.DisplayInNew,
                PageCaption      = $"{_directivesViewer.SelectedItem.Type} : {_directivesViewer.SelectedItem.Number} {_manual.ProgramType}",
                DisplayerType    = DisplayerType.Screen
            };

            refE.SetParameters(dp);
            InvokeDisplayerRequested(refE);
        }
Esempio n. 7
0
 private void ToolStripMenuItemOpenClick(object sender, EventArgs e)
 {
     if (_directivesViewer.SelectedItem != null)
     {
         var refE = new ReferenceEventArgs();
         var dp   = new DisplayerParams()
         {
             Page             = new CheckListsScreen(GlobalObjects.CaaEnvironment.Operators.FirstOrDefault(), _operatorId, CheckListType.Routine, _directivesViewer.SelectedItem.ItemId),
             TypeOfReflection = ReflectionTypes.DisplayInNew,
             PageCaption      = $"Routine Audit: {_directivesViewer.SelectedItem.Title}",
             DisplayerType    = DisplayerType.Screen
         };
         refE.SetParameters(dp);
         InvokeDisplayerRequested(refE);
     }
 }
Esempio n. 8
0
        /// <summary>
        /// Возвращает DisplayerParams для Directive
        /// </summary>
        public static DisplayerParams GetDirectiveScreen(Directive directive)
        {
            var pagecaption = $"{directive.ParentBaseComponent.GetParentAircraftRegNumber()} {directive.Title}";

            if (directive is DeferredItem)
            {
                return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, pagecaption, new DeferredScreen((DeferredItem)directive)));
            }
            else if (directive is DamageItem)
            {
                return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, pagecaption, new DamageDirectiveScreen((DamageItem)directive)));
            }
            else if (directive.DirectiveType == DirectiveType.OutOfPhase)
            {
                return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, pagecaption, new OutOfPhaseReferenceScreen(directive)));
            }
            else
            {
                return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, pagecaption, new DirectiveScreen(directive)));
            }
        }
Esempio n. 9
0
        private void ToolStripMenuItemOpenClick(object sender, EventArgs e)
        {
            ComponentCollection selected = new ComponentCollection();

            foreach (BaseEntityObject o in _directivesViewer.SelectedItems)
            {
                if (o is ComponentDirective)
                {
                    selected.CompareAndAdd(((ComponentDirective)o).ParentComponent);
                }
                if (o is Component)
                {
                    selected.CompareAndAdd((Component)o);
                }
            }

            foreach (Component t in selected)
            {
                var             refE      = new ReferenceEventArgs();
                DisplayerParams dp        = null;
                string          regNumber = "";
                if (t is BaseComponent)
                {
                    if (((BaseComponent)t).BaseComponentType.ItemId == 4)
                    {
                        regNumber = t.ToString();
                    }
                    else
                    {
                        dp = ScreenAndFormManager.GetBaseComponentScreen((BaseComponent)t);
                    }
                }
                else
                {
                    dp = ScreenAndFormManager.GetComponentScreen(t);
                }
                refE.SetParameters(dp);
                InvokeDisplayerRequested(refE);
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Возвращает DisplayerParams для BaseComponent
        /// </summary>
        public static DisplayerParams GetBaseComponentScreen(BaseComponent baseComponent)
        {
            string pagecaption;

            //TODO:(Evgenii Babak) Пересмотреть подход здесь
            var parentStore = GlobalObjects.StoreCore.GetStoreById(baseComponent.ParentStoreId);

            if (baseComponent.ParentAircraftId > 0)
            {
                pagecaption = $"{baseComponent.GetParentAircraftRegNumber()} {baseComponent.BaseComponentType}. Component PN {baseComponent.PartNumber}";
            }
            else if (parentStore != null)
            {
                pagecaption = $"{parentStore.Name}. Component PN {baseComponent.PartNumber}";
            }
            else
            {
                pagecaption = $"Component PN {baseComponent.PartNumber}";
            }

            return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, pagecaption, new ComponentScreenNew(baseComponent)));
        }
Esempio n. 11
0
        public static DisplayerParams GetEditScreenOrForm(BaseEntityObject forObject)
        {
            if (forObject == null)
            {
                throw new ArgumentNullException(nameof(forObject), "Is null");
            }

            var dp = GetEditScreenInternal(forObject);

            if (dp != null)
            {
                return(dp);
            }

            var form = GetEditFormInternal(forObject);

            if (form != null)
            {
                return(DisplayerParams.CreateFormParams(form));
            }

            throw new NotSupportedException($"Page of Form not found for {forObject}");
        }
Esempio n. 12
0
        /// <summary>
        /// Возвращает DisplayerParams для MaintenanceCheck
        /// </summary>
        public static DisplayerParams GetMaintenanceCheckScreen(MaintenanceCheck maintenanceCheck)
        {
            string pagecaption = maintenanceCheck.ParentAircraft.RegistrationNumber + ". Maintenance Program";

            return(DisplayerParams.CreateScreenParams(ReflectionTypes.DisplayInNew, pagecaption, new MaintenanceScreen(maintenanceCheck.ParentAircraft)));
        }