Example #1
0
        /// <summary>
        /// Создает несохраненного клона (Itemid которого =-1) переданного элемента
        /// </summary>
        /// <param name="toCopy">Элемент для клонирования (иожет быть равен null)</param>
        /// <returns>Склонированный элемент или элемент по умолчанию</returns>
        public DirectiveRecord(DirectiveRecord toCopy) : this()
        {
            if (toCopy == null)
            {
                return;
            }

            Completed  = toCopy.Completed;
            Dispatched = toCopy.Dispatched;
            MaintenanceOrganization = toCopy.MaintenanceOrganization;
            ODR                 = toCopy.ODR;
            _onLifelength       = toCopy.OnLifelength;
            _parent             = toCopy.Parent;
            _parentId           = toCopy.ParentId;
            _parentType         = toCopy.ParentType;
            _performanceNum     = toCopy.PerformanceNum;
            _recordDate         = toCopy.RecordDate;
            RecordTypeId        = toCopy.RecordTypeId;
            Reference           = toCopy.Reference;
            _remarks            = toCopy.Remarks;
            _directivePackage   = toCopy.DirectivePackage;
            _directivePackageId = toCopy.DirectivePackageId;

            _attachedFile = toCopy.AttachedFile;
        }
Example #2
0
        /*
         *  Методы
         */

        #region public ActualStateRecord()
        /// <summary>
        /// Создает воздушное судно без дополнительной информации
        /// </summary>
        public ActualStateRecord()
        {
            ItemId              = -1;
            _workRegime         = FlightRegime.UNK;
            _workRegimeType     = SmartCoreType.FlightRegime;
            SmartCoreObjectType = SmartCoreType.ActualStateRecord;
        }
Example #3
0
        /// <summary>
        /// Возвращает количество записей о выполнении
        /// </summary>
        /// <typeparam name="T">Тип записей (DirectiveRecord, MaintenanceCheckRecord и т.д.)</typeparam>
        /// <param name="parentType">Тип родителя (Directive, ComponentDirective, MaintenanceCheck)</param>
        /// <param name="parentId"></param>
        /// <returns></returns>
        public int GetCountPerformanceRecords <T>(SmartCoreType parentType, int parentId) where T : AbstractPerformanceRecord
        {
            var qr     = BaseQueries.GetCountPerformancesQuery <T>(parentType, parentId);
            var ds     = _casEnvironment.Execute(qr);
            var result = (int)ds.Tables[0].Rows[0][0];

            // возвращаем результат
            return(result);
        }
Example #4
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T">Тип записей (DirectiveRecord, MaintenanceCheckRecord и т.д.)</typeparam>
        /// <param name="parentType">Тип родителя (Directive, ComponentDirective, MaintenanceCheck и т.д.)</param>
        /// <param name="parentId">Идентификатор родителя</param>
        /// <param name="lastOnly">True - грузится только последняя запись о выполнении</param>
        /// <returns></returns>
        public T GetPerformances <T>(SmartCoreType parentType, int parentId, bool lastOnly = false) where T : AbstractPerformanceRecord, new()
        {
            var qr     = BaseQueries.GetPerformancesQuery <T>(parentType, parentId, lastOnly);
            var ds     = _casEnvironment.Execute(qr);
            var result = BaseQueries.GetObjectList <T>(ds.Tables[0])[0];

            // возвращаем результат
            return(result);
        }
        ///<summary>
        ///</summary>
        public ReplaceComponentFormItem(Component replacedComponent, Component replacedByComponent, SmartCoreType parentType)
        {
            _parentComponent     = replacedComponent;
            _replacedByComponent = replacedByComponent;
            _parentType          = parentType;
            ConfirmTransfer      = true;

            InitializeComponent();
        }
Example #6
0
        ///<summary>
        ///</summary>
        public ReplaceComponentForm(ComponentCollection replacedComponents, ComponentCollection replacedByComponents, ReplaceComponentFormItem[] replacedItems, SmartCoreType parentType)
        {
            _replacedComponents   = replacedComponents;
            _replacedByComponents = replacedByComponents;
            _replaceItems         = replacedItems;
            _parentType           = parentType;

            InitializeComponent();
            UpdateInformation();
        }
