Esempio n. 1
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load directives");


            if (_operatorId == -1)
            {
                _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                               .GetObjectListAll <FindingLevelsDTO, FindingLevels>());
            }
            else
            {
                _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                               .GetObjectListAll <FindingLevelsDTO, FindingLevels>(new Filter("OperatorId", _operatorId)));
            }

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 2
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            _updateChecks.Clear();
            _updateChecks.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <PelSpecialistDTO, PelSpecialist>(new Filter("AuditId", _auditId)));

            foreach (var rec in _updateChecks)
            {
                rec.Specialist = _specialists.FirstOrDefault(i => i.ItemId == rec.SpecialistId);
            }

            var ids = _updateChecks.Select(i => i.SpecialistId);

            if (ids.Any())
            {
                _addedChecks.AddRange(_specialists.Where(q => !ids.Contains(q.ItemId)).Select(i => new PelSpecialist
                {
                    SpecialistId = i.ItemId,
                    Specialist   = i,
                    AuditId      = _auditId
                }));
            }
            else
            {
                _addedChecks.AddRange(_specialists.Select(i => new PelSpecialist
                {
                    SpecialistId = i.ItemId,
                    Specialist   = i,
                    AuditId      = _auditId
                }));
            }
        }
Esempio n. 3
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDirectiveArray.Clear();
            _resultDirectiveArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load Work Packages");

            if (_flag)
            {
                _initialDirectiveArray.AddRange(GlobalObjects.WorkPackageCore.GetWorkPackages(null, WorkPackageStatus.Opened).ToArray());
                _initialDirectiveArray.AddRange(GlobalObjects.WorkPackageCore.GetWorkPackages(null, WorkPackageStatus.Published).ToArray());
            }
            else
            {
                _initialDirectiveArray.AddRange(GlobalObjects.WorkPackageCore.GetWorkPackages().ToArray());
            }


            var airports  = GlobalObjects.CasEnvironment.GetDictionary <AirportsCodes>();
            var flightNum = GlobalObjects.CasEnvironment.GetDictionary <FlightNum>();

            foreach (var wp in _initialDirectiveArray)
            {
                wp.PerfAfter.AirportFrom = (AirportsCodes)airports.GetItemById(wp.PerfAfter.AirportFromId);
                wp.PerfAfter.AirportTo   = (AirportsCodes)airports.GetItemById(wp.PerfAfter.AirportToId);
                wp.PerfAfter.FlightNum   = (FlightNum)flightNum.GetItemById(wp.PerfAfter.FlightNumId);
            }

            AnimatedThreadWorker.ReportProgress(30, "calculation Work Packages");

            if (AnimatedThreadWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            foreach (WorkPackage workPackage in _initialDirectiveArray)
            {
                //if(workPackage.Status != WorkPackageStatus.Closed)
                //    GlobalObjects.CasEnvironment.Manipulator.GetWorkPackageItemsWithCalculate(workPackage);
                workPackage.AircraftCurrentLifelenght =
                    GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(workPackage.Aircraft);
            }


            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            if (AnimatedThreadWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            FilterItems(_initialDirectiveArray, _resultDirectiveArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 4
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _workPackages.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load WorkPackages");

            _workPackages.AddRange(GlobalObjects.WorkPackageCore.GetWorkPackages(status: WorkPackageStatus.Opened));
            _workPackages.AddRange(GlobalObjects.WorkPackageCore.GetWorkPackages(status: WorkPackageStatus.Published));

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            if (_currentDirectivePackage == null)
            {
                e.Cancel = true;
                return;
            }

            if (_itemsForSelect == null)
            {
                _itemsForSelect = new CommonCollection <BaseEntityObject>();
            }
            _itemsForSelect.Clear();

            _animatedThreadWorker.ReportProgress(0, "load binded tasks");

            try
            {
                _itemsForSelect.AddRange(GlobalObjects.DirectiveCore.GetDirectivesByDirectiveType(DirectiveType.AirworthenessDirectives.ItemId).ToArray());
                _itemsForSelect.AddRange(GlobalObjects.ComponentCore.GetComponents().ToArray());
                _itemsForSelect.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <MaintenanceDirectiveDTO, MaintenanceDirective>().ToArray());
                _itemsForSelect.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <MaintenanceCheckDTO, MaintenanceCheck>().ToArray());
                _itemsForSelect.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <NonRoutineJobDTO, NonRoutineJob>().ToArray());

                foreach (BaseDirectivePackageRecord pr in _currentDirectivePackage.PackageRecords.OfType <BaseDirectivePackageRecord>())
                {
                    _itemsForSelect.Remove(_itemsForSelect.FirstOrDefault(i => i.SmartCoreObjectType == pr.PackageItemType && i.ItemId == pr.DirectiveId));
                }
                //Определение списка привязанных задач и компонентов
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while load Items For Select for Directive Package Form", ex);
            }

            if (_animatedThreadWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            _animatedThreadWorker.ReportProgress(75, "calculate directives for select");

            if (_animatedThreadWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            _animatedThreadWorker.ReportProgress(100, "binding complete");
        }
Esempio n. 6
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load directives");


            if (_operatorId == -1)
            {
                _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                               .GetObjectListAll <StandartManualDTO, SmartCore.CAA.StandartManual.StandartManual>());
            }
            else
            {
                _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                               .GetObjectListAll <StandartManualDTO, SmartCore.CAA.StandartManual.StandartManual>(new Filter("OperatorId", _operatorId)));
            }


            foreach (var manual in _initialDocumentArray)
            {
                var days = (manual.Settings.ValidTo - DateTime.Today).Days;
                manual.Remains = new Lifelength(days, null, null);

                if (manual.Remains.Days < 0)
                {
                    manual.Condition = ConditionState.Overdue;
                }
                else if (manual.Remains.Days >= 0 && manual.Remains.Days <= manual.Settings.Notify)
                {
                    manual.Condition = ConditionState.Notify;
                }
                else
                {
                    manual.Condition = ConditionState.Satisfactory;
                }
            }


            AnimatedThreadWorker.ReportProgress(40, "filter directives");

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 7
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            if (_maintenanceCheck == null || _currentAircraft == null)
            {
                e.Cancel = true;
                return;
            }

            if (_bindedDirectives == null)
            {
                _bindedDirectives = new CommonCollection <MaintenanceDirective>();
            }
            _bindedDirectives.Clear();

            _animatedThreadWorker.ReportProgress(0, "load binded tasks");

            _bindedDirectives.AddRange(_maintenanceCheck.BindMpds.ToArray());
            _mpdForSelect = _allDirectives.Where(mpd => mpd.MaintenanceCheck == null);

            if (_animatedThreadWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            _animatedThreadWorker.ReportProgress(100, "binding complete");
        }
