/// <summary> /// Check requirements of package /// </summary> /// <returns></returns> public bool CheckRequirements() { using (var db = new EaDataModel(_provider, _connectionString)) { try { var falseRequirements = (from o in db.t_object where o.Package_ID == _pkg.PackageID && o.Object_Type == "Requirement" group o by o.Multiplicity into grp where grp.Count() > 1 join o1 in db.t_object on grp.Key equals o1.Multiplicity where o1.Package_ID == _pkg.PackageID && o1.Object_Type == "Requirement" orderby o1.Multiplicity select new { CLASSGUID = o1.ea_guid, CLASSTYPE = o1.Object_Type, Name = o1.Name, Type = o1.Object_Type, DoorsID = o1.Multiplicity, Error = "DoorsID not unique" }).ToDataTable(); // Make EA xml string xml = Xml.MakeXmlFromDataTable(falseRequirements); // Output to EA _rep.RunModelSearch("", "", "", xml); return(falseRequirements.Rows.Count == 0); } catch (Exception e) { MessageBox.Show($@"{e}", @"Error reading EA Repository, break!!"); return(false); } } }