Exemple #1
0
        private void ChangeItemRelations(ref ItemsRelation itemsRelation, MaintenanceDirective relatedItem, WorkItemsRelationTypeUI relationTypeUI)
        {
            if (relatedItem.ItemRelations.Count == 0 ||
                relatedItem.ItemRelations.IsAllRelationWith(SmartCoreType.ComponentDirective))
            {
                if (itemsRelation == null)
                {
                    itemsRelation = new ItemsRelation();
                    _currentComponentDirective.ItemRelations.Add(itemsRelation);
                }
                else
                {
                    _lastBindedMpd.ItemRelations.Remove(itemsRelation);
                }

                itemsRelation.FillParameters(_currentComponentDirective, relatedItem);
                if (!RelateditemContainsLinkOnCurrentItem(_currentComponentDirective, relatedItem))
                {
                    relatedItem.ItemRelations.Add(itemsRelation);
                }

                itemsRelation.RelationTypeId = ItemRelationHelper.ConvertUIItemRelationToBLItem(relationTypeUI, _currentComponentDirective.IsFirst);
            }
            else
            {
                ItemRelationHelper.ShowDialogIfItemHaveLinkWithAnotherItem($"MPD {relatedItem.MPDNumber}", "AD", "Component");
            }
        }
Exemple #2
0
        public void LoadRelations()
        {
            var firstRelation = new ItemsRelation
            {
                FirstItemId      = 1,
                FirtsItemTypeId  = SmartCoreType.MaintenanceDirective.ItemId,
                SecondItemId     = 2,
                SecondItemTypeId = SmartCoreType.Directive.ItemId,
                RelationTypeId   = WorkItemsRelationType.CalculationAffect
            };

            var secondRelation = new ItemsRelation
            {
                FirstItemId      = 4,
                FirtsItemTypeId  = SmartCoreType.Directive.ItemId,
                SecondItemId     = 1,
                SecondItemTypeId = SmartCoreType.MaintenanceDirective.ItemId,
                RelationTypeId   = WorkItemsRelationType.CalculationDepend
            };
            var thirdRelation = new ItemsRelation
            {
                FirstItemId      = 5,
                FirtsItemTypeId  = SmartCoreType.Component.ItemId,
                SecondItemId     = 6,
                SecondItemTypeId = SmartCoreType.Directive.ItemId,
                RelationTypeId   = WorkItemsRelationType.CalculationAffect
            };

            var enviroment     = GetEnviroment();
            var itemRelationDa = new ItemsRelationsDataAccess(enviroment);

            enviroment.NewKeeper.Save(firstRelation);
            enviroment.NewKeeper.Save(secondRelation);
            enviroment.NewKeeper.Save(thirdRelation);

            var res = itemRelationDa.GetRelations(1, 14);

            enviroment.NewKeeper.Delete(firstRelation);
            enviroment.NewKeeper.Delete(secondRelation);
            enviroment.NewKeeper.Delete(thirdRelation);

            Assert.AreEqual(2, res.Count);

            var forCheckFirst  = res[0];
            var forCheckSecond = res[1];

            Assert.AreEqual(1, forCheckFirst.FirstItemId);
            Assert.AreEqual(SmartCoreType.MaintenanceDirective.ItemId, forCheckFirst.FirtsItemTypeId);
            Assert.AreEqual(2, forCheckFirst.SecondItemId);
            Assert.AreEqual(SmartCoreType.Directive.ItemId, forCheckFirst.SecondItemTypeId);
            Assert.AreEqual(WorkItemsRelationType.CalculationAffect, forCheckFirst.RelationTypeId);


            Assert.AreEqual(4, forCheckSecond.FirstItemId);
            Assert.AreEqual(SmartCoreType.Directive.ItemId, forCheckSecond.FirtsItemTypeId);
            Assert.AreEqual(1, forCheckSecond.SecondItemId);
            Assert.AreEqual(SmartCoreType.MaintenanceDirective.ItemId, forCheckSecond.SecondItemTypeId);
            Assert.AreEqual(WorkItemsRelationType.CalculationDepend, forCheckSecond.RelationTypeId);
        }
Exemple #3
0
 private void DeleteItemRelation(ItemsRelation itemsRelation)
 {
     itemsRelation.IsDeleted = true;
     if (_lastBindedMpd != null)
     {
         _lastBindedMpd.ItemRelations.Remove(itemsRelation);
     }
 }
Exemple #4
0
        private ItemsRelation CreateItemRelation(ComponentDirective dd, WorkItemsRelationTypeUI relationTypeUI)
        {
            var itemRelation = new ItemsRelation();
            var relationType = ItemRelationHelper.ConvertUIItemRelationToBLItem(relationTypeUI, _maintenanceDirective.IsFirst);

            if (_maintenanceDirective.IsFirst == true)
            {
                itemRelation.FillParameters(_maintenanceDirective, dd, relationType);
            }
            else
            {
                itemRelation.FillParameters(dd, _maintenanceDirective, relationType);
            }

            return(itemRelation);
        }
Exemple #5
0
        private ItemsRelation CreateItemRelation(Directive mpd, WorkItemsRelationTypeUI relationTypeUI)
        {
            var itemRelation = new ItemsRelation();
            var relationType = ItemRelationHelper.ConvertUIItemRelationToBLItem(relationTypeUI, _directive.IsFirst);

            if (_directive.IsFirst == true)
            {
                itemRelation.FillParameters(_directive, mpd, relationType);
            }
            else
            {
                itemRelation.FillParameters(mpd, _directive, relationType);
            }

            return(itemRelation);
        }
Exemple #6
0
 private bool CheckThatItemHaveRelationsOnlyWithProvidedItem(bool checkedItemIsFirst,
                                                             ItemsRelation itemRelationFromCheckedItem, int providedItemId, int providedItemTypeId)
 {
     if (checkedItemIsFirst)
     {
         if (itemRelationFromCheckedItem.SecondItemId != providedItemId ||
             itemRelationFromCheckedItem.SecondItemTypeId != providedItemTypeId)
         {
             return(false);
         }
     }
     else
     {
         if (itemRelationFromCheckedItem.FirstItemId != providedItemId ||
             itemRelationFromCheckedItem.FirtsItemTypeId != providedItemTypeId)
         {
             return(false);
         }
     }
     return(true);
 }