Exemple #1
0
        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();
        }
Exemple #2
0
        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);
        }