Example #7
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");
        }
        ///<summary>
        ///</summary>
        public ReplaceComponentFormItem(Component replacedComponent, Component replacedByComponent,
                                        TransferRecord replacedTransfer, TransferRecord replacedByTransfer, SmartCoreType parentType)
        {
            _parentComponent          = replacedComponent;
            _parentDetailTransfer     = replacedTransfer;
            _replacedByComponent      = replacedByComponent;
            _replacedDetailByTransfer = replacedByTransfer;
            _parentType     = parentType;
            ConfirmTransfer = true;

            InitializeComponent();
        }
Example #9
0
 /// <summary>
 /// Создает воздушное судно без дополнительной информации
 /// </summary>
 public ActualStateRecord(ActualStateRecord toCopy) : this()
 {
     if (toCopy == null)
     {
         return;
     }
     ComponentId     = toCopy.ComponentId;
     _onLifelength   = new Lifelength(toCopy.OnLifelength);
     ParentComponent = toCopy.ParentComponent;
     _recordDate     = toCopy.RecordDate.Date;
     _remarks        = toCopy.Remarks;
     _workRegime     = toCopy.WorkRegime;
     _workRegimeType = toCopy.WorkRegimeType;
 }
Example #10
0
        /// <summary>
        /// Возвращает все записи об удалении агрегатов с данного склада
        /// </summary>
        /// <returns></returns>
        public TransferRecordCollection GetLastTransferRecordsFrom(Store store, SmartCoreType componentType)
        {
            if (store == null)
            {
                return(null);
            }
            var transferRecords = _newLoader.GetObjectListAll <TransferRecordDTO, TransferRecord>(new List <Filter>()
            {
                new Filter("ParentType", componentType.ItemId),
                new Filter("FromStoreID", store.ItemId),
                new Filter("PODR", false)
            }, true).OrderByDescending(t => t.TransferDate);
            var collection = new TransferRecordCollection(transferRecords.ToArray());

            // возвращаем результат
            SetParents(collection);
            return(collection);
        }
Example #11
0
        /// <summary>
        /// Создает воздушное судно без дополнительной информации
        /// </summary>
        public ComponentLLPCategoryChangeRecord(ComponentLLPCategoryChangeRecord toCopy) : this()
        {
            if (toCopy == null)
            {
                return;
            }

            _file             = toCopy.AttachedFile;
            _onLifelength     = new Lifelength(toCopy.OnLifelength);
            ParentComponent   = toCopy.ParentComponent;
            _parentId         = toCopy.ParentId;
            _parentType       = toCopy.ParentType;
            _performanceNum   = toCopy.PerformanceNum;
            _remarks          = toCopy.Remarks;
            ToCategory        = toCopy.ToCategory;
            _wpId             = toCopy.DirectivePackageId;
            _directivePackage = toCopy.DirectivePackage;
        }
Example #12
0
        /// <summary>
        /// Создает несохраненного клона (Itemid которого =-1) переданного элемента
        /// </summary>
        /// <param name="toCopy">Элемент для клонирования (иожет быть равен null)</param>
        /// <returns>Склонированный элемент или элемент по умолчанию</returns>
        public DirectiveRecord(AbstractPerformanceRecord toCopy)
            : this()
        {
            if (toCopy == null)
            {
                return;
            }

            _onLifelength       = toCopy.OnLifelength;
            _parent             = toCopy.Parent;
            _parentId           = toCopy.ParentId;
            _parentType         = toCopy.ParentType;
            _performanceNum     = toCopy.PerformanceNum;
            _recordDate         = toCopy.RecordDate;
            _remarks            = toCopy.Remarks;
            _directivePackage   = toCopy.DirectivePackage;
            _directivePackageId = toCopy.DirectivePackageId;

            _attachedFile = toCopy.AttachedFile;
        }
