private void ButtonDeleteClick(object sender, EventArgs e) { if (listViewBindedTasks.SelectedItems.Count == 0) { return; } foreach (BaseEntityObject selectedItem in listViewBindedTasks.SelectedItems) { MaintenanceCheckBindTaskRecord record = _records.FirstOrDefault(r => r.TaskId == selectedItem.ItemId && r.TaskType == selectedItem.SmartCoreObjectType); if (record == null) { continue; } try { GlobalObjects.NewKeeper.Delete(record); } catch (Exception ex) { Program.Provider.Logger.Log("Error while delete bind task record", ex); } } _animatedThreadWorker.RunWorkerAsync(); }
private void ButtonAddClick(object sender, EventArgs e) { if (listViewTasksForSelect.SelectedItems.Count == 0) { return; } foreach (var selectedItem in listViewTasksForSelect.SelectedItems) { IDirective dir = selectedItem as IDirective; if (dir == null) { continue; } var record = new MaintenanceCheckBindTaskRecord { TaskType = dir.SmartCoreObjectType, TaskId = dir.ItemId, Task = dir, WorkPackageId = _workPackage.ItemId, CheckId = _maintenanceCheck.ItemId, ParentCheck = _maintenanceCheck }; try { GlobalObjects.NewKeeper.Save(record); } catch (Exception ex) { Program.Provider.Logger.Log("Error while save bind task record", ex); } _mpdForSelect.RemoveById(dir.ItemId); } _animatedThreadWorker.RunWorkerAsync(); }
/// <summary> /// Добавляется элемент в таблицу данных /// </summary> /// <param name="item">Добавлямая директива</param> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> private void AddDirectiveToDataset(BaseEntityObject item, WorkscopeDataSet destinationDataSet) { if (item == null) { return; } string status; string applicabilityString; string hiddenRemarks; string description; string itemString; string lastPerformanceString; string nextPerformanceString; string conditionString; string zone; string ataShort; string ataFull; string taskCardNumber; string programmString; string maintenanceCheckString; string remarks; string directiveType; double cost; double mh; string effectivityDate; string kits; string remainString; string firstPerformanceString; string repeatPerformanceToString; IBaseEntityObject parent; if (item is NextPerformance) { parent = ((NextPerformance)item).Parent; } else if (item is AbstractPerformanceRecord) { parent = ((AbstractPerformanceRecord)item).Parent; } else { parent = item; } if (parent == null) { return; } if (parent is Directive) { Directive directive = (Directive)parent; status = directive.Status.ToString(); lastPerformanceString = directive.LastPerformance != null?directive.LastPerformance.ToStrings() : ""; nextPerformanceString = directive.NextPerformance != null?directive.NextPerformance.ToStrings() : ""; conditionString = directive.Condition.ToString(); zone = ""; programmString = ""; maintenanceCheckString = "N/A"; remarks = ""; directiveType = directive.WorkType.ToString(); cost = directive.Cost; mh = directive.ManHours; effectivityDate = UsefulMethods.NormalizeDate(directive.Threshold.EffectiveDate); kits = directive.Kits != null && directive.Kits.Count > 0 ? directive.Kits.Count + " kits" : ""; firstPerformanceString = directive.Threshold.FirstPerformanceToStrings(); repeatPerformanceToString = directive.Threshold.RepeatPerformanceToStrings(); remainString = directive.Remains.ToString(); StringBuilder stringBuilder = new StringBuilder(); applicabilityString = directive.Applicability; hiddenRemarks = directive.HiddenRemarks; description = directive.Description; stringBuilder.AppendLine(directive.DirectiveType.ShortName); stringBuilder.AppendLine(directive.Title); if (!string.IsNullOrEmpty(directive.Paragraph)) { stringBuilder.AppendLine("\n§ " + directive.Paragraph); } AtaChapter ata = directive.ATAChapter; ataShort = ata.ShortName; ataFull = ata.ToString(); taskCardNumber = directive.EngineeringOrders; stringBuilder.AppendLine(directive.EngineeringOrders); itemString = stringBuilder.ToString(); } else if (parent is BaseComponent) { var bd = (BaseComponent)parent; var ata = bd.ATAChapter ?? (AtaChapter)GlobalObjects.CasEnvironment.GetDictionary <AtaChapter>().GetItemById(-1); ataShort = ata.ShortName; ataFull = ata.ToString(); applicabilityString = ""; hiddenRemarks = bd.HiddenRemarks; description = ""; status = ""; lastPerformanceString = ""; nextPerformanceString = bd.NextPerformance != null?bd.NextPerformance.ToStrings() : ""; conditionString = bd.Condition.ToString(); zone = ""; programmString = ""; maintenanceCheckString = "N/A"; remarks = bd.Remarks; directiveType = MaintenanceDirectiveTaskType.Discard.ToString(); cost = bd.Cost; mh = bd.ManHours; effectivityDate = UsefulMethods.NormalizeDate(bd.Threshold.EffectiveDate); taskCardNumber = ""; kits = bd.Kits != null && bd.Kits.Count > 0 ? bd.Kits.Count + " kits" : ""; firstPerformanceString = bd.Threshold.FirstPerformanceToStrings(); repeatPerformanceToString = bd.Threshold.RepeatPerformanceToStrings(); remainString = bd.Remains.ToString(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("Compnt."); stringBuilder.AppendLine(bd.PartNumber); stringBuilder.AppendLine(bd.Description); itemString = stringBuilder.ToString(); } else if (parent is Component) { var d = (Component)parent; var ata = d.ATAChapter ?? (AtaChapter)GlobalObjects.CasEnvironment.GetDictionary <AtaChapter>().GetItemById(-1); ataShort = ata.ShortName; ataFull = ata.ToString(); applicabilityString = ""; hiddenRemarks = d.HiddenRemarks; description = d.Description; status = ""; lastPerformanceString = ""; nextPerformanceString = d.NextPerformance != null?d.NextPerformance.ToStrings() : ""; conditionString = d.Condition.ToString(); zone = ""; programmString = ""; maintenanceCheckString = "N/A"; remarks = d.Remarks; directiveType = MaintenanceDirectiveTaskType.Discard.ToString(); cost = d.Cost; mh = d.ManHours; effectivityDate = UsefulMethods.NormalizeDate(d.Threshold.EffectiveDate); taskCardNumber = ""; kits = d.Kits != null && d.Kits.Count > 0 ? d.Kits.Count + " kits" : ""; firstPerformanceString = d.Threshold.FirstPerformanceToStrings(); repeatPerformanceToString = d.Threshold.RepeatPerformanceToStrings(); remainString = d.Remains.ToString(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("Compnt."); stringBuilder.AppendLine("P/N:" + d.PartNumber); stringBuilder.AppendLine("S/N:" + d.SerialNumber); itemString = stringBuilder.ToString(); } else if (parent is ComponentDirective) { var dd = (ComponentDirective)parent; var ata = dd.ParentComponent.ATAChapter ?? (AtaChapter)GlobalObjects.CasEnvironment.GetDictionary <AtaChapter>().GetItemById(-1); ataShort = ata.ShortName; ataFull = ata.ToString(); applicabilityString = ""; hiddenRemarks = dd.HiddenRemarks; description = ""; status = dd.Status.ToString(); lastPerformanceString = dd.LastPerformance != null?dd.LastPerformance.ToStrings() : ""; nextPerformanceString = dd.NextPerformance != null?dd.NextPerformance.ToStrings() : ""; conditionString = dd.Condition.ToString(); zone = ""; programmString = ""; maintenanceCheckString = "N/A"; remarks = dd.Remarks; directiveType = dd.DirectiveType.ToString(); cost = dd.Cost; mh = dd.ManHours; effectivityDate = UsefulMethods.NormalizeDate(dd.Threshold.EffectiveDate); taskCardNumber = ""; kits = dd.Kits != null && dd.Kits.Count > 0 ? dd.Kits.Count + " kits" : ""; firstPerformanceString = dd.Threshold.FirstPerformanceToStrings(); repeatPerformanceToString = dd.Threshold.RepeatPerformanceToStrings(); remainString = dd.Remains.ToString(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("Compnt."); if (dd.ParentComponent != null) { Component d = dd.ParentComponent; stringBuilder.AppendLine("P/N:" + d.PartNumber); stringBuilder.AppendLine("S/N:" + d.SerialNumber); description = d.Description; } itemString = stringBuilder.ToString(); } else if (parent is MaintenanceCheck) { return; //MaintenanceCheck mc = (MaintenanceCheck)parent; //AtaChapter ata = (AtaChapter)GlobalObjects.CasEnvironment.Dictionaries[typeof(AtaChapter)].GetItemById(-1); //ataShort = ata.ShortName; //ataFull = ata.ToString(); //applicabilityString = ""; //hiddenRemarks = ""; //description = ""; //status = ""; //lastPerformanceString = mc.LastPerformance != null ? mc.LastPerformance.ToStrings() : ""; //nextPerformanceString = mc.NextPerformance != null ? mc.NextPerformance.ToStrings() : ""; //conditionString = mc.Condition.ToString(); //zone = ""; //programmString = ""; //maintenanceCheckString = ""; //remarks = ""; //directiveType = ""; //cost = mc.Cost; //mh = mc.ManHours; //effectivityDate = UsefulMethods.NormalizeDate(mc.Threshold.EffectiveDate); //taskCardNumber = ""; //kits = mc.Kits != null && mc.Kits.Count > 0 ? mc.Kits.Count + " kits" : ""; //firstPerformanceString = mc.Threshold.FirstPerformanceToStrings(); //repeatPerformanceToString = mc.Threshold.RepeatPerformanceToStrings(); //remainString = mc.Remains.ToString(); //StringBuilder stringBuilder = new StringBuilder(); //stringBuilder.AppendLine("Check"); //stringBuilder.AppendLine(mc.ToString()); //itemString = stringBuilder.ToString(); } else if (parent is MaintenanceDirective) { MaintenanceDirective md = (MaintenanceDirective)parent; AtaChapter ata = md.ATAChapter; ataShort = ata.ShortName; ataFull = ata.ToString(); applicabilityString = md.Applicability; hiddenRemarks = md.HiddenRemarks; description = md.Description; status = md.Status.ToString(); lastPerformanceString = md.LastPerformance != null?md.LastPerformance.ToStrings() : ""; nextPerformanceString = md.NextPerformance != null?md.NextPerformance.ToStrings() : ""; conditionString = md.Condition?.ToString(); zone = md.Zone; programmString = md.Program.ToString(); if (md.MaintenanceCheck != null) { maintenanceCheckString = md.MaintenanceCheck.ToString(); } else if (_workPackage != null) { MaintenanceCheckBindTaskRecord record = _workPackage.MaintenanceCheckBindTaskRecords.FirstOrDefault(br => br.TaskType == SmartCoreType.MaintenanceDirective && br.TaskId == md.ItemId); if (record != null) { maintenanceCheckString = record.ParentCheck != null?record.ParentCheck.ToString() : "N/A"; } else { maintenanceCheckString = "N/A"; } } else { maintenanceCheckString = "N/A"; } remarks = md.Remarks; directiveType = md.WorkType.ToString(); cost = md.Cost; mh = md.ManHours; effectivityDate = UsefulMethods.NormalizeDate(md.Threshold.EffectiveDate); taskCardNumber = md.TaskCardNumber; kits = md.Kits != null && md.Kits.Count > 0 ? md.Kits.Count + " kits" : ""; firstPerformanceString = md.Threshold.FirstPerformanceToStrings(); repeatPerformanceToString = md.Threshold.RepeatPerformanceToStrings(); remainString = md.Remains.ToString(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("MPD"); stringBuilder.AppendLine(md.TaskNumberCheck); stringBuilder.AppendLine(md.TaskCardNumber); itemString = stringBuilder.ToString(); } else if (parent is NonRoutineJob) { NonRoutineJob job = (NonRoutineJob)parent; AtaChapter ata = job.ATAChapter; ataShort = ata.ShortName; ataFull = ata.ToString(); applicabilityString = ""; hiddenRemarks = ""; description = job.Description; status = ""; lastPerformanceString = ""; nextPerformanceString = ""; conditionString = job.Condition.ToString(); zone = ""; programmString = ""; maintenanceCheckString = "N/A"; remarks = ""; directiveType = ""; cost = job.Cost; mh = job.ManHours; effectivityDate = ""; taskCardNumber = ""; kits = job.Kits != null && job.Kits.Count > 0 ? job.Kits.Count + " kits" : ""; firstPerformanceString = ""; repeatPerformanceToString = ""; remainString = job.Remains.ToString(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("NRC"); stringBuilder.AppendLine(job.Title); itemString = stringBuilder.ToString(); } else { return; } destinationDataSet.ItemsTable.AddItemsTableRow(applicabilityString, remarks, hiddenRemarks, description, itemString, "", directiveType, status, effectivityDate, firstPerformanceString, lastPerformanceString, nextPerformanceString, remainString, conditionString, mh, cost, kits, zone, ataShort, ataFull, taskCardNumber, programmString, repeatPerformanceToString, "", maintenanceCheckString); }