Exemplo n.º 1
0
        private void headerControl_ButtonPrintDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
        {
            e.TypeOfReflection = ReflectionTypes.DisplayInNew;

            if (sender == _itemPrintReportListOfDocuments)
            {
                _listOfDocumentsReportBulder = new ListOfDocumentsReportBuilder(CurrentOperator, _directivesViewer.GetItemsArray());
                _listOfDocumentsReportBulder.FilterSelection = _filter;
                e.DisplayerText   = aircraftHeaderControl1.Operator.Name + "." + "List of Documents";
                e.RequestedEntity = new ReportScreen(_listOfDocumentsReportBulder);
            }
            else if (sender == _itemPrintReportNomenclature)
            {
                _nomenclatureReportBuilder = new NomenclatureReportBuilder(CurrentOperator, _directivesViewer.GetItemsArray());
                _nomenclatureReportBuilder.FilterSelection = _filter;
                e.DisplayerText   = aircraftHeaderControl1.Operator.Name + "." + "Nomenclature";
                e.RequestedEntity = new ReportScreen(_nomenclatureReportBuilder);
            }
            else if (sender == _itemPrintReportRegisterOfDocument)
            {
                _registerOfDocumentReportBuilder = new RegisterOfDocumentReportBuilder(CurrentOperator, _directivesViewer.GetItemsArray());
                _registerOfDocumentReportBuilder.FilterSelection = _filter;
                e.DisplayerText   = aircraftHeaderControl1.Operator.Name + "." + "Register of Documents";
                e.RequestedEntity = new ReportScreen(_registerOfDocumentReportBuilder);
            }
            else
            {
                _workScheduleReportBuilder = new WorkScheduleReportBuilder(CurrentOperator, _directivesViewer.GetItemsArray());
                _workScheduleReportBuilder.FilterSelection = _filter;
                e.DisplayerText   = aircraftHeaderControl1.Operator.Name + "." + "Work Schedule";
                e.RequestedEntity = new ReportScreen(_workScheduleReportBuilder);
            }
        }
Exemplo n.º 2
0
 private void LinkInternalDocuments_DisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
 {
     e.DisplayerText   = "InternalDocumentScreen";
     e.RequestedEntity = new MailListScreen(GlobalObjects.CasEnvironment.Operators[0], new MailRecords {
         DocClass = DocumentClass.InternalDoc, MailChatId = -1
     });
 }
Exemplo n.º 3
0
        private void LinkInventoryControl_DisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
        {
            var k = new Keyboard();

            if (k.ShiftKeyDown && e.TypeOfReflection == ReflectionTypes.DisplayInCurrent)
            {
                e.TypeOfReflection = ReflectionTypes.DisplayInNew;
            }
            e.DisplayerText   = "All Stores";
            e.RequestedEntity = new StoreAllScreen(GlobalObjects.CasEnvironment.Operators[0]);
        }
