private void Load() { // Check if the classes and properties have ben loaded //while (!RequirementViewModelLocator.IsLoaded()); using (EDBEntities eDB = new EDBEntities()) { foreach (tblObjectRequirement Rec in (from o in eDB.tblObjectRequirements where (o.Project_ID == Globals.Project_ID) select o)) { ObjectRequirementModel objectRequirementItem = new ObjectRequirementModel { Project_ID = Rec.Project_ID, Object_ID = Rec.Object_ID, Requirement_ID = Rec.Requirement_ID, RequirementType = Rec.RequirementType, PreFATOk = Rec.PreFATOk, FATOk = Rec.FATOk, FATBy = Rec.FATBy, FATDate = Rec.FATDate, SATOk = Rec.SATOk, SATBy = Rec.SATBy, SATDate = Rec.SATDate, IsChanged = false, IsNew = false, IsDeleted = false, ChildRequirements = new TD.ObservableItemCollection <ObjectRequirementModel>() }; var requirementItem = RequirementViewModelLocator.GetRequirementVM().GetRequirement(objectRequirementItem.Requirement_ID, null); if (requirementItem != null) { objectRequirementItem.ArticleNo = requirementItem.ArticleNo; objectRequirementItem.ArticleHeader = requirementItem.ArticleHeader; objectRequirementItem.RequirementType_ID = requirementItem.RequirementType_ID; foreach (var childItem in requirementItem.ChildRequirements) { ObjectRequirementModel item = new ObjectRequirementModel { Project_ID = childItem.Project_ID, Object_ID = objectRequirementItem.Object_ID, Requirement_ID = childItem.ID, ArticleNo = childItem.ArticleNo, ArticleHeader = childItem.ArticleHeader, RequirementType = "Requirement", RequirementType_ID = childItem.RequirementType_ID, ChildRequirements = new TD.ObservableItemCollection <ObjectRequirementModel>() }; objectRequirementItem.ChildRequirements.Add(item); } ObjectRequirements.Add(objectRequirementItem); } } } }
public void AssociateWithObject(TreeListViewRow destination) { try { // Associate all selected objects foreach (var objectItem in ObjectViewModelLocator.GetObjectVM().SelectedItems) { // With all selected requirements (m:n) foreach (var requirementItem in RequirementViewModelLocator.GetRequirementVM().SelectedItems) { ObjectRequirementModel objectRequirementItem = new ObjectRequirementModel { IsNew = true, IsChanged = false, IsDeleted = false, Project_ID = Globals.Project_ID, Object_ID = objectItem.ID, Requirement_ID = requirementItem.ID, RequirementType_ID = requirementItem.RequirementType_ID, ArticleNo = requirementItem.ArticleNo, ArticleHeader = requirementItem.ArticleHeader, //RequirementType = Globals.DraggedItem.Type, ChildRequirements = new TD.ObservableItemCollection <ObjectRequirementModel>(), }; foreach (var childItem in requirementItem.ChildRequirements) { ObjectRequirementModel objectRequirementChildItem = new ObjectRequirementModel { IsNew = true, IsChanged = false, IsDeleted = false, Project_ID = Globals.Project_ID, Object_ID = objectRequirementItem.Object_ID, Requirement_ID = childItem.ID, RequirementType_ID = childItem.RequirementType_ID, //objectFunctionalityChildItem.FunctionParent_ID = childItem.Parent_ID; ArticleNo = childItem.ArticleNo, ArticleHeader = childItem.ArticleHeader, ChildRequirements = new TD.ObservableItemCollection <ObjectRequirementModel>() }; objectRequirementItem.ChildRequirements.Add(objectRequirementChildItem); } ; ObjectRequirements.Add(objectRequirementItem); } } } catch (Exception ex) { RadWindow.Alert(ex.Message); } }