public async Task <CheckLists> UpdateCheckList(CheckLists list)
        {
            using (IDbConnection conn = Connection){
                CheckLists _list = new CheckLists {
                    CHECKLISTID = list.CHECKLISTID,
                    TITLE       = list.TITLE,
                    USERID      = list.USERID,
                    CARDID      = list.CARDID
                };

                var _params = new DynamicParameters();
                _params.Add("@title", _list.TITLE);
                _params.Add("@userid", _list.USERID);
                _params.Add("@cardid", _list.CARDID);
                _params.Add("@checklistid", _list.CHECKLISTID);

                string sQuery = @"update CHECKLISTS set ";
                sQuery += " TITLE=@title, ";
                sQuery += " CARDID=@CARDID, ";
                sQuery += " USERID=@USERID ";
                sQuery += " where CHECKLISTID=@checklistid";
                var affectedRows = await conn.ExecuteAsync(sQuery, _params);

                if (affectedRows == 0)
                {
                    return(null);
                }
                return(_list);
            }
        }
示例#2
0
        protected override List <CustomCell> GetListViewSubItems(CheckLists item)
        {
            var author = GlobalObjects.CaaEnvironment?.GetCorrector(item);

            var subItems = new List <CustomCell>()
            {
                CreateRow(item.RevisionStatus.ToString(), item.RevisionStatus),
                CreateRow(item.Source, item.Source),
                CreateRow(item.SettingsIcao.AnnexRef, item.SettingsIcao.AnnexRef),
                CreateRow(item.SettingsIcao.PartNumber, item.SettingsIcao.PartNumber),
                CreateRow(item.SettingsIcao.PartName, item.SettingsIcao.PartName),
                CreateRow(item.SettingsIcao.ChapterNumber, item.SettingsIcao.ChapterName),
                CreateRow(item.SettingsIcao.ChapterName, item.SettingsIcao.ChapterName),
                CreateRow(item.SettingsIcao.ItemNumber, item.SettingsIcao.ItemNumber),
                CreateRow(item.SettingsIcao.ItemtName, item.SettingsIcao.ItemtName),
                CreateRow(item.SettingsIcao.Standard, item.SettingsIcao.Standard),
                CreateRow(item.Level.ToString(), item.Level),
                CreateRow(item.EditionNumber.ToString(), item.EditionNumber),
                CreateRow(item.RevisionNumber.ToString(), item.RevisionNumber),
                CreateRow(item.Changes, item.Changes),
                CreateRow(author, author),
            };

            return(subItems);
        }
示例#3
0
        protected override List <CustomCell> GetListViewSubItems(CheckLists item)
        {
            var author = GlobalObjects.CaaEnvironment?.GetCorrector(item);

            var subItems = new List <CustomCell>()
            {
                CreateRow(item.RevisionStatus.ToString(), item.RevisionStatus),
                CreateRow(item.Settings.SectionNumber, item.Settings.SectionNumber),
                CreateRow(item.Settings.SectionName, item.Settings.SectionName),
                CreateRow(item.Settings.PartNumber, item.Settings.PartNumber),
                CreateRow(item.Settings.PartName, item.Settings.PartName),
                CreateRow(item.Settings.SubPartNumber, item.Settings.SubPartNumber),
                CreateRow(item.Settings.SubPartName, item.Settings.SubPartName),
                CreateRow(item.Settings.ItemNumber, item.Settings.ItemNumber),
                CreateRow(item.Settings.ItemtName, item.Settings.ItemtName),
                CreateRow(item.Settings.Requirement, item.Settings.Requirement),
                CreateRow("", ""),
                CreateRow(item.Source, item.Source),
                CreateRow(item.Level.ToString(), item.Level),
                CreateRow(item.EditionNumber.ToString(), item.EditionNumber),
                CreateRow(item.RevisionNumber.ToString(), item.RevisionNumber),
                CreateRow(item.Changes, item.Changes),
                CreateRow(author, author)
            };

            return(subItems);
        }
