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"); } }
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); }
private void DeleteItemRelation(ItemsRelation itemsRelation) { itemsRelation.IsDeleted = true; if (_lastBindedMpd != null) { _lastBindedMpd.ItemRelations.Remove(itemsRelation); } }
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); }
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); }
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); }