public FileCollection GetUsedByFiles(IYZDbProvider provider, IDbConnection cn, string property) { FileCollection files = new FileCollection(); SpriteLinkCollection links = BPAManager.GetFileUsedByLinks(provider, cn, this.FileID, property); foreach (SpriteLink link in links) { File file = File.TryLoad(provider, cn, link.FileID); if (file == null) { continue; } if (files.Contains(file.FileID)) { continue; } files.Add(file); } return(files); }
public virtual SpriteLinkCollection GetSpriteUsedByLinks(HttpContext context) { YZRequest request = new YZRequest(context); string fileid = request.GetString("fileid"); string spriteid = request.GetString("spriteid"); using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { SpriteLinkCollection links = BPAManager.GetSpriteUsedByLinks(provider, cn, fileid, spriteid, null); foreach (SpriteLink link in links) { AttachmentInfo attachmentInfo = AttachmentManager.TryGetAttachmentInfo(provider, cn, link.FileID); if (attachmentInfo != null) { link["FileName"] = attachmentInfo.Name; link["FileExt"] = attachmentInfo.Ext; link["Attachment"] = JObject.FromObject(attachmentInfo); } SpriteIdentity spriteIdentity = BPAManager.TryGetSpriteIdentity(provider, cn, link.FileID, link.SpriteID); if (spriteIdentity != null) { link["SpriteName"] = spriteIdentity.Name; } } return(links); } } }
public SpriteCollection GetUsedBySprites(IYZDbProvider provider, IDbConnection cn, string property) { SpriteCollection sprites = new SpriteCollection(); SpriteLinkCollection links = BPAManager.GetSpriteUsedByLinks(provider, cn, this.File.FileID, this.Id, property); foreach (SpriteLink link in links) { if (link.LinkType != ReferenceType.SpriteToSprite) { continue; } File file = File.TryLoad(provider, cn, link.FileID); if (file == null) { continue; } Sprite sprite = file.Sprites.TryGetItem(link.SpriteID); if (sprite != null && !sprites.Contains(sprite.File.FileID, sprite.Id)) { sprites.Add(sprite); } } return(sprites); }
public virtual object RelationshipAppGetUsedBy(HttpContext context) { YZRequest request = new YZRequest(context); string fileid = request.GetString("fileid"); BPMObjectNameCollection spriteids = JArray.Parse(request.GetString("spriteids")).ToObject <BPMObjectNameCollection>(); BPMObjectNameCollection tagfiletype = JArray.Parse(request.GetString("tagfiletype")).ToObject <BPMObjectNameCollection>(); JArray rv = new JArray(); using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { File file = File.Load(provider, cn, fileid); SpriteLinkCollection links = BPAManager.GetFileUsedByLinks(provider, cn, fileid, null); foreach (SpriteLink link in links) { if (!String.IsNullOrEmpty(link.LinkedSpriteID) && spriteids.Count != 0 && !spriteids.Contains(link.LinkedSpriteID)) { continue; } File usedbyFile = File.TryLoad(provider, cn, link.FileID); if (usedbyFile == null) { continue; } AttachmentInfo usedByAttachment = AttachmentManager.GetAttachmentInfo(provider, cn, usedbyFile.FileID); if (tagfiletype.Count != 0 && !tagfiletype.Contains(usedByAttachment.Ext)) { continue; } Sprite usedbySprite = usedbyFile.Sprites.TryGetItem(link.SpriteID); Sprite sprite = file.Sprites.TryGetItem(link.LinkedSpriteID); JObject item = new JObject(); rv.Add(item); item["FileID"] = file.FileID; item["FileName"] = file.FileName; item["SpriteName"] = SpriteIdentity.ConvertSpriteName(sprite == null ? "" : sprite.Name); item["RelatiedFileID"] = usedbyFile.FileID; item["RelatiedFileName"] = usedbyFile.FileName; item["RelatiedSpriteName"] = SpriteIdentity.ConvertSpriteName(usedbySprite == null ? "" : usedbySprite.Name); } return(rv); } } }
public void UpdateSpritesIdentityAndLink(IYZDbProvider provider, IDbConnection cn) { SpriteIdentityCollection spriteIdentitys = this.Sprites.SortByOrder().Identities; SpriteLinkCollection links = this.AllSpriteLinks; BPAManager.ClearSpriteIdentityOfFile(provider, cn, this.FileID); BPAManager.ClearLinkOfFile(provider, cn, this.FileID); foreach (SpriteIdentity spriteIdentity in spriteIdentitys) { BPAManager.Insert(provider, cn, spriteIdentity); } foreach (SpriteLink link in links) { BPAManager.Insert(provider, cn, link); } }
public static SpriteLinkCollection GetFileUsedByLinks(IYZDbProvider provider, IDbConnection cn, string fileid, string property) { try { SpriteLinkCollection links = new SpriteLinkCollection(); using (YZReader reader = new YZReader(provider.GetFileUsedByLinks(cn, fileid, property))) { while (reader.Read()) { SpriteLink link = new SpriteLink(reader); links.Add(link); } } return(links); } catch (Exception e) { throw new BPMException(BPMExceptionType.DBLoadDataErr, "BPASpriteLink", e.Message); } }
public virtual object RelationshipAppGetNonUsedBy(HttpContext context) { YZRequest request = new YZRequest(context); string fileid = request.GetString("fileid"); BPMObjectNameCollection spriteids = JArray.Parse(request.GetString("spriteids")).ToObject <BPMObjectNameCollection>(); BPMObjectNameCollection tagfiletype = JArray.Parse(request.GetString("tagfiletype")).ToObject <BPMObjectNameCollection>(); SpriteIdentityCollection rv = new SpriteIdentityCollection(); using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { File file = File.Load(provider, cn, fileid); SpriteLinkCollection links = BPAManager.GetFileUsedByLinks(provider, cn, fileid, null); foreach (Sprite sprite in file.Sprites.SortByOrder()) { if (spriteids.Count != 0 && !spriteids.Contains(sprite.Id)) { continue; } if (tagfiletype.Count == 0) { bool find = false; foreach (SpriteLink link in links) { if (NameCompare.EquName(link.LinkedSpriteID, sprite.Id)) { find = true; break; } } if (find) { continue; } } else { bool find = false; foreach (SpriteLink link in links) { bool attachmentInfoSetted = link["attachmentInfoSetted"] == null ? false:Convert.ToBoolean(link["attachmentInfoSetted"]); AttachmentInfo srcAttachment; if (attachmentInfoSetted) { srcAttachment = link["attachmentInfo"] as AttachmentInfo; } else { srcAttachment = AttachmentManager.TryGetAttachmentInfo(provider, cn, link.FileID); link["attachmentInfo"] = srcAttachment; link["attachmentInfoSetted"] = true; } if (tagfiletype != null && tagfiletype.Contains(srcAttachment.Ext)) { find = true; break; } } if (find) { continue; } } rv.Add(new SpriteIdentity(sprite)); } return(rv); } } }