Esempio n. 8
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load");
            _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRevisionDTO, CheckListRevision>(new []
            {
                new Filter("OperatorId", _operatorId),
                new Filter("ManualId", _manual.ItemId)
            }));

            foreach (var revision in _initialDocumentArray.Where(i => i.Type == RevisionType.Revision))
            {
                revision.CurrentStatus = _initialDocumentArray.FirstOrDefault(i => i.ItemId == revision.EditionId).Status;
            }

            foreach (var edition in _initialDocumentArray.Where(i => i.Type == RevisionType.Edition))
            {
                edition.CurrentStatus = edition.Status;
            }

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 9
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            _workPackageSpecialists.Clear();

            _initialDocumentArray.Clear();
            _wpSpecialists.Clear();

            _initialDocumentArray.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <SpecialistDTO, Specialist>(loadChild: true));
            var aircraftModels = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <AccessoryDescriptionDTO, AircraftModel>(new Filter("ModelingObjectTypeId", 7));

            foreach (var specialist in _initialDocumentArray)
            {
                foreach (var license in specialist.Licenses)
                {
                    if (license.AircraftTypeID > 0)
                    {
                        license.AircraftType = aircraftModels.FirstOrDefault(a => a.ItemId == license.AircraftTypeID);
                    }
                }
            }


            _workPackageSpecialists.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <WorkPackageSpecialistsDTO, WorkPackageSpecialists>(new Filter("WorkPackageId", _currentWorkPackage.ItemId)));

            var specialistIds = _workPackageSpecialists.Select(w => w.SpecialistId).ToArray();

            if (specialistIds.Length > 0)
            {
                _wpSpecialists.AddRange(_initialDocumentArray.Where(s => specialistIds.Any(id => id == s.ItemId)));
            }


            FilterItems(_initialDocumentArray, _resultDocumentArray);
        }