Example #13
0
        ///<summary>
        ///Конструктор заполняющий всю необходимую информацию о переданном объекте
        ///</summary>
        public TransferedComponentForm(IEnumerable <Component> removedDetails, IEnumerable <TransferRecord> removedTransfers,
                                       IEnumerable <Component> waitRemoveDetails, IEnumerable <TransferRecord> waitRemoveTransfers,
                                       IEnumerable <Component> installedDetails, IEnumerable <TransferRecord> installedTransfers,
                                       SmartCoreType parentType) : this()
        {
            _removedComponents = new ComponentCollection();
            _removedComponents.AddRange(removedDetails);
            _removedTransfers = new TransferRecordCollection();
            _removedTransfers.AddRange(removedTransfers);

            _waitremovedConfirmComponents = new ComponentCollection();
            _waitremovedConfirmComponents.AddRange(waitRemoveDetails);
            _waitRemovedTransfers = new TransferRecordCollection();
            _waitRemovedTransfers.AddRange(waitRemoveTransfers);

            _installedComponents = new ComponentCollection();
            _installedComponents.AddRange(installedDetails);
            _installedTransfers = new TransferRecordCollection();
            _installedTransfers.AddRange(installedTransfers);

            _parentType = parentType;

            UpdateInformation();
        }
Example #14
0
        protected override async void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e)
        {
            _initial.Clear();
            _result.Clear();

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

            try
            {
                var activity = GlobalObjects.AuditContext.AuditCollection
                               .FindSync(i => i.Date >= dateTimePickerDateFrom.Value && i.Date <= dateTimePickerDateTo.Value)
                               .ToList();

                var users = GlobalObjects.CasEnvironment.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())) : ""
                    });
                }

                AnimatedThreadWorker.ReportProgress(50, "load Parents");
                foreach (var obj in _initial.GroupBy(i => i.Type?.ItemId))
                {
                    if (obj.Key == SmartCoreType.WorkPackage.ItemId)
                    {
                        var ids = obj.Select(i => i.ObjectId);
                        var wps = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <WorkPackageDTO, WorkPackage>(new Filter("ItemId", ids), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var wp = wps.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (wp == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(wp.ParentId);
                            dto.Title    = wp.Title;
                        }
                    }
                    else if (obj.Key == SmartCoreType.WorkPackageRecord.ItemId)
                    {
                        var ids   = obj.Select(i => i.ObjectId);
                        var wpr   = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <WorkPackageRecordDTO, WorkPackageRecord>(new Filter("ItemId", ids), getDeleted: true);
                        var wpIds = wpr.Select(i => i.WorkPakageId);
                        var wps   = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <WorkPackageDTO, WorkPackage>(new Filter("ItemId", wpIds), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var wp = wps.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (wp == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(wp.ParentId);
                            dto.Title    = wp.Title;
                        }
                    }
                    else if (obj.Key == SmartCoreType.MaintenanceDirective.ItemId)
                    {
                        var ids  = obj.Select(i => i.ObjectId);
                        var mpds = GlobalObjects.CasEnvironment.Loader.GetObjectList <MaintenanceDirective>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, ids.ToArray()), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var mpd = mpds.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (mpd == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(mpd.ParentBaseComponent.ParentAircraftId);
                            dto.Title    = mpd.Title;
                        }
                    }
                    else if (obj.Key == SmartCoreType.Directive.ItemId)
                    {
                        var ids        = obj.Select(i => i.ObjectId);
                        var directives = GlobalObjects.CasEnvironment.Loader.GetObjectList <Directive>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, ids.ToArray()), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var directive = directives.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (directive == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(directive.ParentBaseComponent.ParentAircraftId);
                            dto.Title    = directive.Title;
                        }
                    }
                    else if (obj.Key == SmartCoreType.DirectiveRecord.ItemId)
                    {
                        var ids = obj.Select(i => i.ObjectId);
                        var directiveRecords = GlobalObjects.CasEnvironment.Loader.GetObjectList <DirectiveRecord>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, ids.ToArray()), getDeleted: true);
                        var directiveIds     = directiveRecords.Select(i => i.ParentId);
                        var directives       = GlobalObjects.CasEnvironment.Loader.GetObjectList <Directive>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, directiveIds.ToArray()), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var directive = directives.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (directive == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(directive.ParentBaseComponent.ParentAircraftId);
                            dto.Title    = directive.Title;
                        }
                    }
                    else if (obj.Key == SmartCoreType.BaseComponent.ItemId)
                    {
                        var ids            = obj.Select(i => i.ObjectId);
                        var baseComponents = GlobalObjects.CasEnvironment.Loader.GetObjectList <BaseComponent>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, ids.ToArray()), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var baseComponent = baseComponents.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (baseComponent == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(baseComponent.ParentAircraftId);
                            dto.Title    = baseComponent.SerialNumber;
                        }
                    }
                    else if (obj.Key == SmartCoreType.Component.ItemId)
                    {
                        var ids        = obj.Select(i => i.ObjectId);
                        var components = GlobalObjects.CasEnvironment.Loader.GetObjectList <SmartCore.Entities.General.Accessory.Component>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, ids.ToArray()), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var component = components.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (component == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(component.ParentAircraftId);
                            dto.Title    = component.SerialNumber;
                        }
                    }
                    else if (obj.Key == SmartCoreType.ComponentDirective.ItemId)
                    {
                        var ids = obj.Select(i => i.ObjectId);
                        var componentDirectives = GlobalObjects.CasEnvironment.Loader.GetObjectList <ComponentDirective>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, ids.ToArray()), getDeleted: true);
                        var componentIds        = componentDirectives.Select(i => i.ComponentId);
                        var components          = GlobalObjects.CasEnvironment.Loader.GetObjectList <SmartCore.Entities.General.Accessory.Component>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, componentIds.ToArray()), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var component = components.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (component == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(component.ParentAircraftId);
                            dto.Title    = component.SerialNumber;
                        }
                    }
                    else if (obj.Key == SmartCoreType.AircraftFlight.ItemId)
                    {
                        var ids     = obj.Select(i => i.ObjectId);
                        var flights = GlobalObjects.CasEnvironment.Loader.GetObjectList <AircraftFlight>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, ids.ToArray()), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var flight = flights.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (flight == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(flight.AircraftId);
                            dto.Title    = flight.ToString();
                        }
                    }
                    else if (obj.Key == SmartCoreType.Discrepancy.ItemId)
                    {
                        var ids           = obj.Select(i => i.ObjectId);
                        var discrepancies = GlobalObjects.CasEnvironment.Loader.GetObjectList <Discrepancy>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, ids.ToArray()), getDeleted: true);
                        var flIds         = discrepancies.Select(i => i.FlightId);
                        var flights       = GlobalObjects.CasEnvironment.Loader.GetObjectList <AircraftFlight>(new CommonFilter <int>(BaseEntityObject.ItemIdProperty, FilterType.In, flIds.ToArray()), getDeleted: true);
                        foreach (var dto in obj)
                        {
                            var flight = flights.FirstOrDefault(i => i.ItemId == dto.ObjectId);
                            if (flight == null)
                            {
                                continue;
                            }
                            dto.Aircraft = GlobalObjects.AircraftsCore.GetAircraftById(flight.AircraftId);
                            dto.Title    = flight.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 #15
0
 /// <summary>
 /// Создает запись о задаче в рабочем пакете на основе переданных параметров
 /// </summary>
 public WorkOrderRecord(int workPakageId, int directiveId, SmartCoreType directiveType)
 {
     DirectiveId     = directiveId;
     ParentId        = workPakageId;
     PackageItemType = directiveType;
 }
 public static bool IsAllRelationWith(this IEnumerable <ItemsRelation> relationsCollection, SmartCoreType smartCoreType)
 {
     return(relationsCollection.All(i => i.FirtsItemTypeId == smartCoreType.ItemId ||
                                    i.SecondItemTypeId == smartCoreType.ItemId));
 }