示例#4
0
        protected override IEnumerable <string> MergeDependencies(IJsonCard json, bool overwrite)
        {
            var properties = BadgesContext.Merge(json.Badges, overwrite)
                             .Select(p => $"{nameof(Card.Badges)}.{p}")
                             .ToList();

            if (json.Actions != null)
            {
                Actions.Update(json.Actions.Select(a => a.GetFromCache <Action, IJsonAction>(Auth, overwrite)));
                properties.Add(nameof(Card.Actions));
            }
            if (json.Attachments != null)
            {
                Attachments.Update(json.Attachments.Select(a => a.TryGetFromCache <Attachment, IJsonAttachment>(overwrite) ?? new Attachment(a, Data.Id, Auth)));
                properties.Add(nameof(Card.Attachments));
            }
            if (json.CheckLists != null)
            {
                CheckLists.Update(json.CheckLists.Select(a => a.GetFromCache <CheckList, IJsonCheckList>(Auth, overwrite)));
                properties.Add(nameof(Card.CheckLists));
            }
            if (json.Comments != null)
            {
                Comments.Update(json.Comments.Select(a => a.GetFromCache <Action, IJsonAction>(Auth, overwrite)));
                properties.Add(nameof(Card.Comments));
            }
            if (json.CustomFields != null)
            {
                CustomFields.Update(json.CustomFields.Select(a => a.GetFromCache <CustomField, IJsonCustomField>(Auth, overwrite, Data.Id)));
                properties.Add(nameof(Card.CustomFields));
            }
            if (json.Labels != null)
            {
                Labels.Update(json.Labels.Select(a => a.GetFromCache <Label, IJsonLabel>(Auth, overwrite)));
                properties.Add(nameof(Card.Labels));
            }
            if (json.Members != null)
            {
                Members.Update(json.Members.Select(a => a.GetFromCache <Member, IJsonMember>(Auth, overwrite)));
                properties.Add(nameof(Card.Members));
            }
            if (json.PowerUpData != null)
            {
                PowerUpData.Update(json.PowerUpData.Select(a => a.GetFromCache <PowerUpData, IJsonPowerUpData>(Auth, overwrite)));
                properties.Add(nameof(Card.PowerUpData));
            }
            if (json.Stickers != null)
            {
                Stickers.Update(json.Stickers.Select(a => a.TryGetFromCache <Sticker, IJsonSticker>(overwrite) ?? new Sticker(a, Data.Id, Auth)));
                properties.Add(nameof(Card.Stickers));
            }
            if (json.MembersVoted != null)
            {
                VotingMembers.Update(json.MembersVoted.Select(a => a.GetFromCache <Member, IJsonMember>(Auth, overwrite)));
                properties.Add(nameof(Card.VotingMembers));
            }

            return(properties);
        }
示例#5
0
        protected override List <CustomCell> GetListViewSubItems(CheckLists item)
        {
            var author = GlobalObjects.CaaEnvironment?.GetCorrector(item);


            var condition = "Unknown";
            var root      = "";
            var status    = WorkFlowStatus.Unknown;

            if (item.AuditCheck != null)
            {
                root   = item.AuditCheck.Settings.RootCause;
                status = WorkFlowStatus.GetItemById(item.AuditCheck.Settings.WorkflowStatusId);

                if (item.AuditCheck.Settings.IsApplicable.HasValue && item.AuditCheck.Settings.IsApplicable.Value)
                {
                    condition = "Not Applicable";
                }
                else
                {
                    if (item.AuditCheck.Settings.IsSatisfactory.HasValue)
                    {
                        if (item.AuditCheck.Settings.IsSatisfactory.Value)
                        {
                            condition = "Satisfactory";
                        }
                        else
                        {
                            condition = "Not Satisfactory";
                        }
                    }
                }
            }

            var subItems = new List <CustomCell>()
            {
                CreateRow(item.Settings.SectionNumber, item.Settings.SectionNumber),
                CreateRow(item.Settings.SectionName, item.Settings.SectionName),
                CreateRow(item.Settings.PartNumber, item.Settings.PartNumber),
                CreateRow(item.Settings.PartName, item.Settings.PartName),
                CreateRow(item.Settings.SubPartNumber, item.Settings.SubPartNumber),
                CreateRow(item.Settings.SubPartName, item.Settings.SubPartName),
                CreateRow(item.Settings.ItemNumber, item.Settings.ItemNumber),

                CreateRow(item.Settings.Requirement, item.Settings.Requirement),

                CreateRow(item.Level.ToString(), item.Level),
                CreateRow(condition, condition),
                CreateRow(root, root),
                CreateRow(status.ToString(), status),

                CreateRow(author, author)
            };

            return(subItems);
        }