Esempio n. 10
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDirectiveArray.Clear();
            _resultDirectiveArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load Work Packages");

            _initialDirectiveArray.AddRange(GlobalObjects.WorkPackageCore.GetWorkPackages(CurrentAircraft).ToArray());

            var airports  = GlobalObjects.CasEnvironment.GetDictionary <AirportsCodes>();
            var flightNum = GlobalObjects.CasEnvironment.GetDictionary <FlightNum>();

            foreach (var wp in _initialDirectiveArray)
            {
                wp.PerfAfter.AirportFrom = (AirportsCodes)airports.GetItemById(wp.PerfAfter.AirportFromId);
                wp.PerfAfter.AirportTo   = (AirportsCodes)airports.GetItemById(wp.PerfAfter.AirportToId);
                wp.PerfAfter.FlightNum   = (FlightNum)flightNum.GetItemById(wp.PerfAfter.FlightNumId);
            }

            AnimatedThreadWorker.ReportProgress(40, "filter directives");

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDirectiveArray, _resultDirectiveArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 11
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDirectiveArray.Clear();
            _resultDirectiveArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load Work Packages");

            var discrip = GlobalObjects.DiscrepanciesCore.GetDiscrepancies(@from: dateTimePickerDateFrom.Value, to: dateTimePickerDateTo.Value).ToArray();

            _initialDirectiveArray.AddRange(discrip);

            foreach (var discrepancy in _initialDirectiveArray)
            {
                discrepancy.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(discrepancy.ParentFlight.AircraftId);
            }


            AnimatedThreadWorker.ReportProgress(40, "filter directives");

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDirectiveArray, _resultDirectiveArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 12
0
        protected override async void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initial.Clear();
            _specialists.Clear();
            _result.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load documents");

            try
            {
                var userDto = GlobalObjects.CasEnvironment.ApiProvider.GetAllUsersAsync();
                _initial.AddRange(userDto.Select(i => new User(i)));

                _specialists.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectList <SpecialistDTO, Specialist>());
                foreach (var user in _initial)
                {
                    user.Personnel = _specialists.FirstOrDefault(i => i.ItemId == user.PersonnelId) ??
                                     Specialist.Unknown;
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while load documents", ex);
            }

            AnimatedThreadWorker.ReportProgress(20, "calculation documents");

            AnimatedThreadWorker.ReportProgress(70, "filter documents");
            FilterItems(_initial, _result);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 13
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load directives");

            if (_operatorId == -1)
            {
                _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                               .GetObjectListAll <CAASpecialistDTO, Specialist>(loadChild: true));
            }
            else
            {
                _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                               .GetObjectListAll <CAASpecialistDTO, Specialist>(new Filter("OperatorId", _operatorId),
                                                                                                loadChild: true));
            }

            var aircraftModels = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <AccessoryDescriptionDTO, AircraftModel>(new Filter("ModelingObjectTypeId", 7));

            foreach (var specialist in _initialDocumentArray)
            {
                foreach (var training in specialist.SpecialistTrainings)
                {
                    if (training.AircraftTypeID > 0)
                    {
                        training.AircraftType = aircraftModels.FirstOrDefault(a => a.ItemId == training.AircraftTypeID);
                    }
                }
                foreach (var license in specialist.Licenses)
                {
                    if (license.AircraftTypeID > 0)
                    {
                        license.AircraftType = aircraftModels.FirstOrDefault(a => a.ItemId == license.AircraftTypeID);
                    }
                }
            }

            AnimatedThreadWorker.ReportProgress(40, "filter directives");

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 14
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _result.Clear();
            _initial.Clear();
            var mtopDirectives = new List <IMtopCalc>();

            AnimatedThreadWorker.ReportProgress(10, "load Directives");


            var baseComponents      = GlobalObjects.ComponentCore.GetAicraftBaseComponents(CurrentAircraft.ItemId);
            var components          = GlobalObjects.ComponentCore.GetComponents(baseComponents.ToList());
            var componentDirectives = components.SelectMany(i => i.ComponentDirectives);

            var mpds = GlobalObjects.MaintenanceCore.GetMaintenanceDirectives(CurrentAircraft);

            foreach (var componentDirective in componentDirectives)
            {
                foreach (var items in componentDirective.ItemRelations.Where(i =>
                                                                             i.FirtsItemTypeId == SmartCoreType.MaintenanceDirective.ItemId ||
                                                                             i.SecondItemTypeId == SmartCoreType.MaintenanceDirective.ItemId))
                {
                    var id = componentDirective.IsFirst == true ? items.SecondItemId : items.FirstItemId;
                    componentDirective.MaintenanceDirective = mpds.FirstOrDefault(i => i.ItemId == id);
                }
            }

            var directives = GlobalObjects.DirectiveCore.GetDirectives(CurrentAircraft, DirectiveType.All);

            mtopDirectives.AddRange(mpds.Where(i => i.Status == DirectiveStatus.Open || i.Status == DirectiveStatus.Repetative));
            mtopDirectives.AddRange(directives.Where(i => i.Status == DirectiveStatus.Open || i.Status == DirectiveStatus.Repetative));
            mtopDirectives.AddRange(componentDirectives.Where(i => i.Status == DirectiveStatus.Open || i.Status == DirectiveStatus.Repetative));



            if (AnimatedThreadWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }


            AnimatedThreadWorker.ReportProgress(50, "Calculation");

            GlobalObjects.MTOPCalculator.CalculateDirectiveNew(mtopDirectives);

            _initial.AddRange(mtopDirectives.SelectMany(i => i.NextPerformances));

            FilterItems(_initial, _result);

            if (AnimatedThreadWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }
            AnimatedThreadWorker.ReportProgress(100, "Completed");
        }
