protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { #region Загрузка элементов if (InitialDirectiveArray == null) { InitialDirectiveArray = new CommonCollection <NonRoutineJob>(); } InitialDirectiveArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load non-routine jobs"); try { InitialDirectiveArray.AddRange(GlobalObjects.NonRoutineJobCore.GetNonRoutineJobsStatus(CurrentAircraft)); } catch (Exception exception) { Program.Provider.Logger.Log("Error while load non-routine jobs", exception); } AnimatedThreadWorker.ReportProgress(40, "load non-routine jobs"); #region Фильтрация директив AnimatedThreadWorker.ReportProgress(70, "filter non-routine jobs"); FilterItems(InitialDirectiveArray, ResultDirectiveArray); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } #endregion AnimatedThreadWorker.ReportProgress(100, "Complete"); #endregion }
public override void DisposeScreen() { if (AnimatedThreadWorker.IsBusy) { AnimatedThreadWorker.CancelAsync(); } AnimatedThreadWorker.Dispose(); _itemsArray.Clear(); _itemsArray = null; if (_toolStripMenuItemTitle != null) { _toolStripMenuItemTitle.Dispose(); } if (_toolStripMenuItemProperties != null) { _toolStripMenuItemProperties.Dispose(); } if (_toolStripSeparator1 != null) { _toolStripSeparator1.Dispose(); } if (_toolStripSeparator2 != null) { _toolStripSeparator2.Dispose(); } if (_contextMenuStrip != null) { _contextMenuStrip.Dispose(); } if (_directivesViewer != null) { _directivesViewer.Dispose(); } Dispose(true); }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { if (_parent == null) { return; } _purchaseArray.Clear(); _resultArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load Quotations"); try { if (filter != null) { _purchaseArray.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectList <PurchaseOrderDTO, PurchaseOrder>(filter)); } else { _purchaseArray.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectList <PurchaseOrderDTO, PurchaseOrder>()); } var supplierShipper = GlobalObjects.CasEnvironment.Loader.GetObjectList <Supplier>(new ICommonFilter[] { new CommonFilter <int>(Supplier.SupplierClassProperty, SupplierClass.Shipper.ItemId) }); foreach (var order in _purchaseArray) { order.ShipCompany = supplierShipper.FirstOrDefault(i => i.ItemId == order.ShipCompanyId) ?? Supplier.Unknown; order.ShipTo = supplierShipper.FirstOrDefault(i => i.ItemId == order.ShipToId) ?? Supplier.Unknown; } } catch (Exception ex) { Program.Provider.Logger.Log("Error while load Quotations", ex); } AnimatedThreadWorker.ReportProgress(20, "calculation Quotations"); AnimatedThreadWorker.ReportProgress(70, "filter Quotations"); FilterItems(_purchaseArray, _resultArray); AnimatedThreadWorker.ReportProgress(100, "Complete"); }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { _initialDirectiveArray.Clear(); _resultDirectiveArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load Transfer records"); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } if (CurrentAircraft != null) { _initialDirectiveArray.AddRange(GlobalObjects.TransferRecordCore.GetTransferRecordsFromAndTo(CurrentAircraft, null) .Where(tr => tr.StartTransferDate >= dateTimePickerDateFrom.Value && tr.TransferDate <= dateTimePickerDateTo.Value)); } else { _initialDirectiveArray.AddRange(GlobalObjects.TransferRecordCore.GetTransferRecordsFromAndTo(null, CurrentStore) .Where(tr => tr.StartTransferDate >= dateTimePickerDateFrom.Value && tr.TransferDate <= dateTimePickerDateTo.Value)); } if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(40, "filter Transfer records"); AnimatedThreadWorker.ReportProgress(70, "filter Transfer records"); AnimatedThreadWorker.ReportProgress(80, "filter documents"); FilterItems(_initialDirectiveArray, _resultDirectiveArray); AnimatedThreadWorker.ReportProgress(100, "Complete"); }
private void ButtonFilterClick(object sender, EventArgs e) { if (string.IsNullOrEmpty(TextBoxFilter.Text)) { initialfilter = null; quotationfilter = null; purchasefilter = null; AnimatedThreadWorker.RunWorkerAsync(); return; } var initial = GlobalObjects.CasEnvironment.Execute(OrdersQueries.InitialSearch(TextBoxFilter.Text)); var quotation = GlobalObjects.CasEnvironment.Execute(OrdersQueries.QuotationSearch(TextBoxFilter.Text)); var purchase = GlobalObjects.CasEnvironment.Execute(OrdersQueries.PurchaseSearch(TextBoxFilter.Text)); var initialids = new List <int>(); foreach (DataRow dRow in initial.Tables[0].Rows) { initialids.Add(int.Parse(dRow[0].ToString())); } var quotationids = new List <int>(); foreach (DataRow dRow in quotation.Tables[0].Rows) { quotationids.Add(int.Parse(dRow[0].ToString())); } var purchaseids = new List <int>(); foreach (DataRow dRow in purchase.Tables[0].Rows) { purchaseids.Add(int.Parse(dRow[0].ToString())); } initialfilter = new Filter("ItemId", initialids); quotationfilter = new Filter("ItemId", quotationids); purchasefilter = new Filter("ItemId", purchaseids); AnimatedThreadWorker.RunWorkerAsync(); }
public override void DisposeScreen() { if (AnimatedThreadWorker.IsBusy) { AnimatedThreadWorker.CancelAsync(); } AnimatedThreadWorker.Dispose(); _itemsArray.Clear(); _itemsArray = null; if (_toolStripMenuItemOpen != null) { _toolStripMenuItemOpen.Dispose(); } if (_toolStripMenuItemHighlight != null) { _toolStripMenuItemHighlight.Dispose(); } if (_toolStripSeparator1 != null) { _toolStripSeparator1.Dispose(); } if (_toolStripSeparator2 != null) { _toolStripSeparator2.Dispose(); } if (_toolStripSeparator4 != null) { _toolStripSeparator4.Dispose(); } if (_directivesViewer != null) { _directivesViewer.Dispose(); } Dispose(true); }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { _itemsArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load Fligths"); GlobalObjects.AircraftFlightsCore.LoadAircraftFlights(CurrentAircraft.ItemId); _currentATLB.AircraftFlightsCollection = GlobalObjects.AircraftFlightsCore.GetFlightsByAtlb(CurrentAircraft.ItemId, _currentATLB.ItemId); foreach (AircraftFlight flight in _currentATLB.AircraftFlightsCollection) { flight.ParentATLB = _currentATLB; } AnimatedThreadWorker.ReportProgress(40, "filter Fligths"); _itemsArray.AddRange(_currentATLB.AircraftFlightsCollection.ToArray()); AnimatedThreadWorker.ReportProgress(70, "filter Fligths"); AnimatedThreadWorker.ReportProgress(100, "Complete"); }
private void ButtonAddClick(object sender, EventArgs e) { if (_initialDocumentArray.Any(i => i.Type == RevisionType.Edition && i.Status == EditionRevisionStatus.Temporary)) { MessageBox.Show("Edition in status Temporary already exist!", "Exclamation", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } var form = new EditionForm(new CheckListRevision { OperatorId = _operatorId, Type = RevisionType.Edition, Status = EditionRevisionStatus.Temporary, ManualId = _manual.ItemId }); if (form.ShowDialog() == DialogResult.OK) { AnimatedThreadWorker.RunWorkerAsync(); } }
private void tempButton_DisplayerRequested(object sender, ReferenceEventArgs e) { tempStore = (AircraftProxy)((Store)(((AircraftReferenceStatusImageLinkLabel)sender).Aircraft)).GetProxy(); if (animatedThreadWorker == null) { if (TaskStart != null) { TaskStart(this, new EventArgs()); } item = (AircraftReferenceStatusImageLinkLabel)sender; e.Cancel = true; animatedThreadWorker = new AnimatedThreadWorker(BackgroundAircraftLoad, sender, this); animatedThreadWorker.State = "Loading " + tempStore.RegistrationNumber; animatedThreadWorker.StartThread(); animatedThreadWorker.WorkFinished += animatedThreadWorker_WorkFinished; } else { e.RequestedEntity = new DispatcheredStoreScreen(tempStore); } }
private void ToolStripMenuItemPublishClick(object sender, EventArgs e) { var mail = _directivesViewer.SelectedItem; mail.PublishingDate = DateTime.Today; mail.Status = MailStatus.Published; try { GlobalObjects.CasEnvironment.NewKeeper.Save(mail); } catch (Exception ex) { Program.Provider.Logger.Log("Error while save document", ex); } AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoWork; AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoFilteringWork; AnimatedThreadWorker.DoWork += AnimatedThreadWorkerDoWork; AnimatedThreadWorker.RunWorkerAsync(); }
private void HeaderControl1ReloadRised(object sender, EventArgs e) { if (_directiveGeneralInformation.GetChangeStatus(true) || _performanceControl.GetChangeStatus()) { if (MessageBox.Show("All unsaved data will be lost. Are you sure you want to continue?", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { _needReload = true; CancelAsync(); AnimatedThreadWorker.RunWorkerAsync(); } } else { _needReload = true; CancelAsync(); AnimatedThreadWorker.RunWorkerAsync(); } }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { #region Загрузка элементов if (InitialDirectiveArray == null) { InitialDirectiveArray = new CommonCollection <Event>(); } InitialDirectiveArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load events"); try { InitialDirectiveArray.AddRange(GlobalObjects.CasEnvironment.NewLoader.GetObjectListAll <EventDTO, Event>(new Filter("AircraftId", CurrentAircraft.ItemId), true)); } catch (Exception exception) { Program.Provider.Logger.Log("Error while load Events", exception); } AnimatedThreadWorker.ReportProgress(40, "load Events"); #region Фильтрация директив AnimatedThreadWorker.ReportProgress(70, "filter Events"); FilterItems(InitialDirectiveArray, ResultDirectiveArray); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } #endregion AnimatedThreadWorker.ReportProgress(100, "Complete"); #endregion }
/// <summary> /// Производит очистку ресурсов страницы /// </summary> public override void DisposeScreen() { if (AnimatedThreadWorker.IsBusy) { AnimatedThreadWorker.CancelAsync(); } AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoWork; AnimatedThreadWorker.RunWorkerCompleted -= AnimatedThreadWorkerRunWorkerCompleted; AnimatedThreadWorker.Dispose(); _initialDirectiveArray.Clear(); _resultDirectiveArray.Clear(); _initialDirectiveArray = null; _resultDirectiveArray = null; if (_additionalFilter != null) { _additionalFilter.Filters.Clear(); _additionalFilter = null; } if (_toolStripMenuItemOpen != null) { _toolStripMenuItemOpen.Dispose(); } if (_toolStripMenuItemShowTaskCard != null) { _toolStripMenuItemShowTaskCard.Dispose(); } if (_directivesViewer != null) { _directivesViewer.Dispose(); } Dispose(true); }
private void ButtonPublishClick(object sender, EventArgs e) { if (_currentDirective.CanPublish == false) { string message = "This Audit can not be published"; if (_currentDirective.BlockPublishReason != "") { message += "\n" + _currentDirective.BlockPublishReason; } MessageBox.Show(message, (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (_currentDirective.Status != WorkPackageStatus.Closed) { GlobalObjects.AuditCore.Publish(_currentDirective, DateTime.Now, ""); } else { switch (MessageBox.Show(@"This Audit is already closed," + "\nif you want to republish it," + "\nrecordings created during its execution will be erased." + "\n\n Republish " + _currentDirective.Title + " Audit?", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2)) { case DialogResult.Yes: GlobalObjects.AuditCore.Publish(_currentDirective, DateTime.Now, ""); break; case DialogResult.No: //arguments.Cancel = true; break; } } AnimatedThreadWorker.RunWorkerAsync(); }
private void ButtonDeleteClick(object sender, EventArgs e) { if (_directivesViewer.SelectedItems == null || _directivesViewer.SelectedItems.Count == 0) { return; } DialogResult confirmResult = MessageBox.Show(_directivesViewer.SelectedItems.Count == 1 ? "Do you really want to delete specialization " + _directivesViewer.SelectedItems[0].FullName + "?" : "Do you really want to delete selected specializations? ", "Confirm delete operation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (confirmResult == DialogResult.Yes) { _directivesViewer.radGridView1.BeginUpdate(); GlobalObjects.NewKeeper.Delete(_directivesViewer.SelectedItems.OfType <BaseEntityObject>().ToList(), true); _directivesViewer.radGridView1.EndUpdate(); AnimatedThreadWorker.RunWorkerAsync(); } }
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; }
/// <summary> /// Проверяет, выполняет ли AnimatedThreadWorker задачу, и производит отмену выполнения /// </summary> protected override void CancelAsync() { if (AnimatedThreadWorker.IsBusy) { AnimatedThreadWorker.CancelAsync(); } if (_directiveGeneralInformation != null) { _directiveGeneralInformation.CancelAsync(); } if (_performanceControl != null) { _performanceControl.CancelAsync(); } if (_complianceControl != null) { _complianceControl.CalcelAsync(); } }
private void HeaderControlButtonSaveClick(object sender, EventArgs e) { ATLB lastAtlb = null; //TODO:(Evgenii Babak) создать новый метод FindLastATLB if (_currentAtlb == null) { var lastFlight = GlobalObjects.AircraftFlightsCore.GetLastAircraftFlight(CurrentAircraft.ItemId); if (lastFlight != null) { lastAtlb = GlobalObjects.CasEnvironment.NewLoader.GetObjectById <ATLBDTO, ATLB>(lastFlight.ATLBId); } } else { var atlbs = GlobalObjects.AircraftFlightsCore.GetATLBsByAircraftId(CurrentAircraft.ItemId); if (atlbs.Count > 0) { lastAtlb = atlbs.OrderBy(a => a.OpeningDate).Last(); } } if (lastAtlb == null) { MessageBox.Show("On this plane no matches logbook. \n Click Add New ATLB to create a new logbook", "Message infomation", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (!Save()) { return; } MessageBox.Show("Saving was successful", "Message infomation", MessageBoxButtons.OK, MessageBoxIcon.Information); AnimatedThreadWorker.RunWorkerAsync(); }
private void ButtonRevisionClick(object sender, EventArgs e) { if (_parent.Type == RevisionType.Revision) { var form = new CheckListRevisionEditForm(_operatorId, _parent, _initialDocumentArray, _manual); if (form.ShowDialog(this) == DialogResult.OK || form.ShowDialog(this) == DialogResult.Cancel) { AnimatedThreadWorker.RunWorkerAsync(); } } else { if (_manual.CheckUIType == CheckUIType.Iosa) { var form = new CheckListRevisionForm(_operatorId, _parent, _manual); if (form.ShowDialog(this) == DialogResult.OK || form.ShowDialog(this) == DialogResult.Cancel) { AnimatedThreadWorker.RunWorkerAsync(); } } else if (_manual.CheckUIType == CheckUIType.Safa) { var form = new CheckListSafaRevisionForm(_operatorId, _parent, _manual); if (form.ShowDialog(this) == DialogResult.OK || form.ShowDialog(this) == DialogResult.Cancel) { AnimatedThreadWorker.RunWorkerAsync(); } } else if (_manual.CheckUIType == CheckUIType.Icao) { var form = new CheckListIcaoRevisionForm(_operatorId, _parent, _manual); if (form.ShowDialog(this) == DialogResult.OK || form.ShowDialog(this) == DialogResult.Cancel) { AnimatedThreadWorker.RunWorkerAsync(); } } } }
public override void DisposeScreen() { if (AnimatedThreadWorker.IsBusy) { AnimatedThreadWorker.CancelAsync(); } AnimatedThreadWorker.Dispose(); if (_initialDirectiveArray != null) { _initialDirectiveArray.Clear(); } _initialDirectiveArray = null; if (_resultDirectiveArray != null) { _resultDirectiveArray.Clear(); } _resultDirectiveArray = null; _currentForecast.Dispose(); _currentForecast = null; _openPubQuotations.Clear(); _openPubQuotations = null; if (_toolStripMenuItemOpen != null) { _toolStripMenuItemOpen.Dispose(); } if (_directivesViewer != null) { _directivesViewer.Dispose(); } Dispose(true); }
private void HeaderControl1ReloadRised(object sender, EventArgs e) { string message; if (!ValidateData(out message)) { MessageBox.Show(message + "\nAbort operation", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); return; } if (GetChangeStatus()) { if (MessageBox.Show("All unsaved data will be lost. Are you sure you want to continue?", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) != DialogResult.Yes) { return; } } CancelAsync(); AnimatedThreadWorker.RunWorkerAsync(); }
private void ToolStripMenuItemCloseClick(object sender, EventArgs e) { foreach (var item in _directivesViewer.SelectedItems) { if (item.Settings.Status == RoutineStatus.Closed) { MessageBox.Show($@"This audit {item.AuditNumber} is already closed!", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); continue; } item.Settings.Status = RoutineStatus.Closed; item.Settings.ClosingDate = DateTime.Now; item.Settings.ClosedId = GlobalObjects.CaaEnvironment.IdentityUser.ItemId; GlobalObjects.CaaEnvironment.NewKeeper.Save(item); AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoWork; AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoFilteringWork; AnimatedThreadWorker.DoWork += AnimatedThreadWorkerDoWork; AnimatedThreadWorker.RunWorkerAsync(); } }
public override void DisposeScreen() { CancelAsync(); AnimatedThreadWorker.Dispose(); if (_itemPrintReportHistory != null) { _itemPrintReportHistory.Dispose(); } if (_itemPrintReportRecords != null) { _itemPrintReportRecords.Dispose(); } if (_buttonPrintMenuStrip != null) { _buttonPrintMenuStrip.Dispose(); } _currentDirective = null; Dispose(true); }
private void ToolStripMenuItemCloseClick(object sender, EventArgs e) { var selected = _directivesViewer.SelectedItems.ToArray(); foreach (var rfq in selected) { if (rfq.Status == WorkPackageStatus.Closed) { MessageBox.Show("Initional Order " + rfq.Title + " is already closed.", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); continue; } rfq.Status = WorkPackageStatus.Closed; rfq.ClosingDate = DateTime.Now; rfq.CloseByUser = GlobalObjects.CasEnvironment.IdentityUser.ToString(); rfq.ClosedById = GlobalObjects.CasEnvironment.IdentityUser.ItemId; GlobalObjects.CasEnvironment.NewKeeper.Save(rfq); } AnimatedThreadWorker.RunWorkerAsync(); }
private void CloseWorkPackage() { IEnumerable <AuditRecord> blockedRecords = _currentDirective.AuditRecords .Where(rec => rec.Task != null && rec.Task.NextPerformances != null && rec.Task.NextPerformances.Count > 0 && rec.Task.NextPerformances.Any(np => np.BlockedByPackage != null && np.BlockedByPackage.ItemId != _currentDirective.ItemId)); if (_currentDirective.CanClose == false || blockedRecords.Any()) { string message = "This audit can not be closed"; foreach (AuditRecord blockedRecord in blockedRecords) { NextPerformance np = blockedRecord.Task.NextPerformances.First(n => n.BlockedByPackage != null); message += $"\nTask: {blockedRecord.Task} blocked by audit {np.BlockedByPackage}"; } if (_currentDirective.MaxClosingDate < _currentDirective.MinClosingDate) { message += $"\nMin Closing Date: {_currentDirective.MinClosingDate} better than Max Closing Date: {_currentDirective.MaxClosingDate}"; } MessageBox.Show(message, (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.OK, MessageBoxIcon.Error); return; } AuditClosingFormNew form = new AuditClosingFormNew(_currentDirective); form.ShowDialog(); if (form.DialogResult == DialogResult.OK) { AnimatedThreadWorker.RunWorkerAsync(); } }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { _initialDocumentArray.Clear(); _resultDocumentArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load directives"); _initialDocumentArray.AddRange(GlobalObjects.CasEnvironment.Loader.GetObjectListAll <Specialist>(loadChild: true)); var aircraftModels = GlobalObjects.CasEnvironment.NewLoader.GetObjectList <AccessoryDescriptionDTO, AircraftModel>(new Filter("ModelingObjectTypeId", 7)); foreach (var specialist in _initialDocumentArray) { foreach (var training in specialist.SpecialistTrainings) { if (training.AircraftTypeID > 0) { training.AircraftType = aircraftModels.FirstOrDefault(a => a.ItemId == training.AircraftTypeID); } } foreach (var license in specialist.Licenses) { if (license.AircraftTypeID > 0) { license.AircraftType = aircraftModels.FirstOrDefault(a => a.ItemId == license.AircraftTypeID); } } } AnimatedThreadWorker.ReportProgress(40, "filter directives"); AnimatedThreadWorker.ReportProgress(70, "filter directives"); FilterItems(_initialDocumentArray, _resultDocumentArray); AnimatedThreadWorker.ReportProgress(100, "Complete"); }
public MailListScreen(Operator currentOperator, MailChats mailChat) : this() { if (currentOperator == null) { throw new ArgumentNullException("currentOperator", "Cannot display null-currentOperator"); } aircraftHeaderControl1.Operator = currentOperator; _filter = new CommonFilterCollection(typeof(MailRecords)); _mailChat = mailChat; var operatorName = GlobalObjects.CasEnvironment.Operators[0].Name; var from = _mailChat.SupplierFrom != Supplier.Unknown ? _mailChat.SupplierFrom.ToString() : operatorName; var to = _mailChat.SupplierTo != Supplier.Unknown ? _mailChat.SupplierTo.ToString() : operatorName; labelFromTo.Text = $"From - To: {from} - {to}"; labelDescription.Text = $"Description: {_mailChat.Description}"; InitToolStripMenuItems(); InitListView(); AnimatedThreadWorker.RunWorkerAsync(); }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { #region Загрузка элементов _initialTrackArray.Clear(); _initialTrackRecordArray.Clear(); AnimatedThreadWorker.ReportProgress(0, "load records"); try { _initialTrackArray.AddRange(GlobalObjects.FlightTrackCore.GetAllFlightTracks(true)); _initialTrackRecordArray.AddRange(_initialTrackArray.SelectMany(i => i.FlightTripRecord)); } catch (Exception exception) { Program.Provider.Logger.Log("Error while load records", exception); } AnimatedThreadWorker.ReportProgress(40, "Calculate records"); #region Фильтрация директив AnimatedThreadWorker.ReportProgress(70, "filter records"); FilterItems(_initialTrackRecordArray, _resultTrackRecordArray); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } #endregion AnimatedThreadWorker.ReportProgress(100, "Complete"); #endregion }
private void ForecastMenuClick(object sender, EventArgs e) { CancelAsync(); List <BaseComponent> aircraftBaseComponents = null; if (CurrentAircraft != null) { //поиск деталей данного самолета aircraftBaseComponents = new List <BaseComponent>(GlobalObjects.ComponentCore.GetAicraftBaseComponents(CurrentAircraft.ItemId)); //очистка массива данных по прогнозам if (aircraftBaseComponents.Count != 0) { _currentForecast.ForecastDatas.Clear(); } } else { _currentForecast.ForecastDatas[0].ForecastLifelength = new Lifelength(0, 0, 0); } switch ((string)sender) { case "No Forecast": { } break; case "Today": { if (aircraftBaseComponents != null) { //составление нового массива данных по прогнозам foreach (var baseComponent in aircraftBaseComponents) { //определение ресурсов прогноза для каждой базовой детали ForecastData forecastData = new ForecastData(DateTime.Today, baseComponent, GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(baseComponent)); //дабавление в массив _currentForecast.ForecastDatas.Add(forecastData); } ForecastData main = _currentForecast.GetForecastDataFrame() ?? _currentForecast.ForecastDatas[0]; labelDateAsOf.Text = "Forecast date: " + SmartCore.Auxiliary.Convert.GetDateFormat(main.ForecastDate) + " Aircraft TSN/CSN: " + main.ForecastLifelength + "\nAvg. utlz: " + main.AverageUtilization; } } break; case "This week": { if (aircraftBaseComponents != null) { //составление нового массива данных по прогнозам foreach (var baseComponent in aircraftBaseComponents) { //определение ресурсов прогноза для каждой базовой детали ForecastData forecastData = new ForecastData(DateTime.Today.AddDays(7), baseComponent, GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(baseComponent)); //дабавление в массив _currentForecast.ForecastDatas.Add(forecastData); } ForecastData main = _currentForecast.GetForecastDataFrame() ?? _currentForecast.ForecastDatas[0]; labelDateAsOf.Text = "Forecast date: " + SmartCore.Auxiliary.Convert.GetDateFormat(main.ForecastDate) + " Aircraft TSN/CSN: " + main.ForecastLifelength + "\nAvg. utlz: " + main.AverageUtilization; } } break; case "Two weeks": { if (aircraftBaseComponents != null) { //составление нового массива данных по прогнозам foreach (var baseComponent in aircraftBaseComponents) { //определение ресурсов прогноза для каждой базовой детали ForecastData forecastData = new ForecastData(DateTime.Today.AddDays(14), baseComponent, GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(baseComponent)); //дабавление в массив _currentForecast.ForecastDatas.Add(forecastData); } ForecastData main = _currentForecast.GetForecastDataFrame() ?? _currentForecast.ForecastDatas[0]; labelDateAsOf.Text = "Forecast date: " + SmartCore.Auxiliary.Convert.GetDateFormat(main.ForecastDate) + " Aircraft TSN/CSN: " + main.ForecastLifelength + "\nAvg. utlz: " + main.AverageUtilization; } } break; case "Month": { if (aircraftBaseComponents != null) { //составление нового массива данных по прогнозам foreach (var baseComponent in aircraftBaseComponents) { //определение ресурсов прогноза для каждой базовой детали ForecastData forecastData = new ForecastData(DateTime.Today.AddMonths(1), baseComponent, GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(baseComponent)); //дабавление в массив _currentForecast.ForecastDatas.Add(forecastData); } ForecastData main = _currentForecast.GetForecastDataFrame() ?? _currentForecast.ForecastDatas[0]; labelDateAsOf.Text = "Forecast date: " + SmartCore.Auxiliary.Convert.GetDateFormat(main.ForecastDate) + " Aircraft TSN/CSN: " + main.ForecastLifelength + "\nAvg. utlz: " + main.AverageUtilization; } } break; case "Custom": { if (aircraftBaseComponents != null) { //составление нового массива данных по прогнозам foreach (var baseComponent in aircraftBaseComponents) { //определение ресурсов прогноза для каждой базовой детали ForecastData forecastData = new ForecastData(DateTime.Today, baseComponent, GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(baseComponent)); //дабавление в массив _currentForecast.ForecastDatas.Add(forecastData); } } ForecastData main = _currentForecast.GetForecastDataFrame() ?? _currentForecast.ForecastDatas[0]; ForecastCustomsWriteData form = new ForecastCustomsWriteData(_currentForecast); ForecastCustomsAdvancedForm advancedForm = new ForecastCustomsAdvancedForm(_currentForecast); form.ShowDialog(); if (form.DialogResult != DialogResult.OK && form.CallAdvanced) { advancedForm.ShowDialog(); } if (form.DialogResult == DialogResult.OK || advancedForm.DialogResult == DialogResult.OK) { if (main.SelectedForecastType == ForecastType.ForecastByDate) { if (CurrentAircraft != null) { labelDateAsOf.Text = "Forecast date: " + SmartCore.Auxiliary.Convert.GetDateFormat(main.ForecastDate) + " Aircraft TSN/CSN: " + main.ForecastLifelength + "\nAvg. utlz: " + main.AverageUtilization; } else { labelDateAsOf.Text = "Forecast date: " + SmartCore.Auxiliary.Convert.GetDateFormat(main.ForecastDate) + " Component TSN/CSN: " + main.ForecastLifelength + "\nAvg. utlz: " + main.AverageUtilization; } } else if (main.SelectedForecastType == ForecastType.ForecastByPeriod) { labelDateAsOf.Text = "Forecast Period From: " + SmartCore.Auxiliary.Convert.GetDateFormat(main.LowerLimit) + " To: " + SmartCore.Auxiliary.Convert.GetDateFormat(main.ForecastDate) + "\nAvg. utlz: " + main.AverageUtilization; } else if (main.SelectedForecastType == ForecastType.ForecastByCheck) { if (main.NextPerformanceByDate) { labelDateAsOf.Text = "Forecast: " + main.NextPerformanceString; } else { labelDateAsOf.Text = $"Forecast: {main.CheckName}. {main.NextPerformance}"; } } } else { return; } } break; } AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoWork; AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoFilteringWork; AnimatedThreadWorker.DoWork += AnimatedThreadWorkerDoWork; AnimatedThreadWorker.RunWorkerAsync(); }
protected override void AnimatedThreadWorkerDoWork(object sender, DoWorkEventArgs e) { _currentForecast.Kits.Clear(); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } try { AnimatedThreadWorker.ReportProgress(0, "calc. Maint. Checks kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetMaintenanceChecksKits(_currentForecast)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(9, "calc. Maint. Directives kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetMaintenanceDirectivesKits(_currentForecast)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(19, "calc. Base details kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetBaseComponentsAndComponentDirectivesKits(_currentForecast)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(29, "calc. Components kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetComponentsAndComponentDirectivesKits(_currentForecast)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(39, "calc. AD kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetDirectivesKits(_currentForecast, DirectiveType.AirworthenessDirectives)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(49, "calc. Damages kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetDirectivesKits(_currentForecast, DirectiveType.DamagesRequiring)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(59, "calc. Deffered kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetDirectivesKits(_currentForecast, DirectiveType.DeferredItems)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(69, "calc. Engineering orders kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetEngineeringOrdersKits(_currentForecast)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(79, "calc. Service bulletins kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetServiceBulletinsKits(_currentForecast)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(89, "calc. Out of phase kits"); _currentForecast.Kits.AddRange(GlobalObjects.AnalystCore.GetDirectivesKits(_currentForecast, DirectiveType.OutOfPhase)); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } AnimatedThreadWorker.ReportProgress(90, "Filter kits"); _initialDirectiveArray.Clear(); _initialDirectiveArray.AddRange(_currentForecast.Kits.ToArray()); FilterItems(_initialDirectiveArray, _resultDirectiveArray); #region Загрузка Котировочных ордеров AnimatedThreadWorker.ReportProgress(95, "Load Quotations"); //загрузка рабочих пакетов для определения //перекрытых ими выполнений задач if (_openPubQuotations == null) { _openPubQuotations = new CommonCollection <RequestForQuotation>(); } _openPubQuotations.Clear(); _openPubQuotations.AddRange(GlobalObjects.PurchaseCore.GetRequestForQuotation(CurrentAircraft, new[] { WorkPackageStatus.Opened, WorkPackageStatus.Published })); if (AnimatedThreadWorker.CancellationPending) { e.Cancel = true; return; } #endregion } catch (Exception ex) { Program.Provider.Logger.Log("Error while loading data", ex); } AnimatedThreadWorker.ReportProgress(100, "calc. kits over"); }