示例#6
0
        public CheckListCAPForm(CheckLists currentCheck, int auditId, bool editable = false)
        {
            _currentCheck = currentCheck;
            _auditId      = auditId;
            InitializeComponent();

            _animatedThreadWorker.DoWork             += AnimatedThreadWorkerDoLoad;
            _animatedThreadWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerLoadCompleted;
            _animatedThreadWorker.RunWorkerAsync();
        }
示例#7
0
        public CheckListSAFAForm(CheckLists currentCheck, bool enable = true) : this()
        {
            _currentCheck = currentCheck;
            _enable       = enable;
            _animatedThreadWorker.DoWork             += AnimatedThreadWorkerDoLoad;
            _animatedThreadWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerLoadCompleted;
            _animatedThreadWorker.RunWorkerAsync();

            EnabledControls(enable);
        }
示例#8
0
        protected override List <CustomCell> GetListViewSubItems(CheckLists item)
        {
            var author = GlobalObjects.CaaEnvironment?.GetCorrector(item);

            var auditor = Specialist.Unknown.FirstName;
            var auditee = Specialist.Unknown.FirstName;
            var current = "";

            var status = WorkFlowStatus.Unknown;
            var stage  = WorkFlowStage.Unknown;

            if (item.AuditCheck != null)
            {
                status = WorkFlowStatus.GetItemById(item.AuditCheck.Settings.WorkflowStatusId);
                stage  = WorkFlowStage.GetItemById(item.AuditCheck.Settings.WorkflowStageId);
            }

            if (item.PelRecord != null)
            {
                auditor = $"{item.PelRecord?.Auditor.FirstName} {item.PelRecord?.Auditor.LastName}";
                auditee = $"{item.PelRecord?.Auditee.FirstName} {item.PelRecord?.Auditee.LastName}";
                if (item.PelRecord?.CurrentAuditor != null)
                {
                    current = $"{item.PelRecord?.CurrentAuditor.FirstName} {item.PelRecord?.CurrentAuditor.LastName}";
                }
                else
                {
                    current = $"My Tasks";
                }
            }

            var subItems = new List <CustomCell>()
            {
                CreateRow(item.Source, item.Source),
                CreateRow(item.SettingsIcao.AnnexRef, item.SettingsIcao.AnnexRef),
                CreateRow(item.SettingsIcao.PartNumber, item.SettingsIcao.PartNumber),
                CreateRow(item.SettingsIcao.PartName, item.SettingsIcao.PartName),
                CreateRow(item.SettingsIcao.ChapterNumber, item.SettingsIcao.ChapterName),
                CreateRow(item.SettingsIcao.ChapterName, item.SettingsIcao.ChapterName),
                CreateRow(item.SettingsIcao.ItemNumber, item.SettingsIcao.ItemNumber),
                CreateRow(item.SettingsIcao.ItemtName, item.SettingsIcao.ItemtName),
                CreateRow(item.SettingsIcao.Standard, item.SettingsIcao.Standard),
                CreateRow(item.Level.ToString(), item.Level),
                CreateRow(stage.ToString(), stage),
                CreateRow(status.ToString(), status),
                CreateRow(auditor, item.PelRecord?.Auditor),
                CreateRow(auditee, item.PelRecord?.Auditee),
                CreateRow(current, item.PelRecord?.CurrentAuditor),
                CreateRow(author, author),
            };

            return(subItems);
        }