Exemplo n.º 4
0
        private void HeaderControlSaveButtonDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
        {
            try
            {
                string message;
                if (!ValidateData(out message))
                {
                    message += "\nAbort operation";
                    MessageBox.Show(message, new GlobalTermsProvider()["SystemName"].ToString(), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    e.Cancel = true;
                    return;
                }

                AddNewDetail();
                var dp = ScreenAndFormManager.GetComponentScreen(_addedComponent);
                e.SetParameters(dp);
                e.TypeOfReflection = ReflectionTypes.DisplayInNewWithCloseCurrent;
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while saving data", ex);
                e.Cancel = true;
            }
        }
Exemplo n.º 5
0
 private void LinkRecords_DisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
 {
     e.DisplayerText   = "MailChatScreen";
     e.RequestedEntity = new MailChatListScreen(GlobalObjects.CasEnvironment.Operators[0]);
 }
Exemplo n.º 6
0
 private void ReferenceLinkLabelComponentsDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
 {
     e.DisplayerText   = _currentComponent + ". Component Status";
     e.RequestedEntity = new ComponentsListScreen(_currentComponent, MaintenanceControlProcess.Items.ToArray(), false);
 }
Exemplo n.º 7
0
 private void ReferenceLinkLabelBaseDetailDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
 {
     e.DisplayerText   = $"{_currentComponent.GetParentAircraftRegNumber()}. Component SN {_currentComponent.SerialNumber}";
     e.RequestedEntity = new ComponentScreenNew(_currentComponent);
 }
Exemplo n.º 8
0
        private void HeaderControlButtonPrintDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
        {
            if (sender == itemPrintReportGeneralData)
            {
                AircraftGeneralDataReportBuilder builder = new AircraftGeneralDataReportBuilder();
                string caption = CurrentAircraft.RegistrationNumber + "." + "General data report";
                builder.ReportedAircraft           = CurrentAircraft;
                builder.LifelengthAircraftSinceNew =
                    GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(CurrentAircraft);
                e.DisplayerText    = caption;
                e.TypeOfReflection = ReflectionTypes.DisplayInNew;
                e.RequestedEntity  = new ReportScreen(builder);
                GlobalObjects.AuditRepository.WriteReportAsync(GlobalObjects.CasEnvironment.IdentityUser, "AircraftGeneralDaraScreen (Aircraft General Data)");
            }
            else if (sender == itemPrintReportTechnicalCondition)
            {
                var maintenanceChecks = GlobalObjects.MaintenanceCore.GetMaintenanceCheck(CurrentAircraft, true);
                var workPackages      = GlobalObjects.WorkPackageCore.GetWorkPackagesLite(CurrentAircraft, WorkPackageStatus.Closed, maintenanceChecks.Select(m => (IDirective)m).ToList());

                var minCCheck =
                    maintenanceChecks.Where(mc => mc.CheckType.ShortName == "C" &&
                                            mc.Schedule &&
                                            mc.Grouping &&
                                            mc.Resource == LifelengthSubResource.Hours)
                    .OrderBy(mc => mc.Interval.GetSubresource(LifelengthSubResource.Hours))
                    .FirstOrDefault();

                var lastCCheckRecord =
                    maintenanceChecks.Where(mc => mc.CheckType.ShortName == "C" &&
                                            mc.Schedule &&
                                            mc.Grouping &&
                                            mc.Resource == LifelengthSubResource.Hours)
                    .SelectMany(mc => mc.PerformanceRecords)
                    .Where(pr => pr.RecordDate.Date <= DateTime.Now)
                    .OrderByDescending(pr => pr.RecordDate)
                    .FirstOrDefault();

                var lastACheckRecord =
                    maintenanceChecks.Where(mc => mc.CheckType.ShortName == "A" &&
                                            mc.Schedule &&
                                            mc.Grouping &&
                                            mc.Resource == LifelengthSubResource.Hours)
                    .SelectMany(mc => mc.PerformanceRecords)
                    .Where(pr => pr.RecordDate.Date <= DateTime.Now)
                    .OrderByDescending(pr => pr.RecordDate)
                    .FirstOrDefault();

                if (lastCCheckRecord != null)
                {
                    if (lastACheckRecord.NumGroup == lastCCheckRecord.NumGroup)
                    {
                        lastACheckRecord = null;
                    }
                }

                var dCheckRecords =
                    maintenanceChecks.Where(mc => mc.CheckType.ShortName == "D")
                    .SelectMany(mc => mc.PerformanceRecords)
                    .ToList();

                var maintenanceCheckRecordGroups = new List <MaintenanceCheckRecordGroup>();

                foreach (MaintenanceCheckRecord record in dCheckRecords)
                {
                    //Поиск коллекции групп, в которую входят группы с нужными критериями
                    //по плану, группировка и основному ресурсу
                    if (record.ParentCheck.Grouping)
                    {
                        MaintenanceCheckRecordGroup recordGroup = maintenanceCheckRecordGroups
                                                                  .FirstOrDefault(g => g.Schedule == record.ParentCheck.Schedule &&
                                                                                  g.Grouping == record.ParentCheck.Grouping &&
                                                                                  g.Resource == record.ParentCheck.Resource &&
                                                                                  g.GroupComplianceNum == record.NumGroup);
                        if (recordGroup != null)
                        {
                            //Коллекция найдена
                            //Поиск в ней группы чеков с нужным типом
                            recordGroup.Records.Add(record);
                        }
                        else
                        {
                            //Коллекции с нужными критериями нет
                            //Созадние и добавление
                            recordGroup =
                                new MaintenanceCheckRecordGroup(record.ParentCheck.Schedule, record.ParentCheck.Grouping,
                                                                record.ParentCheck.Resource, record.NumGroup);
                            recordGroup.Records.Add(record);
                            maintenanceCheckRecordGroups.Add(recordGroup);
                        }
                    }
                    else
                    {
                        MaintenanceCheckRecordGroup recordGroup =
                            new MaintenanceCheckRecordGroup(record.ParentCheck.Schedule, record.ParentCheck.Grouping,
                                                            record.ParentCheck.Resource);
                        recordGroup.Records.Add(record);
                        maintenanceCheckRecordGroups.Add(recordGroup);
                    }
                }

                AircraftTechnicalConditionReportBuilder reportBuilder =
                    new AircraftTechnicalConditionReportBuilder(CurrentAircraft,
                                                                minCCheck,
                                                                GlobalObjects.ComponentCore.GetAicraftBaseComponents(CurrentAircraft.ItemId),
                                                                lastACheckRecord,
                                                                lastCCheckRecord,
                                                                workPackages,
                                                                maintenanceCheckRecordGroups.Count);

                e.TypeOfReflection = ReflectionTypes.DisplayInNew;
                e.DisplayerText    = CurrentAircraft.RegistrationNumber + " Operation Time Report";
                e.RequestedEntity  = new ReportScreen(reportBuilder);
                GlobalObjects.AuditRepository.WriteReportAsync(GlobalObjects.CasEnvironment.IdentityUser, "AircraftGeneralDaraScreen (Technical Condition)");
            }
            else
            {
                e.Cancel = true;
            }
        }
Exemplo n.º 9
0
        private void HeaderControlPrintButtonDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e)
        {
            BaseComponent baseComponent;
            Operator      reportedOperator;
            var           reportedDetail = _currentComponent;
            var           directiveList  = new List <ComponentDirective>(_currentComponent.ComponentDirectives.ToArray());

            if (_currentComponent is BaseComponent)
            {
                baseComponent = (BaseComponent)_currentComponent;

                var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(baseComponent.ParentAircraftId);
                var parentStore    = GlobalObjects.StoreCore.GetStoreById(baseComponent.ParentStoreId);

                reportedOperator = parentAircraft != null
                                ? GlobalObjects.CasEnvironment.Operators.First(o => o.ItemId == parentAircraft.OperatorId)
                                : parentStore.Operator;
            }
            else
            {
                baseComponent = _currentComponent.ParentBaseComponent;        //TODO:(Evgenii Babak) заменить на использование ComponentCore
                if (baseComponent == null)
                {
                    return;
                }

                var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(baseComponent.ParentAircraftId);
                var parentStore    = GlobalObjects.StoreCore.GetStoreById(baseComponent.ParentStoreId);

                reportedOperator = parentAircraft != null
                                ? GlobalObjects.CasEnvironment.Operators.First(o => o.ItemId == parentAircraft.OperatorId)
                                : parentStore.Operator;
            }

            var caption = $"{DestinationHelper.GetDestinationObjectString(baseComponent)}. Compliance List";

            if (sender == _itemPrintReportEngineRecords)
            {
                var selection = "";
                var header    = "";
                var trust     = "";

                if (baseComponent.BaseComponentType == BaseComponentType.Frame)
                {
                    selection = "All";
                    header    = "FRAME";
                }

                if (baseComponent.BaseComponentType == BaseComponentType.LandingGear)
                {
                    selection = baseComponent.TransferRecords.GetLast().Position;
                    header    = "LANDING GEAR";
                }

                if (baseComponent.BaseComponentType == BaseComponentType.Engine)
                {
                    selection = BaseComponentType.Engine + " " + baseComponent.TransferRecords.GetLast().Position;
                    header    = "ENGINE";
                    trust     = $"Thrust: {baseComponent.Thrust}";
                }

                if (baseComponent.BaseComponentType == BaseComponentType.Apu)
                {
                    selection = BaseComponentType.Apu.ToString();
                    header    = "APU";
                }

                var builder = new ComponentTasksReportBuilderNew(header, trust);
                e.DisplayerText           = caption;
                e.TypeOfReflection        = ReflectionTypes.DisplayInNew;
                builder.DateAsOf          = DateTime.Today.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
                builder.ReportedComponent = reportedDetail;
                builder.OperatorLogotype  = reportedOperator.LogoTypeWhite;
                builder.FilterSelection   = selection;
                builder.AddDirectives(directiveList.ToArray());
                builder.ForecastData = null;
                e.RequestedEntity    = new ReportScreen(builder);
            }
            else
            {
                var builder = new ComponentTasksReportBuilder();

                e.DisplayerText    = caption;
                e.TypeOfReflection = ReflectionTypes.DisplayInNew;

                builder.DateAsOf          = DateTime.Today.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
                builder.ReportedComponent = reportedDetail;
                builder.OperatorLogotype  = reportedOperator.LogoTypeWhite;
                if (baseComponent.BaseComponentType == BaseComponentType.Frame)
                {
                    var selection = "All";
                    builder.FilterSelection = selection;
                    builder.AddDirectives(directiveList.ToArray());
                    builder.ForecastData = null;
                    e.RequestedEntity    = new ReportScreen(builder);
                }
                else
                {
                    var selection = "";
                    if (baseComponent.BaseComponentType == BaseComponentType.LandingGear)
                    {
                        selection = baseComponent.TransferRecords.GetLast().Position;
                    }
                    if (baseComponent.BaseComponentType == BaseComponentType.Engine)
                    {
                        selection = BaseComponentType.Engine + " " + baseComponent.TransferRecords.GetLast().Position;
                    }
                    if (baseComponent.BaseComponentType == BaseComponentType.Apu)
                    {
                        selection = BaseComponentType.Apu.ToString();
                    }
                    builder.LifelengthAircraftSinceNew =
                        GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(CurrentAircraft);
                    builder.FilterSelection = selection;
                    builder.AddDirectives(directiveList.ToArray());
                    builder.ForecastData = null;
                    e.RequestedEntity    = new ReportScreen(builder);
                }
            }
        }