Esempio n. 15
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load directives");



            if (_operatorId > 0)
            {
                _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <ConcessionRequestDTO, SmartCore.CAA.ConcessionRequest>(new Filter("From", GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId), loadChild: true));
            }
            else
            {
                _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <ConcessionRequestDTO, SmartCore.CAA.ConcessionRequest>(new Filter("To", GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId), loadChild: true));
            }

            var ids = _initialDocumentArray.Select(i => i.FromId).ToList();

            ids.AddRange(_initialDocumentArray.Select(i => i.ToId));


            var specialists = GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CAASpecialistDTO, Specialist>(new Filter("ItemId", ids.Distinct()));
            var aircraft    = GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CAAAircraftDTO, Aircraft>();


            foreach (var req in _initialDocumentArray)
            {
                req.Aircraft = aircraft.FirstOrDefault(i => i.ItemId == req.Settings.AircraftId) ?? Aircraft.Unknown;
                req.From     = specialists.FirstOrDefault(i => i.ItemId == req.FromId);
                req.To       = specialists.FirstOrDefault(i => i.ItemId == req.ToId);
                req.Current  = specialists.FirstOrDefault(i => i.ItemId == req.CurrentId);
            }


            AnimatedThreadWorker.ReportProgress(40, "filter directives");


            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 16
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load directives");


            _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                           .GetObjectListAll <CourseRecordDTO, CourseRecord>(new Filter("WorkPackageId", _wp.ItemId)));

            var ids = _initialDocumentArray.Select(i => i.ObjectId).Distinct();

            if (ids.Any())
            {
                var educationRecords = GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <EducationRecordsDTO, CAAEducationRecord>(new Filter("ItemId", ids));

                var edIds      = educationRecords.Select(i => i.EducationId);
                var educations = GlobalObjects.CaaEnvironment.NewLoader
                                 .GetObjectListAll <EducationDTO, SmartCore.CAA.CAAEducation.CAAEducation>(new Filter("ItemId", edIds), loadChild: true);

                var spIds       = educationRecords.Select(i => i.SpecialistId);
                var specialists = GlobalObjects.CaaEnvironment.NewLoader
                                  .GetObjectListAll <CAASpecialistDTO, Specialist>(new Filter("ItemId", spIds));


                foreach (var wpR in _initialDocumentArray)
                {
                    var r = educationRecords.FirstOrDefault(i => i.ItemId == wpR.ObjectId);
                    if (r == null)
                    {
                        continue;
                    }

                    r.Education = educations.FirstOrDefault(i => i.ItemId == r.EducationId);
                    EducationCalculator.CalculateEducation(r);
                    var item = new CAAEducationManagment()
                    {
                        Specialist = specialists.FirstOrDefault(i => i.ItemId == r.SpecialistId),
                        Education  = educations.FirstOrDefault(i => i.ItemId == r.EducationId),
                        Record     = r,
                    };
                    item.Occupation    = item.Education.Occupation;
                    item.IsCombination = item.Record.Settings.IsCombination;

                    wpR.Parent = item;
                }
            }

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 17
0
        ///<summary>
        ///</summary>
        public SelectMPDComplianceForm(IEnumerable <MaintenanceDirective> maintenanceDirectives)
            : this()
        {
            if (_mpdsForSelect == null)
            {
                _mpdsForSelect = new CommonCollection <MaintenanceDirective>();
            }
            _mpdsForSelect.AddRange(maintenanceDirectives);

            UpdateInformation();
        }