示例#9
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            if (_currentCheck == null)
            {
                return;
            }

            _currentCheck =
                GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListDTO, CheckLists>(_currentCheck.ItemId);

            _currentCheck.EditionNumber = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListRevisionDTO, CheckListRevision>(_currentCheck.EditionId)?.Number.ToString() ?? "";
            if (_currentCheck.RevisionId.HasValue)
            {
                _currentCheck.RevisionNumber = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListRevisionDTO, CheckListRevision>(_currentCheck.RevisionId.Value)?.Number.ToString() ?? "";
            }

            _currentAuditCheck =
                GlobalObjects.CaaEnvironment.NewLoader.GetObject <AuditCheckDTO, AuditCheck>(new List <Filter>()
            {
                new Filter("AuditId", _auditId),
                new Filter("CheckListId", _currentCheck.ItemId),
            });
            if (_currentAuditCheck == null)
            {
                _currentAuditCheck = new AuditCheck()
                {
                    CheckListId = _currentCheck.ItemId,
                    AuditId     = _auditId
                };
                GlobalObjects.CaaEnvironment.NewKeeper.Save(_currentAuditCheck);
            }

            var records =
                GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRecordDTO, CheckListRecords>(
                    new Filter("CheckListId", _currentCheck.ItemId));

            _currentCheck.CheckListRecords.Clear();
            _currentCheck.CheckListRecords.AddRange(records);

            _currentCheck.Level = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <FindingLevelsDTO, FindingLevels>(_currentCheck.Settings.LevelId) ??
                                  FindingLevels.Unknown;

            var record = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <AuditPelRecordDTO, AuditPelRecord>(new List <Filter>()
            {
                new Filter("AuditId", _auditId),
                new Filter("CheckListId", _currentAuditCheck.CheckListId),
            });
            var pel = record.FirstOrDefault();

            _auditor = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <PelSpecialistDTO, PelSpecialist>(pel.AuditorId);
        }
示例#10
0
        public CheckListAuditForm(CheckLists currentCheck, int auditId, bool editable = false)
        {
            InitializeComponent();
            _currentCheck = currentCheck;
            _auditId      = auditId;
            _editable     = editable;

            ButtonWf.Visible = _editable;
            button1.Visible  = _editable;

            _animatedThreadWorker.DoWork             += AnimatedThreadWorkerDoLoad;
            _animatedThreadWorker.RunWorkerCompleted += BackgroundWorkerRunWorkerLoadCompleted;
            _animatedThreadWorker.RunWorkerAsync();
        }
示例#11
0
        protected override List <CustomCell> GetListViewSubItems(CheckLists item)
        {
            var author = GlobalObjects.CaaEnvironment?.GetCorrector(item);

            var subItems = new List <CustomCell>()
            {
                CreateRow(item.Source, item.Source),
                CreateRow(item.SettingsSafa.Item, item.SettingsSafa.Item),
                CreateRow(item.SettingsSafa.Title, item.SettingsSafa.Title),
                CreateRow(item.SettingsSafa.Standard, item.SettingsSafa.Standard),
                CreateRow(item.SettingsSafa.StandardRef, item.SettingsSafa.StandardRef),
                CreateRow(item.SettingsSafa.PdfCode, item.SettingsSafa.PdfCode),

                CreateRow(author, author)
            };

            return(subItems);
        }
示例#12
0
        public CheckListSAFARevEditForm(CheckLists check, CheckListRevision revision)
        {
            InitializeComponent();
            _currentCheck = check;
            _revision     = revision;
            UpdateInformation();

            if (_revision.Status == EditionRevisionStatus.Current || _revision.Status == EditionRevisionStatus.Previous)
            {
                foreach (var c in this.Controls.OfType <Control>().Where(i => !(i.GetType() == typeof(Button))))
                {
                    if (c.GetType().ToString() == "MetroFramework.Forms.MetroForm+MetroFormButton")
                    {
                        continue;
                    }
                    c.Enabled = false;
                }
            }
        }
示例#13
0
        protected override List <CustomCell> GetListViewSubItems(CheckLists item)
        {
            var author = GlobalObjects.CaaEnvironment?.GetCorrector(item);

            var subItems = new List <CustomCell>()
            {
                CreateRow(item.RevisionStatus.ToString(), item.RevisionStatus),
                CreateRow(item.Source, item.Source),
                CreateRow(item.SettingsSafa.Item, item.SettingsSafa.Item),
                CreateRow(item.SettingsSafa.Title, item.SettingsSafa.Title),
                CreateRow(item.SettingsSafa.Standard, item.SettingsSafa.Standard),
                CreateRow(item.SettingsSafa.StandardRef, item.SettingsSafa.StandardRef),
                CreateRow(item.SettingsSafa.PdfCode, item.SettingsSafa.PdfCode),
                CreateRow(item.Level.ToString(), item.Level),
                CreateRow(item.EditionNumber.ToString(), item.EditionNumber),
                CreateRow(item.RevisionNumber.ToString(), item.RevisionNumber),
                CreateRow(item.Changes, item.Changes),
                CreateRow(author, author)
            };

            return(subItems);
        }
