コード例 #1
0
        private static bool ValidateArtifactAndWriteErrors(
            EFArtifact artifact, IVsHierarchy hierarchy, uint itemId, bool doEscherValidation)
        {
            Debug.Assert(artifact != null, "artifact != null!");
            Debug.Assert(hierarchy != null, "project hierarchy is null!");
            Debug.Assert(itemId != VSConstants.VSITEMID_NIL, "itemid is nil");

            var errorList = ErrorListHelper.GetSingleDocErrorList(hierarchy, itemId);

            Debug.Assert(errorList != null, "Couldn't get error list for artifact " + artifact.Uri);

            errorList.Clear();

            var artifactSet = (EntityDesignArtifactSet)artifact.ArtifactSet;

            Debug.Assert(
                artifactSet.Artifacts.OfType <EntityDesignArtifact>().Count() == 1,
                "Expected there is 1 instance of EntityDesignArtifact; Actual:" +
                artifactSet.Artifacts.OfType <EntityDesignArtifact>().Count());

            VsUtils.EnsureProvider(artifact);
            ((EntityDesignModelManager)artifact.ModelManager)
            .ValidateAndCompileMappings(artifactSet, doEscherValidation);

            var errors = artifactSet.GetArtifactOnlyErrors(artifact);

            if (errors.Count > 0)
            {
                ErrorListHelper.AddErrorInfosToErrorList(errors, hierarchy, itemId, errorList);
                return(false);
            }

            return(true);
        }
コード例 #2
0
 public void AddErrorInfosToErrorList(ICollection <ErrorInfo> errors, IVsHierarchy vsHierarchy, uint itemID, bool bringErrorListToFront = false)
 {
     ErrorListHelper.AddErrorInfosToErrorList(errors, vsHierarchy, itemID, bringErrorListToFront);
 }