Example #1
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");
        }
Example #2
0
        public override void DisposeScreen()
        {
            if (AnimatedThreadWorker.IsBusy)
            {
                AnimatedThreadWorker.CancelAsync();
            }

            AnimatedThreadWorker.Dispose();

            if (InitialDirectiveArray != null)
            {
                InitialDirectiveArray.Clear();
            }
            InitialDirectiveArray = null;

            if (ResultDirectiveArray != null)
            {
                ResultDirectiveArray.Clear();
            }
            ResultDirectiveArray = null;

            if (_currentForecast != null)
            {
                _currentForecast.Dispose();
            }
            _currentForecast = null;

            if (_openPubWorkPackages != null)
            {
                _openPubWorkPackages.Clear();
            }
            _openPubWorkPackages = null;

            _openPubQuotations.Clear();
            _openPubQuotations = null;

            if (_toolStripMenuItemsWorkPackages != null)
            {
                foreach (var item in _toolStripMenuItemsWorkPackages.Items)
                {
                    item.Click -= AddToWorkPackageItemClick;
                }
                _toolStripMenuItemsWorkPackages.Items.Clear();
                _toolStripMenuItemsWorkPackages.Dispose();
            }

            if (DirectivesViewer != null)
            {
                DirectivesViewer.Dispose();
            }

            Dispose(true);
        }
        ///<summary>
        ///</summary>
        ///<param name="initialCollection"></param>
        ///<param name="resultCollection"></param>
        private void FilterItems(CommonCollection <AircraftFlight> initialCollection, CommonCollection <AircraftFlight> resultCollection)
        {
            if (_filter == null || _filter.All(i => i.Values.Length == 0))
            {
                resultCollection.Clear();
                foreach (var flight in initialCollection)
                {
                    resultCollection.Add(flight);
                }
                return;
            }

            resultCollection.Clear();

            foreach (var pd in initialCollection)
            {
                if (_filter.FilterTypeAnd)
                {
                    bool acceptable = true;
                    foreach (ICommonFilter filter in _filter)
                    {
                        acceptable = filter.Acceptable(pd); if (!acceptable)
                        {
                            break;
                        }
                    }
                    if (acceptable)
                    {
                        resultCollection.Add(pd);
                    }
                }
                else
                {
                    bool acceptable = true;
                    foreach (ICommonFilter filter in _filter)
                    {
                        if (filter.Values == null || filter.Values.Length == 0)
                        {
                            continue;
                        }
                        acceptable = filter.Acceptable(pd); if (acceptable)
                        {
                            break;
                        }
                    }
                    if (acceptable)
                    {
                        resultCollection.Add(pd);
                    }
                }
            }
        }
Example #4
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");
        }
Example #5
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");
        }
Example #6
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
                }));
            }
        }
Example #7
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");
        }
Example #8
0
        private void AnimatedThreadWorkerDoFilteringWork(object sender, DoWorkEventArgs e)
        {
            _resultMaintenanceDirectives.Clear();
            _resultZeroMaintenanceDirectives.Clear();

            #region Фильтрация директив

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

            FilterItems(_initialMaintenanceDirectives, _resultMaintenanceDirectives);

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


            AnimatedThreadWorker.ReportProgress(90, "filter records");

            FilterZeroItems(_initialZeroMaintenanceDirectives, _resultZeroMaintenanceDirectives);

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

            #endregion

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Example #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);
        }
Example #10
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");
        }
Example #11
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");
        }
Example #12
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");
        }
Example #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 <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");
        }
Example #14
0
		/// <summary>
		/// Конструктор создает объект с привязкой родительского объекта
		/// </summary>
		public Product(Product toCopy)
			: this()
		{
			if (toCopy == null) 
				return;
			_batchNumber = toCopy.BatchNumber;
			_costNew = toCopy.CostNew;
			_costOvehaul = toCopy.CostOverhaul;
			_costServiceable = toCopy.CostServiceable;
			_description = toCopy.Description;
			_manufacturer = toCopy.Manufacturer;
			_measure = toCopy.Measure;
			_partNumber = toCopy.PartNumber;
			_remarks = toCopy.Remarks;
			_serialNumber = toCopy.SerialNumber;
			_standart = toCopy.Standart;


			if (_suppliers == null)
				_suppliers = new SupplierCollection();
			_suppliers.Clear();
			foreach (Supplier supplier in toCopy.Suppliers)
			{
				_suppliers.Add(supplier);
			}

			if (_supplierRelations == null)
				_supplierRelations = new CommonCollection<KitSuppliersRelation>();
			_supplierRelations.Clear();
			foreach (KitSuppliersRelation ksr in toCopy.SupplierRelations)
			{
				_supplierRelations.Add(new KitSuppliersRelation(ksr) {KitId = ItemId});
			}
		}
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDirectiveArray.Clear();
            _resultDirectiveArray.Clear();

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

            _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");
        }