示例#14
0
        public async Task <CheckLists> AddCheckList(CheckLists list)
        {
            using (IDbConnection conn = Connection){
                CheckLists _list = new CheckLists {
                    CHECKLISTID = -1,
                    TITLE       = list.TITLE,
                    USERID      = list.USERID,
                    CARDID      = list.CARDID,
                    ITEMS       = new List <CheckListItems>()
                };

                var _params = new DynamicParameters();
                _params.Add("@title", _list.TITLE);
                _params.Add("@userid", _list.USERID);
                _params.Add("@cardid", _list.CARDID);
                _params.Add(name: "@v_checklistid", value: _list.CHECKLISTID, dbType: DbType.Int64,
                            direction: ParameterDirection.InputOutput);

                string sQuery = @" begin ";
                sQuery += " insert into CHECKLISTS(TITLE,USERID,CARDID) values (@title,@userid,@cardid) ";
                sQuery += " set @v_checklistid=SCOPE_IDENTITY()";
                sQuery += " end ";
                //try{
                var affectedRows = await conn.ExecuteAsync(sQuery, _params);

                if (affectedRows > 0)
                {
                    Int64 newListId = _params.Get <Int64>("@v_checklistid");
                    _list.CHECKLISTID = newListId;
                }

//                }catch(Exception ex){
//                  return null;
//            }

                return(_list);
            }
        }
示例#15
0
        public async Task <ActionResult <CheckLists> > UpdateCheckList([FromBody] CheckLists model)
        {
            var _list = new CheckLists
            {
                CHECKLISTID = model.CHECKLISTID,
                TITLE       = model.TITLE,
                CARDID      = model.CARDID,
                USERID      = model.USERID
            };

            var result = await _lists.UpdateCheckList(_list);

            if (result == null)
            {
                return(BadRequest("Record is not updated 1"));
            }

            if (result.CHECKLISTID == -1)
            {
                return(BadRequest("Record is not updated 2"));
            }

            return(await Task.FromResult(_list));
        }
示例#16
0
 public CheckListForm(CheckLists currentCheck, int revisionId) : this(currentCheck)
 {
     _revisionId = revisionId;
 }
示例#17
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            if (_currentCheck == null)
            {
                return;
            }

            _fromList.Clear();
            _toList.Clear();

            _currentCheck = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListDTO, CheckLists>(_currentCheck.ItemId);

            _currentCheck.EditionNumber = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListRevisionDTO, CheckListRevision>(_currentCheck.EditionId)?.Number.ToString() ?? "";
            if (_currentCheck.RevisionId.HasValue)
            {
                _currentCheck.RevisionNumber = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListRevisionDTO, CheckListRevision>(_currentCheck.RevisionId.Value)?.Number.ToString() ?? "";
            }

            _currentAuditCheck =
                GlobalObjects.CaaEnvironment.NewLoader.GetObject <AuditCheckDTO, AuditCheck>(new List <Filter>()
            {
                new Filter("AuditId", _auditId),
                new Filter("CheckListId", _currentCheck.ItemId),
            });
            if (_currentAuditCheck == null)
            {
                _currentAuditCheck = new AuditCheck()
                {
                    CheckListId = _currentCheck.ItemId,
                    AuditId     = _auditId
                };
                GlobalObjects.CaaEnvironment.NewKeeper.Save(_currentAuditCheck);
            }

            var records =
                GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRecordDTO, CheckListRecords>(
                    new Filter("CheckListId", _currentCheck.ItemId));


            _currentCheck.CheckListRecords.Clear();
            _currentCheck.CheckListRecords.AddRange(records);

            _currentCheck.Level = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <FindingLevelsDTO, FindingLevels>(_currentCheck.Settings.LevelId) ??
                                  FindingLevels.Unknown;


            var record = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <AuditPelRecordDTO, AuditPelRecord>(new List <Filter>()
            {
                new Filter("AuditId", _auditId),
                new Filter("CheckListId", _currentAuditCheck.CheckListId),
            });
            var pel = record.FirstOrDefault();

            _auditor = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <PelSpecialistDTO, PelSpecialist>(pel.AuditorId);


            var audit = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CAAAuditDTO, CAAAudit>(_auditId);
            var roots = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <RootCauseDTO, RootCause>(new Filter("OperatorId", new List <int>()
            {
                audit.OperatorId, AllOperators.Unknown.ItemId
            }));

            foreach (var root in roots)
            {
                if ((bool)_currentAuditCheck.Settings.RootCauseIds?.Any(i => i == root.ItemId))
                {
                    _toList.Add(root);
                }
                else
                {
                    _fromList.Add(root);
                }
            }
        }
