///<summary> ///</summary> public EducationScreen(Operator currentOperator, CAAEducationManagment educationManagment) { _educationManagment = educationManagment; InitializeComponent(); aircraftHeaderControl1.Operator = currentOperator; statusControl.ShowStatus = true; statusControl.ShowOperatorAircraft = false; }
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"); }
private void FillCollection(List <SmartCore.CAA.CAAEducation.CAAEducation> education, Occupation occupation, Specialist specialist, List <CAAEducationRecord> records, bool isCombination = true) { var educations = education.Where(i => i.OccupationId == occupation.ItemId); if (educations.Any()) { foreach (var ed in educations) { var rec = records.FirstOrDefault(i => i.OccupationId == occupation.ItemId && i.EducationId == ed.ItemId && i.PriorityId == ed.Priority.ItemId && i.SpecialistId == specialist.ItemId); if (rec != null) { rec.Education = ed; } EducationCalculator.CalculateEducation(rec, _toDate); var item = new CAAEducationManagment() { Specialist = specialist, Occupation = occupation, Education = ed, IsCombination = isCombination, Record = rec }; _initialDocumentArray.Add(item); } } else { var item = new CAAEducationManagment() { Specialist = specialist, Occupation = occupation, IsCombination = isCombination }; _initialDocumentArray.Add(item); } }
public void UpdateInformation(CAAEducationManagment managment, AnimatedThreadWorker animatedThreadWorker) { var last = new List <LastComplianceView>(); _animatedThreadWorker = animatedThreadWorker; _record = managment.Record; if (_record.Settings.LastCompliances != null && _record.Settings.LastCompliances.Any()) { foreach (var comp in _record.Settings.LastCompliances.OrderByDescending(i => i.LastDate)) { last.Add(new LastComplianceView() { Record = _record, Course = managment.Education?.Task?.FullName, LastCompliance = comp, Group = "Last compliance" }); } if ((bool)_record.Education?.Task?.Repeat.IsNullOrZero()) { return; } last.Add(new LastComplianceView() { Record = _record, Course = managment.Education?.Task?.FullName, LastCompliance = new LastCompliance(), Group = "Need new compliance" }); } listViewCompliance.SetItemsArray(last.ToArray()); listViewCompliance.AnimatedThreadWorker = _animatedThreadWorker; listViewCompliance.IsEditable = true; }
private void UpdateInformation() { _initialDocumentArray.AddRange(GlobalObjects.CaaEnvironment.NewLoader .GetObjectListAll <CourseRecordDTO, CourseRecord>(new Filter("WorkPackageId", _currentWp.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)); var recordIds = _initialDocumentArray.Select(i => i.ItemId); var documents = GlobalObjects.CaaEnvironment.NewLoader.GetObjectList <CAADocumentDTO, SmartCore.Entities.General.Document>(new Filter("ParentID", recordIds)); foreach (var wpR in _initialDocumentArray) { var r = educationRecords.FirstOrDefault(i => i.ItemId == wpR.ObjectId); if (r == null) { continue; } //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.CloseDocument = documents.FirstOrDefault(i => i.ParentId == wpR.ItemId); wpR.Parent = item; } foreach (var item in _initialDocumentArray) { var r = dataGridViewItems.Rows[dataGridViewItems.Rows.Add(new DataGridViewRow() { Tag = item })]; r.Cells[0].Value = item.Parent.Specialist.FirstName; r.Cells[1].Value = item.Parent.Specialist.LastName; r.Cells[2].Value = item.CloseDocument != null; r.Cells[0].ReadOnly = false; r.Cells[1].ReadOnly = false; r.Cells[2].ReadOnly = false; } } dataGridViewItems.CellClick += DataGridViewItemsOnCellClick; }