Esempio n. 18
0
        public PelItemForm(int auditId, int operatorId, CommonCollection <CheckLists> initialDocumentArray)
        {
            InitializeComponent();
            _auditId    = auditId;
            _operatorId = operatorId;
            _addedChecks.AddRange(initialDocumentArray.ToArray());

            _animatedThreadWorker.DoWork             += AnimatedThreadWorkerDoLoad;
            _animatedThreadWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerLoadCompleted;
            _animatedThreadWorker.RunWorkerAsync();
        }
Esempio n. 19
0
 public CheckListRevisionEditForm(int operatorId, CheckListRevision parent, CommonCollection <CheckLists> added, SmartCore.CAA.StandartManual.StandartManual manual)
 {
     _operatorId = operatorId;
     _parent     = parent;
     _manual     = manual;
     _updateChecks.AddRange(added.ToList());
     InitializeComponent();
     _animatedThreadWorker.DoWork             += AnimatedThreadWorkerDoLoad;
     _animatedThreadWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerLoadCompleted;
     _animatedThreadWorker.RunWorkerAsync();
 }
Esempio n. 20
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            _updateChecks.Clear();
            _updateChecks.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <EducationDTO, SmartCore.CAA.CAAEducation.CAAEducation>(new Filter("OperatorId", _operatorId), true));

            _addedChecks.Clear();
            _addedChecks.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <TaskDTO, SmartCore.CAA.Tasks.CAATask>(new Filter("OperatorId", _operatorId)));

            _occupation.Clear();
            var res = GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CAASpecializationDTO, Occupation>(new Filter("OperatorId", _operatorId));

            _occupation.AddRange(res);
        }
Esempio n. 21
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            _initialFlightNumberArray.Clear();

            try
            {
                var flights = GlobalObjects.AircraftFlightsCore.GetAllFlightNumbers();
                _initialFlightNumberArray.AddRange(flights.SelectMany(f => f.FlightNumberPeriod));
            }
            catch (Exception exception)
            {
                Program.Provider.Logger.Log("Error while load records", exception);
            }
        }
Esempio n. 22
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            _initialTrackArray.Clear();

            try
            {
                _initialTrackArray.AddRange(GlobalObjects.FlightTrackCore.GetAllFlightTracks(true));
                _initialTrackRecordArray.AddRange(_initialTrackArray.SelectMany(t => t.FlightTripRecord));
            }
            catch (Exception exception)
            {
                Program.Provider.Logger.Log("Error while load records", exception);
            }
        }