示例#18
0
        private void ButtonAddDisplayerRequested(object sender, ReferenceEventArgs e)
        {
            var check = new CheckLists
            {
                OperatorId  = _operatorId,
                ManualId    = _manual.ItemId,
                ProgramType = ProgramType.GetItemById(_manual.ProgramTypeId)
            };

            if (check.CheckUIType == CheckUIType.Iosa)
            {
                check.Settings = new CheckListSettings()
                {
                    ProgramTypeId = _manual.ProgramType.ItemId
                };

                if (_parent.Type == RevisionType.Revision)
                {
                    check.EditionId = -1;
                    var form = new CheckListForm.CheckListForm(check, _parent.ItemId);
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        AnimatedThreadWorker.RunWorkerAsync();
                    }
                }
                else
                {
                    check.EditionId = _parent.ItemId;
                    var form = new CheckListForm.CheckListForm(check);
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        AnimatedThreadWorker.RunWorkerAsync();
                    }
                }
            }
            else if (check.CheckUIType == CheckUIType.Safa)
            {
                check.SettingsSafa = new CheckListSettingsSAFA()
                {
                    ProgramTypeId = _manual.ProgramType.ItemId
                };

                if (_parent.Type == RevisionType.Revision)
                {
                    check.EditionId = -1;
                    var form = new CheckListForm.CheckListSAFAForm(check, _parent.ItemId);
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        AnimatedThreadWorker.RunWorkerAsync();
                    }
                }
                else
                {
                    check.EditionId = _parent.ItemId;
                    var form = new CheckListForm.CheckListSAFAForm(check);
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        AnimatedThreadWorker.RunWorkerAsync();
                    }
                }
            }
            else if (check.CheckUIType == CheckUIType.Icao)
            {
                check.SettingsIcao = new CheckListICAOSettings()
                {
                    ProgramTypeId = _manual.ProgramType.ItemId
                };

                if (_parent.Type == RevisionType.Revision)
                {
                    check.EditionId = -1;
                    var form = new CheckListForm.CheckListICAOForm(check, _parent.ItemId);
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        AnimatedThreadWorker.RunWorkerAsync();
                    }
                }
                else
                {
                    check.EditionId = _parent.ItemId;
                    var form = new CheckListForm.CheckListICAOForm(check);
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        AnimatedThreadWorker.RunWorkerAsync();
                    }
                }
            }
            else
            {
                MessageBox.Show($"For ProgramType:{_manual.ProgramType} form not found!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                e.Cancel = true;
            }
        }