Example #16
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");
        }
Example #17
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");
        }
        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");
        }
Example #19
0
        protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initialDocumentArray.Clear();
            _resultDocumentArray.Clear();

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

            _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <AllOperatorsDTO, AllOperators>(loadChild: true));


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

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

            FilterItems(_initialDocumentArray, _resultDocumentArray);

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Example #20
0
        public override void DisposeScreen()
        {
            if (AnimatedThreadWorker.IsBusy)
            {
                AnimatedThreadWorker.CancelAsync();
            }

            AnimatedThreadWorker.DoWork             -= AnimatedThreadWorkerDoWork;
            AnimatedThreadWorker.RunWorkerCompleted -= AnimatedThreadWorkerRunWorkerCompleted;

            AnimatedThreadWorker.Dispose();

            _initialDirectiveArray.Clear();
            _resultDirectiveArray.Clear();
            _openPubWorkPackages.Clear();

            _initialDirectiveArray = null;
            _resultDirectiveArray  = null;
            _openPubWorkPackages   = null;

            if (_currentForecast != null)
            {
                _currentForecast.Dispose();
                _currentForecast = null;
            }

            if (_currentForecast != null)
            {
                _currentForecast.Clear();
            }
            _currentForecast = null;

            if (_toolStripMenuItemOpen != null)
            {
                _toolStripMenuItemOpen.Dispose();
            }
            if (_toolStripMenuItemHighlight != null)
            {
                foreach (var ttmi in _toolStripMenuItemHighlight.Items)
                {
                    ttmi.Click -= HighlightItemClick;
                }
                _toolStripMenuItemHighlight.Items.Clear();
                _toolStripMenuItemHighlight.Dispose();
            }
            if (_toolStripSeparator1 != null)
            {
                _toolStripSeparator1.Dispose();
            }

            if (_directivesViewer != null)
            {
                _directivesViewer.Dispose();
            }

            Dispose(true);
        }
Example #21
0
        public override void DisposeScreen()
        {
            if (AnimatedThreadWorker.IsBusy)
            {
                AnimatedThreadWorker.CancelAsync();
            }
            AnimatedThreadWorker.Dispose();

            _resultDirectiveArray.Clear();
            _preResultDirectiveArray.Clear();
            _openPubWorkPackages.Clear();
            _openPubQuotations.Clear();
            //_deferredCategories.Clear();

            _resultDirectiveArray    = null;
            _preResultDirectiveArray = null;
            _openPubWorkPackages     = null;
            _openPubQuotations       = null;
            //_deferredCategories = null;

            if (_currentForecast != null)
            {
                _currentForecast.Dispose();
                _currentForecast = null;
            }

            if (_initialFilter != null)
            {
                _initialFilter.Filters.Clear();
                _initialFilter = null;
            }

            if (_currentForecast != null)
            {
                _currentForecast.Clear();
            }
            _currentForecast = null;
            if (_directivesViewer != null)
            {
                _directivesViewer.Dispose();
            }

            Dispose(true);
        }
Example #22
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");
        }
