using System.Linq; using BO.AppServer.Data.Entity; using Quadarax.Foundation.Core.Data; using Quadarax.Foundation.Core.Data.Domain; using Quadarax.Foundation.Core.Data.Interface.Domain; using Quadarax.Foundation.Core.Data.Repository; public class MetadocumentRepo : EntityRepository { public MetadocumentRepo(IUnitOfWork unitOfWork) : base(unitOfWork) { } public Metadocument Get(long workspaceId, long metadocumentId) { var document = Get(metadocumentId); if (document == null) return null; if (document.Structure.WorkspaceId != workspaceId) return null; return document; } public Metadocument GetByName(long workspaceId, string name) { return Query(new Paging()).FirstOrDefault(x => x.Structure.WorkspaceId == workspaceId && x.Name .ToLower()== name.ToLower()); } public Artifact GetArtifact(long metadocumentId, long artifactId) { return Query(new Paging()).Where(x => x.Id == metadocumentId) .SelectMany(x => x.Artifacts).FirstOrDefault(x => x.Id == artifactId); } }