示例#19
0
        private void AnimatedThreadWorkerDoLoad(object sender, DoWorkEventArgs e)
        {
            if (_currentCheck == null)
            {
                return;
            }

            if (_currentCheck.AuditCheck.Settings.WorkflowStatusId == WorkFlowStatus.Open.ItemId &&
                _currentCheck.AuditCheck.Settings.WorkflowStageId == WorkFlowStage.View.ItemId)
            {
                if (_currentCheck.PelRecord?.Auditor.ItemId == GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId)
                {
                    _currentCheck.AuditCheck.Settings.IsAuditorReview = true;
                    GlobalObjects.CaaEnvironment.NewKeeper.Save(_currentCheck.AuditCheck);
                }
                else if (_currentCheck.PelRecord?.Auditee.ItemId == GlobalObjects.CaaEnvironment.IdentityUser.PersonnelId)
                {
                    _currentCheck.AuditCheck.Settings.IsAuditeeReview = true;
                    GlobalObjects.CaaEnvironment.NewKeeper.Save(_currentCheck.AuditCheck);
                }

                if (_currentCheck.AuditCheck.Settings.IsAuditorReview.HasValue && _currentCheck.AuditCheck.Settings.IsAuditeeReview.HasValue &&
                    _currentCheck.AuditCheck.Settings.IsAuditorReview.Value && _currentCheck.AuditCheck.Settings.IsAuditeeReview.Value)
                {
                    _currentCheck.AuditCheck.Settings.WorkflowStatusId = WorkFlowStatus.Review.ItemId;
                    GlobalObjects.CaaEnvironment.NewKeeper.Save(_currentCheck.AuditCheck);
                }
            }


            _currentCheck =
                GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListDTO, CheckLists>(_currentCheck.ItemId);

            _currentCheck.EditionNumber = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListRevisionDTO, CheckListRevision>(_currentCheck.EditionId)?.Number.ToString() ?? "";
            if (_currentCheck.RevisionId.HasValue)
            {
                _currentCheck.RevisionNumber = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <CheckListRevisionDTO, CheckListRevision>(_currentCheck.RevisionId.Value)?.Number.ToString() ?? "";
            }

            _currentAuditCheck =
                GlobalObjects.CaaEnvironment.NewLoader.GetObject <AuditCheckDTO, AuditCheck>(new List <Filter>()
            {
                new Filter("AuditId", _auditId),
                new Filter("CheckListId", _currentCheck.ItemId),
            });
            if (_currentAuditCheck == null)
            {
                _currentAuditCheck = new AuditCheck()
                {
                    CheckListId = _currentCheck.ItemId,
                    AuditId     = _auditId
                };
                GlobalObjects.CaaEnvironment.NewKeeper.Save(_currentAuditCheck);
            }

            if (_currentAuditCheck.ItemId > 0)
            {
                _currentAuditCheckRecords = new List <AuditCheckRecord>(
                    GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <AuditCheckRecordDTO, AuditCheckRecord>(
                        new Filter("AuditRecordId", _currentAuditCheck.ItemId)));
            }
            else
            {
                _currentAuditCheckRecords = new List <AuditCheckRecord>();
            }


            var records =
                GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CheckListRecordDTO, CheckListRecords>(
                    new Filter("CheckListId", _currentCheck.ItemId));


            foreach (var rec in records)
            {
                var find = _currentAuditCheckRecords.FirstOrDefault(i => i.CheckListRecordId == rec.ItemId);
                if (find == null)
                {
                    var newRecord = new AuditCheckRecord()
                    {
                        CheckListRecordId = rec.ItemId,
                        AuditRecordId     = _currentAuditCheck.ItemId,
                        CheckListRecord   = rec
                    };
                    GlobalObjects.CaaEnvironment.NewKeeper.Save(newRecord);

                    _currentAuditCheckRecords.Add(newRecord);
                }
                else
                {
                    find.CheckListRecord = rec;
                }
            }

            _currentCheck.CheckListRecords.Clear();
            _currentCheck.CheckListRecords.AddRange(records);

            _currentCheck.Level = GlobalObjects.CaaEnvironment.NewLoader.GetObjectById <FindingLevelsDTO, FindingLevels>(_currentCheck.Settings.LevelId) ??
                                  FindingLevels.Unknown;
        }
示例#20
0
        public virtual int Compare(GridViewRowInfo x, GridViewRowInfo y)
        {
            CheckLists xx = null;
            CheckLists yy = null;

            if (x.Tag is CheckLists)
            {
                xx = x.Tag as CheckLists;
            }
            if (y.Tag is CheckLists)
            {
                yy = y.Tag as CheckLists;
            }


            if (x.Tag is AuditPelRecord)
            {
                xx = (x.Tag as AuditPelRecord).CheckList;
            }
            if (y.Tag is AuditPelRecord)
            {
                yy = (y.Tag as AuditPelRecord).CheckList;
            }

            if (xx == null || y is null)
            {
                return(0);
            }

            if (xx.Settings == null || yy.Settings == null)
            {
                return(0);
            }

            var a = Regex.Replace($"{xx.SectionNumber}|{xx.PartNumber}|{xx.SubPartNumber}|{xx.ItemNumber}", @"\s+", " ");;
            var b = Regex.Replace($"{yy.SectionNumber}|{yy.PartNumber}|{yy.SubPartNumber}|{yy.ItemNumber}", @"\s+", " ");;

            var xParts = a.Split('|')
                         .SelectMany(i => i.Split(' '))
                         .SelectMany(i => i.Split('.'))
                         .ToArray();
            var yParts = b.Split('|')
                         .SelectMany(i => i.Split(' '))
                         .SelectMany(i => i.Split('.'))
                         .ToArray();

            xParts[xParts.Length - 1] = Regex.Replace(xParts[xParts.Length - 1], "[^0-9.]", "");
            yParts[yParts.Length - 1] = Regex.Replace(yParts[yParts.Length - 1], "[^0-9.]", "");



            var partsLength = Math.Max(xParts.Length, yParts.Length);

            if (partsLength > 0)
            {
                for (var i = 0; i < partsLength; i++)
                {
                    if (xParts.Length <= i)
                    {
                        return(-1);                   // 4.2 < 4.2.x
                    }
                    if (yParts.Length <= i)
                    {
                        return(1);
                    }

                    var xPart = xParts[i];
                    var yPart = yParts[i];

                    if (string.IsNullOrEmpty(xPart))
                    {
                        xPart = "0";                             // 5..2->5.0.2
                    }
                    if (string.IsNullOrEmpty(yPart))
                    {
                        yPart = "0";
                    }

                    if (!int.TryParse(xPart, out var xInt) || !int.TryParse(yPart, out var yInt))
                    {
                        // 3.a.45 compare part as string
                        var abcCompare = xPart.CompareTo(yPart);
                        if (abcCompare != 0)
                        {
                            return(_sortMultiplier * abcCompare);
                        }
                        continue;
                    }

                    if (xInt != yInt)
                    {
                        return(_sortMultiplier * (xInt < yInt ? -1 : 1));
                    }
                }
                return(_sortMultiplier * -1);
                //return  0;
            }
            // compare as string
            return(_sortMultiplier * xx.CompareTo(yy));
        }
示例#21
0
 public CheckListSAFAForm(CheckLists currentCheck, int revisionId) : this(currentCheck, true)
 {
     _revisionId = revisionId;
 }
示例#22
0
        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;
            }
        }
示例#23
0
        public int Compare(Group <GridViewRowInfo> x, Group <GridViewRowInfo> y)
        {
            var xx = x.GetItems().FirstOrDefault()?.Tag;
            var yy = y.GetItems().FirstOrDefault()?.Tag;

            if (xx != null && yy != null)
            {
                CheckLists xxx = null;
                CheckLists yyy = null;

                if (xx is CheckLists)
                {
                    xxx = xx as CheckLists;
                }
                if (yy is CheckLists)
                {
                    yyy = yy as CheckLists;
                }


                if (xx is AuditPelRecord)
                {
                    xxx = (xx as AuditPelRecord).CheckList;
                }
                if (yy is AuditPelRecord)
                {
                    yyy = (yy as AuditPelRecord).CheckList;
                }


                if (xx == null || y is null)
                {
                    return(0);
                }

                var xParts = xxx.Group;
                var yParts = yyy.Group;

                var partsLength = Math.Max(xParts.Length, yParts.Length);
                if (partsLength > 0)
                {
                    for (var i = 0; i < partsLength; i++)
                    {
                        if (xParts.Length <= i)
                        {
                            return(-1);                   // 4.2 < 4.2.x
                        }
                        if (yParts.Length <= i)
                        {
                            return(1);
                        }

                        var xPart = xParts[i];
                        var yPart = yParts[i];

                        if (string.IsNullOrEmpty(xPart))
                        {
                            xPart = "0";                             // 5..2->5.0.2
                        }
                        if (string.IsNullOrEmpty(yPart))
                        {
                            yPart = "0";
                        }

                        if (!int.TryParse(xPart, out var xInt) || !int.TryParse(yPart, out var yInt))
                        {
                            // 3.a.45 compare part as string
                            var abcCompare = xPart.CompareTo(yPart);
                            if (abcCompare != 0)
                            {
                                return(-1 * abcCompare);
                            }
                            continue;
                        }

                        if (xInt != yInt)
                        {
                            return(xInt < yInt ? -1 : 1);
                        }
                    }
                    return(0);
                }
            }

            return(-1);
            //return ((object[])x.Key)[0].ToString().CompareTo(((object[])y.Key)[0].ToString());
        }