Example #23
0
        public override void DisposeScreen()
        {
            if (AnimatedThreadWorker.IsBusy)
            {
                AnimatedThreadWorker.CancelAsync();
            }
            AnimatedThreadWorker.Dispose();

            _itemsArray.Clear();
            _itemsArray = null;

            if (_toolStripMenuItemsWorkPackages != null)
            {
                foreach (RadMenuItem item in _toolStripMenuItemsWorkPackages)
                {
                    item.Dispose();
                }
            }

            if (_toolStripMenuItemOpen != null)
            {
                _toolStripMenuItemOpen.Dispose();
            }
            if (_toolStripMenuItemHighlight != null)
            {
                _toolStripMenuItemHighlight.Dispose();
            }
            if (_toolStripSeparator1 != null)
            {
                _toolStripSeparator1.Dispose();
            }
            if (_toolStripMenuItemClose != null)
            {
                _toolStripMenuItemClose.Dispose();
            }

            if (_directivesViewer != null)
            {
                _directivesViewer.Dispose();
            }

            Dispose(true);
        }
Example #24
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");
        }
Example #25
0
        protected override async void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initial.Clear();
            _result.Clear();

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

            try
            {
                List <AuditEntity> activity = new List <AuditEntity>();
                if (_operatorId > 0)
                {
                    activity = GlobalObjects.AuditContext.AuditCollection
                               .FindSync(i => i.Date >= dateTimePickerDateFrom.Value && i.Date <= dateTimePickerDateTo.Value && i.OperatorId == _operatorId)
                               .ToList();
                }
                else
                {
                    activity = GlobalObjects.AuditContext.AuditCollection
                               .FindSync(i => i.Date >= dateTimePickerDateFrom.Value && i.Date <= dateTimePickerDateTo.Value)
                               .ToList();
                }



                var users = GlobalObjects.CaaEnvironment.ApiProvider.GetAllUsersAsync();

                foreach (var bsonElement in activity)
                {
                    Enum.TryParse(bsonElement.Action, out AuditOperation myStatus);
                    var userr = users.FirstOrDefault(i => i.ItemId == bsonElement.UserId);
                    _initial.Add(new ActivityDTO()
                    {
                        Date = bsonElement.Date,
                        User = userr != null ? new User(userr): new User()
                        {
                            Name = $"Deleted User with Id:{bsonElement.UserId}"
                        },
                        Operation   = myStatus,
                        ObjectId    = bsonElement.ObjectId,
                        Type        = SmartCoreType.GetSmartCoreTypeById(bsonElement.ObjectTypeId),
                        Information = bsonElement.AdditionalParameters?.Count > 0 ? string.Join(",", bsonElement.AdditionalParameters.Select(i => i.Value.ToString())) : ""
                    });
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while load documents", ex);
            }

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

            AnimatedThreadWorker.ReportProgress(100, "Complete");
        }
Example #26
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");
        }
Example #27
0
        public override void DisposeScreen()
        {
            if (AnimatedThreadWorker.IsBusy)
            {
                AnimatedThreadWorker.CancelAsync();
            }
            AnimatedThreadWorker.Dispose();

            _itemsArray.Clear();
            _itemsArray = null;


            if (_toolStripMenuItemTitle != null)
            {
                _toolStripMenuItemTitle.Dispose();
            }
            if (_toolStripMenuItemProperties != null)
            {
                _toolStripMenuItemProperties.Dispose();
            }
            if (_toolStripSeparator1 != null)
            {
                _toolStripSeparator1.Dispose();
            }
            if (_toolStripSeparator2 != null)
            {
                _toolStripSeparator2.Dispose();
            }
            if (_contextMenuStrip != null)
            {
                _contextMenuStrip.Dispose();
            }

            if (_directivesViewer != null)
            {
                _directivesViewer.Dispose();
            }

            Dispose(true);
        }
Example #28
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);
        }
        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");
        }
        public override void DisposeScreen()
        {
            if (AnimatedThreadWorker.IsBusy)
            {
                AnimatedThreadWorker.CancelAsync();
            }
            AnimatedThreadWorker.Dispose();

            if (_initialDirectiveArray != null)
            {
                _initialDirectiveArray.Clear();
            }
            _initialDirectiveArray = null;

            if (_resultDirectiveArray != null)
            {
                _resultDirectiveArray.Clear();
            }
            _resultDirectiveArray = null;

            _currentForecast.Dispose();
            _currentForecast = null;

            _openPubQuotations.Clear();
            _openPubQuotations = null;

            if (_toolStripMenuItemOpen != null)
            {
                _toolStripMenuItemOpen.Dispose();
            }

            if (_directivesViewer != null)
            {
                _directivesViewer.Dispose();
            }

            Dispose(true);
        }