Esempio n. 23
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            _addedChecks.Clear();

            _addedChecks.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CheckListDTO, CheckLists>(new Filter("EditionId", _parent.EditionId), loadChild: true)
                                  .ToList());
            _levels.Clear();
            _levels = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <FindingLevelsDTO, FindingLevels>(new []
            {
                new Filter("OperatorId", _operatorId),
                new Filter("ProgramTypeId", _manual.ProgramTypeId),
            });

            var revisions = new List <CheckListRevision>();
            var revIds    = _addedChecks.Where(i => i.RevisionId.HasValue).Select(i => i.RevisionId.Value).Distinct();

            if (revIds.Any())
            {
                revisions.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRevisionDTO, CheckListRevision>(new List <Filter>()
                {
                    new Filter("ItemId", values: revIds),
                }));
            }

            foreach (var check in _addedChecks)
            {
                check.EditionNumber  = _parent.Number.ToString();
                check.RevisionNumber = revisions.FirstOrDefault(i => i.ItemId == check.RevisionId)?.Number.ToString() ?? "";

                if (check.CheckUIType == CheckUIType.Iosa)
                {
                    check.Level = _levels.FirstOrDefault(i => i.ItemId == check.Settings.LevelId) ??
                                  FindingLevels.Unknown;
                }
                else if (check.CheckUIType == CheckUIType.Safa)
                {
                    check.Level = _levels.FirstOrDefault(i => i.ItemId == check.SettingsSafa.LevelId) ??
                                  FindingLevels.Unknown;
                }
                else if (check.CheckUIType == CheckUIType.Icao)
                {
                    check.Level = _levels.FirstOrDefault(i => i.ItemId == check.SettingsIcao.LevelId) ??
                                  FindingLevels.Unknown;
                }

                check.Remains   = Lifelength.Null;
                check.Condition = ConditionState.Satisfactory;
            }
        }
Esempio n. 24
0
        /// <summary>
        /// Обновляет значения полей
        /// </summary>
        public override void FillControls()
        {
            BeginUpdate();

            _specializations.Clear();
            _specializations.AddRange(((CommonDictionaryCollection <Occupation>)GlobalObjects.CasEnvironment.GetDictionary <Occupation>()).ToArray());
            _specialists.Clear();
            _specialists.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectList <SpecialistDTO, Specialist>());
            if (FlightCrewRecord != null)
            {
                comboSpecialization.Items.Clear();
                comboSpecialization.Items.AddRange(_specializations.ToArray());
                comboSpecialist.Items.Clear();

                if (FlightCrewRecord.ItemId > 0)
                {
                    comboSpecialization.SelectedItem = FlightCrewRecord.Occupation;
                    Specialist selectedSpec = _specialists.GetItemById(FlightCrewRecord.Specialist.ItemId);
                    if (selectedSpec != null)
                    {
                        comboSpecialist.SelectedItem = selectedSpec;
                    }
                    else
                    {
                        //Искомый специалист недействителен
                        comboSpecialist.Items.Add(FlightCrewRecord.Specialist);
                        comboSpecialist.SelectedItem = FlightCrewRecord.Specialist;
                    }
                }
                else
                {
                    comboSpecialization.SelectedItem = FlightCrewRecord.Occupation;
                    comboSpecialist.SelectedItem     = FlightCrewRecord.Specialist != null
                        ? _specialists.GetItemById(FlightCrewRecord.Specialist.ItemId)
                        : null;
                }

                if (comboSpecialist.SelectedItem != null && ((Specialist)comboSpecialist.SelectedItem).IsDeleted)
                {
                    comboSpecialist.BackColor = Color.FromArgb(Highlight.Red.Color);
                }
                else
                {
                    comboSpecialist.BackColor = Color.White;
                }
            }
            EndUpdate();
        }
