public EditionRevisionListScreen(Operator currentOperator, int operatorId, SmartCore.CAA.StandartManual.StandartManual manual) : this() { if (currentOperator == null) { throw new ArgumentNullException("currentOperator"); } _operatorId = operatorId; _manual = manual; aircraftHeaderControl1.Operator = currentOperator; statusControl.ShowStatus = false; labelTitle.Visible = false; _filter = new CommonFilterCollection(typeof(ICheckListRevisionFilterParams)); InitToolStripMenuItems(); InitListView(); UpdateInformation(); if (GlobalObjects.CaaEnvironment.IdentityUser.CAAUserType == CAAUserType.CAA || GlobalObjects.CaaEnvironment.IdentityUser.CAAUserType == CAAUserType.Operator) { _toolStripMenuItemEdit.Enabled = false; pictureBox2.Visible = buttonAdd.Visible = buttonDeleteSelected.Visible = false; } }
public EditionRevisionListView(AnimatedThreadWorker animatedThreadWorker, SmartCore.CAA.StandartManual.StandartManual manual) { InitializeComponent(); _animatedThreadWorker = animatedThreadWorker; _manual = manual; SortDirection = SortDirection.Asc; EnableCustomSorting = true; OldColumnIndex = 3; }
public CheckListIcaoRevisionForm(int operatorId, CheckListRevision parent, SmartCore.CAA.StandartManual.StandartManual manual) { _operatorId = operatorId; _parent = parent; _manual = manual; InitializeComponent(); _animatedThreadWorker.DoWork += AnimatedThreadWorkerDoLoad; _animatedThreadWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerLoadCompleted; _animatedThreadWorker.RunWorkerAsync(); }
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(); }
public CheckListsScreen(Operator currentOperator, int operatorId, SmartCore.CAA.StandartManual.StandartManual manual) : this() { if (currentOperator == null) { throw new ArgumentNullException("currentOperator"); } _type = CheckListType.CheckList; _operatorId = operatorId; _manual = manual; aircraftHeaderControl1.Operator = currentOperator; statusControl.ShowStatus = false; labelTitle.Visible = false; UpdateInformation(); }
public EditionRevisionRecordListScreen(Operator currentOperator, CheckListRevision parent, int operatorId, SmartCore.CAA.StandartManual.StandartManual manual) : this() { if (currentOperator == null) { throw new ArgumentNullException("currentOperator"); } _parent = parent; _operatorId = operatorId; _manual = manual; aircraftHeaderControl1.Operator = currentOperator; statusControl.ShowStatus = false; labelTitle.Visible = false; if (_manual.CheckUIType == CheckUIType.Iosa) { _filter = new CommonFilterCollection(typeof(ICheckListFilterParams)); } else if (_manual.CheckUIType == CheckUIType.Safa) { _filter = new CommonFilterCollection(typeof(ICheckListSafaFilterParams)); } else if (_manual.CheckUIType == CheckUIType.Icao) { _filter = new CommonFilterCollection(typeof(ICheckListIcaoFilterParams)); } if (parent.Status == EditionRevisionStatus.Previous || (parent.Status == EditionRevisionStatus.Current && parent.Type == RevisionType.Revision)) { buttonRevison.Visible = pictureBox2.Visible = buttonAddNew.Visible = pictureBox4.Visible = false; } InitListView(); UpdateInformation(); }
private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e) { _manual = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <StandartManualDTO, SmartCore.CAA.StandartManual.StandartManual>(_currentCheck.ManualId); _levels.Clear(); _levels = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <FindingLevelsDTO, FindingLevels>(new [] { new Filter("OperatorId", _currentCheck.OperatorId), new Filter("ProgramTypeId", _manual.ProgramTypeId), }); if (_currentCheck == null) { return; } if (_currentCheck.ItemId > 0) { _currentCheck = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListDTO, CheckLists>(_currentCheck.ItemId); _currentCheck.AllRevisions.Clear(); var edition = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListRevisionDTO, CheckListRevision>(_currentCheck.EditionId); if (edition != null) { _currentCheck.AllRevisions.Add(new EditionRevisionView() { Date = edition.Date, Number = edition.Number, Remark = edition.Settings.Remark, Type = edition.Type, EffDate = edition.EffDate }); } var revisionRec = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRevisionRecordDTO, CheckListRevisionRecord>(new Filter("CheckListId", _currentCheck.ItemId)); if (revisionRec.Any()) { var ids = revisionRec.Select(i => i.ParentId); var revisions = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRevisionDTO, CheckListRevision>(new Filter("ItemId", ids)); foreach (var rec in revisionRec) { var revision = revisions.FirstOrDefault(i => i.ItemId == rec.ParentId); if (revision == null) { continue; } _currentCheck.AllRevisions.Add(new EditionRevisionView() { Date = revision.Date, Number = revision.Number, Remark = string.Join(",", rec.Settings.ModData.OrderBy(i => i.Key).Select(i => i.Key)), Type = revision.Type, EffDate = revision.EffDate }); } } var links = GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CAAItemFileLinkDTO, ItemFileLink>(new List <Filter>() { new Filter("ParentId", _currentCheck.ItemId), new Filter("ParentTypeId", _currentCheck.SmartCoreObjectType.ItemId) }, 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; } } _currentCheck.Files = new CommonCollection <ItemFileLink>(links); _currentCheck.Level = _levels.FirstOrDefault(i => i.ItemId == _currentCheck.SettingsSafa.LevelId) ?? FindingLevels.Unknown; } }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { _initialDocumentArray.Clear(); _resultDocumentArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load directives"); if (_type == CheckListType.Routine) { _currentRoutineId = _parentId; var records = GlobalObjects.CaaEnvironment.NewLoader .GetObjectListAll <RoutineAuditRecordDTO, RoutineAuditRecord>(new Filter("RoutineAuditId", _parentId), loadChild: true).ToList(); var routine = GlobalObjects.CaaEnvironment.NewLoader .GetObjectById <RoutineAuditDTO, SmartCore.CAA.RoutineAudits.RoutineAudit>(_parentId); var manuals = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <StandartManualDTO, SmartCore.CAA.StandartManual.StandartManual>(new [] { new Filter("OperatorId", new [] { _operatorId, -1 }.Distinct()), new Filter("ProgramTypeId", routine.Settings.TypeId), }); _manual = manuals.FirstOrDefault(); var ids = records.Select(i => i.CheckListId); if (ids.Any()) { _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CheckListDTO, CheckLists>(new Filter("ItemId", ids), loadChild: true)); } var revisions = new List <CheckListRevision>(); var revedIds = _initialDocumentArray.Where(i => i.RevisionId.HasValue).Select(i => i.RevisionId.Value).Distinct().ToList(); revedIds.AddRange(_initialDocumentArray.Select(i => i.EditionId).Distinct()); if (revedIds.Any()) { revisions.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRevisionDTO, CheckListRevision>(new List <Filter>() { new Filter("ItemId", values: revedIds), })); } foreach (var check in _initialDocumentArray) { check.RevisionNumber = revisions.FirstOrDefault(i => i.ItemId == check.RevisionId)?.Number.ToString() ?? ""; check.EditionNumber = revisions.FirstOrDefault(i => i.ItemId == check.RevisionId)?.Number.ToString() ?? ""; } } else { var editions = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRevisionDTO, CheckListRevision>(new List <Filter>() { new Filter("Status", (byte)EditionRevisionStatus.Current), new Filter("Type", (byte)RevisionType.Edition), new Filter("ManualId", _manual.ItemId), }); if (editions.Any()) { var edition = editions.FirstOrDefault(); _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CheckListDTO, CheckLists>(new Filter("EditionId", edition.ItemId), loadChild: true)); var revisions = new List <CheckListRevision>(); var revIds = _initialDocumentArray.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 _initialDocumentArray) { check.RevisionNumber = revisions.FirstOrDefault(i => i.ItemId == check.RevisionId)?.Number.ToString() ?? ""; check.EditionNumber = edition.Number.ToString(); } } } var levels = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <FindingLevelsDTO, FindingLevels>(new [] { new Filter("OperatorId", _operatorId), new Filter("ProgramTypeId", _manual.ProgramTypeId), }); foreach (var check in _initialDocumentArray) { 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; } AnimatedThreadWorker.ReportProgress(40, "filter directives"); AnimatedThreadWorker.ReportProgress(70, "filter directives"); FilterItems(_initialDocumentArray, _resultDocumentArray); AnimatedThreadWorker.ReportProgress(100, "Complete"); }
private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e) { _addedChecks.Clear(); var routine = GlobalObjects.CaaEnvironment.NewLoader .GetObjectById <RoutineAuditDTO, SmartCore.CAA.RoutineAudits.RoutineAudit>(_routineId); if (routine == null) { return; } var manuals = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <StandartManualDTO, SmartCore.CAA.StandartManual.StandartManual>(new [] { new Filter("OperatorId", new [] { _operatorId, -1 }.Distinct()), new Filter("ProgramTypeId", routine.Settings.TypeId), }); if (!manuals.Any()) { return; } _manual = manuals.FirstOrDefault(); var editions = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRevisionDTO, CheckListRevision>(new List <Filter>() { new Filter("Status", (byte)EditionRevisionStatus.Current), new Filter("Type", (byte)RevisionType.Edition), new Filter("OperatorId", _operatorId), new Filter("ManualId", _manual.ItemId), }); if (editions.Any()) { var edition = editions.FirstOrDefault(); _addedChecks.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CheckListDTO, CheckLists>(new [] { new Filter("EditionId", edition.ItemId), new Filter("ManualId", _manual.ItemId) }, loadChild: true)); 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 = edition.Number.ToString(); check.RevisionNumber = revisions.FirstOrDefault(i => i.ItemId == check.RevisionId)?.Number.ToString() ?? ""; } } _levels.Clear(); _levels = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <FindingLevelsDTO, FindingLevels>(new [] { new Filter("OperatorId", _operatorId), new Filter("ProgramTypeId", _manual.ProgramTypeId), }); foreach (var check in _addedChecks) { 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; } var records = GlobalObjects.CaaEnvironment.NewLoader .GetObjectListAll <RoutineAuditRecordDTO, RoutineAuditRecord>(new Filter("RoutineAuditId", _routineId), loadChild: true).ToList(); var ids = records.Select(i => i.CheckListId); foreach (var id in ids) { var item = _addedChecks.FirstOrDefault(i => i.ItemId == id); if (item == null) { continue; } _addedChecks.Remove(item); _updateChecks.Add(item); } }
public StandartManualForm(SmartCore.CAA.StandartManual.StandartManual standartManual) { _standartManual = standartManual; InitializeComponent(); UpdateInformation(); }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { _initialDocumentArray.Clear(); _resultDocumentArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load directives"); _audit = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CAAAuditDTO, CAAAudit>(_parentId); var records = GlobalObjects.CaaEnvironment.NewLoader .GetObjectListAll <CAAAuditRecordDTO, CAAAuditRecord>(new Filter("AuditId", _parentId), loadChild: true).ToList(); _currentRoutineId = records.Select(i => i.RoutineAuditId).FirstOrDefault(); _routineAudit = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <RoutineAuditDTO, SmartCore.CAA.RoutineAudits.RoutineAudit>(_currentRoutineId.Value); var manuals = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <StandartManualDTO, SmartCore.CAA.StandartManual.StandartManual>(new [] { new Filter("OperatorId", new [] { _operatorId, -1 }.Distinct()), new Filter("ProgramTypeId", _routineAudit.Settings.TypeId), }); _manual = manuals.FirstOrDefault(); var routines = GlobalObjects.CaaEnvironment.NewLoader .GetObjectListAll <RoutineAuditRecordDTO, RoutineAuditRecord>(new Filter("RoutineAuditId", _currentRoutineId), loadChild: true).ToList(); var ids = new List <int>(); if (_type == CheckListAuditType.Admin) { if (_audit.Settings.Status == RoutineStatus.Published) { var ds = GlobalObjects.CaaEnvironment.NewLoader.Execute($@"select CheckListId from dbo.AuditChecks where AuditId in ({_parentId}) and IsDeleted = 0 and WorkflowStageId = {_stage.Value}"); var dt = ds.Tables[0]; ids.AddRange(from DataRow dr in dt.Rows select(int) dr[0]); } else { ids = routines.Select(i => i.CheckListId).Distinct().ToList(); } } else { var condition = _stage.HasValue ? $" and ac.WorkflowStageId = {_stage}" : ""; var ds = GlobalObjects.CaaEnvironment.NewLoader.Execute($@"SELECT rec.CheckListId FROM [AuditPelRecords] rec cross apply ( select SpecialistId as Auditor from [dbo].[PelSpecialist] where ItemId = rec.AuditorId ) as auditor cross apply ( select SpecialistId as Auditee from [dbo].[PelSpecialist] where ItemId = rec.AuditeeId ) as auditee cross apply ( select JSON_VALUE(SettingsJSON, '$.WorkflowStageId') as WorkflowStageId from [dbo].AuditChecks where AuditId = rec.AuditId and CheckListId = rec.CheckListId ) as ac where rec.AuditId in ({_parentId}) and rec.IsDeleted = 0 {condition} and (auditor.Auditor = {GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId} or auditee.Auditee = {GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId})"); var dt = ds.Tables[0]; ids.AddRange(from DataRow dr in dt.Rows select(int) dr[0]); } if (ids.Any()) { var filter = new List <Filter>() { new Filter("CheckListId", ids), new Filter("AuditId", _audit.ItemId) }; if (_stage.HasValue) { filter.Add(new Filter("WorkflowStageId", _stage.Value)); } var auditChecks = GlobalObjects.CaaEnvironment.NewLoader .GetObjectListAll <AuditCheckDTO, AuditCheck>(filter, loadChild: true).ToList(); _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectListAll <CheckListDTO, CheckLists>(new Filter("ItemId", ids), loadChild: true, true)); var revisions = new List <CheckListRevision>(); var revedIds = _initialDocumentArray.Where(i => i.RevisionId.HasValue).Select(i => i.RevisionId.Value).Distinct().ToList(); revedIds.AddRange(_initialDocumentArray.Select(i => i.EditionId).Distinct()); if (revedIds.Any()) { revisions.AddRange(GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRevisionDTO, CheckListRevision>(new List <Filter>() { new Filter("ItemId", values: revedIds), })); } foreach (var check in _initialDocumentArray) { check.AuditCheck = auditChecks.FirstOrDefault(i => i.CheckListId == check.ItemId); check.RevisionNumber = revisions.FirstOrDefault(i => i.ItemId == check.RevisionId)?.Number.ToString() ?? ""; check.EditionNumber = revisions.FirstOrDefault(i => i.ItemId == check.RevisionId)?.Number.ToString() ?? ""; } } var pelRecords = GlobalObjects.CaaEnvironment.NewLoader .GetObjectListAll <AuditPelRecordDTO, AuditPelRecord>(new Filter("AuditId", _parentId)); if (records.Any()) { var pelSpec = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <PelSpecialistDTO, PelSpecialist>(new Filter("AuditId", _parentId)); var specIds = pelSpec.Select(i => i.SpecialistId); var specialists = GlobalObjects.CaaEnvironment.NewLoader .GetObjectListAll <CAASpecialistDTO, Specialist>(new Filter("ItemId", specIds), loadChild: true); foreach (var specialist in specialists) { specialist.Operator = GlobalObjects.CaaEnvironment.AllOperators.FirstOrDefault(i => i.ItemId == specialist.OperatorId) ?? AllOperators.Unknown; } foreach (var pel in pelSpec) { pel.Specialist = specialists.FirstOrDefault(i => i.ItemId == pel.SpecialistId); } var dsTransfer = GlobalObjects.CaaEnvironment.NewLoader.Execute($@";WITH cte AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY CheckListId ORDER BY Created DESC) AS rn FROM [CheckListTransfer] where AuditId = {_parentId} ) SELECT CheckListId, [From], [To] FROM cte WHERE rn = 1 and IsDeleted = 0"); var transfers = dsTransfer.Tables[0].Rows.OfType <DataRow>().Select(i => new { CheckListId = (int)i[0], From = (int)i[1], To = (int)i[2], }); foreach (var rec in pelRecords) { rec.CheckList = _initialDocumentArray.FirstOrDefault(i => i.ItemId == rec.CheckListId); rec.Auditor = pelSpec.FirstOrDefault(i => i.ItemId == rec.AuditorId)?.Specialist ?? Specialist.Unknown; rec.Auditee = pelSpec.FirstOrDefault(i => i.ItemId == rec.AuditeeId)?.Specialist ?? Specialist.Unknown; var tr = transfers.FirstOrDefault(i => i.CheckListId == rec.CheckListId); if (tr != null) { rec.CurrentAuditor = pelSpec.FirstOrDefault(i => i.SpecialistId == tr.To)?.Specialist ?? Specialist.Unknown; } } } var levels = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <FindingLevelsDTO, FindingLevels>(new [] { new Filter("OperatorId", _operatorId), new Filter("ProgramTypeId", _manual.ProgramTypeId), }); foreach (var check in _initialDocumentArray) { check.PelRecord = pelRecords.FirstOrDefault(i => i.CheckListId == check.ItemId); if (check.PelRecord?.CurrentAuditor?.ItemId == GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId) { check.IsEditable = true; } 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; } AnimatedThreadWorker.ReportProgress(40, "filter directives"); AnimatedThreadWorker.ReportProgress(70, "filter directives"); FilterItems(_initialDocumentArray, _resultDocumentArray); AnimatedThreadWorker.ReportProgress(100, "Complete"); }