Esempio n. 25
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load directives");

            _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                           .GetObjectListAll <TaskDTO, SmartCore.CAA.Tasks.CAATask>(new Filter("OperatorId", _operatorId), loadChild: true));

            var ids   = _initialDocumentArray.Select(i => i.ItemId);
            var links = GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CAAItemFileLinkDTO, ItemFileLink>(new List <Filter>()
            {
                new Filter("ParentId", ids),
                new Filter("ParentTypeId", 3088)
            }, true);

            var fileIds = links.Where(i => i.FileId.HasValue).Select(i => i.FileId.Value);

            if (fileIds.Any())
            {
                var files = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CAAAttachedFileDTO, AttachedFile>(new Filter("ItemId", values: fileIds));
                foreach (var file in links)
                {
                    var f = files.FirstOrDefault(i => i.ItemId == file.FileId)?.GetCopyUnsaved(false);
                    if (f == null)
                    {
                        continue;
                    }
                    f.ItemId  = file.FileId.Value;
                    file.File = (AttachedFile)f;
                }
            }


            foreach (var task in _initialDocumentArray)
            {
                task.Files.AddRange(links.Where(i => i.ParentId == task.ItemId));
            }

            AnimatedThreadWorker.ReportProgress(40, "filter directives");

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 26
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load directives");

            _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader
                                           .GetObjectListAll <CoursePackageDTO, SmartCore.CAA.CAAWP.CoursePackage>(new Filter("OperatorId", _operatorId)));

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 27
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialFlightOpsArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load records");

            try
            {
                _initialFlightOpsArray.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <FlightPlanOpsDTO, FlightPlanOps>());
            }
            catch (Exception exception)
            {
                Program.Provider.Logger.Log("Error while load records", exception);
            }

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 28
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            if (_supplier == null)
            {
                e.Cancel = true;
                return;
            }

            if (_tasksForSelect == null)
            {
                _tasksForSelect = new CommonCollection <Product>();
            }
            _tasksForSelect.Clear();

            if (_bindedTasks == null)
            {
                _bindedTasks = new CommonCollection <KitSuppliersRelation>();
            }
            _bindedTasks.Clear();

            _animatedThreadWorker.ReportProgress(0, "load binded tasks");
            try
            {
                _tasksForSelect.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <AccessoryDescriptionDTO, Product>(new Filter("ModelingObjectTypeId", -1), true));

                List <Product> supplierProducts = GlobalObjects.PurchaseCore.GetProducts(_supplier);
                foreach (Product supplierProduct in supplierProducts)
                {
                    _tasksForSelect.RemoveById(supplierProduct.ItemId);
                    _bindedTasks.Add(supplierProduct.SupplierRelations.FirstOrDefault(ksr => ksr.SupplierId == _supplier.ItemId));
                }
            }
            catch (Exception ex)
            {
                string s = $"Error while load Products For selection for supplier {_supplier} id: {_supplier.ItemId}";
                Program.Provider.Logger.Log(s, ex);
            }

            if (_animatedThreadWorker.CancellationPending)
            {
                e.Cancel = true;
                return;
            }

            _animatedThreadWorker.ReportProgress(100, "binding complete");
        }
Esempio n. 29
0
        /// <summary>
        /// Производит работы над списком элементов
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDirectiveArray.Clear();
            _resultDirectiveArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load Work Packages");

            _initialDirectiveArray.AddRange(GlobalObjects.PackageCore.GetDirectivePackages <Request, RequestRecord>(CurrentOperator).ToArray());

            AnimatedThreadWorker.ReportProgress(40, "filter directives");

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDirectiveArray, _resultDirectiveArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Esempio n. 30
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDirectiveArray.Clear();
            _resultDirectiveArray.Clear();

            AnimatedThreadWorker.ReportProgress(0, "load Work Packages");

            _initialDirectiveArray.AddRange(GlobalObjects.DiscrepanciesCore.GetDiscrepancies(CurrentAircraft).ToArray());

            AnimatedThreadWorker.ReportProgress(40, "filter directives");

            AnimatedThreadWorker.ReportProgress(70, "filter directives");

            FilterItems(_initialDirectiveArray, _resultDirectiveArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }