Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        public virtual JArray GetUserActivities(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    uid     = request.GetString("uid");

            JArray rv = new JArray();

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    UserPositionCollection userpositions = BPAManager.GetUserPositions(provider, cn, uid);
                    SpriteCollection       posSprites    = userpositions.GetSprites(provider, cn);
                    SpriteCollection       usedbySprites = posSprites.GetUsedBySprites(provider, cn, null);
                    usedbySprites.Sort();

                    foreach (Sprite usedbySprite in usedbySprites)
                    {
                        JObject jItem = new JObject();
                        rv.Add(jItem);

                        jItem["FileID"]     = usedbySprite.File.FileID;
                        jItem["FileName"]   = usedbySprite.File.FileName;
                        jItem["SpriteID"]   = usedbySprite.Id;
                        jItem["SpriteName"] = usedbySprite.Name;
                        jItem["Desc"]       = usedbySprite.Property.Description;
                        jItem["Remark"]     = usedbySprite.Property.Remark;
                        jItem["RACI"]       = String.Join("/", this.GetRACIFlags(usedbySprite, posSprites));
                    }
                }

                return(rv);
            }
        }
Beispiel #3
0
        public virtual object GetPersonalOverviewInfo(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    uid     = request.GetString("uid");

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    UserPositionCollection positions = BPAManager.GetUserPositions(provider, cn, uid);
                    SpriteCollection       sprites   = positions.GetSprites(provider, cn);
                    FileCollection         files     = sprites.GetUsedBySprites(provider, cn, null).Files;

                    return(new
                    {
                        positions = sprites.Identities,
                        files = files.Identities,
                        Responsible = sprites.GetUsedBySprites(provider, cn, "Responsible").Identities,
                        Accountable = sprites.GetUsedBySprites(provider, cn, "Accountable").Identities,
                        Consulted = sprites.GetUsedBySprites(provider, cn, "Consulted").Identities,
                        Informed = sprites.GetUsedBySprites(provider, cn, "Informed").Identities
                    });
                }
            }
        }
        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);
                }
            }
        }
Beispiel #5
0
 private void manageBPARulesToolStripMenuItem_Click(object sender, EventArgs e)
 {
     BPAManager.Show(BPAForm.Analyzer);
 }
Beispiel #6
0
        public virtual object GetProcessDefine(HttpContext context)
        {
            YZRequest request  = new YZRequest(context);
            string    fileid   = request.GetString("fileid");
            string    filePath = AttachmentInfo.FileIDToPath(fileid, AttachmentManager.AttachmentRootPath);
            string    uid      = YZAuthHelper.LoginUserAccount;

            AttachmentInfo attachment;
            JObject        jProcess;

            if (!System.IO.File.Exists(filePath))
            {
                throw new Exception(String.Format(Resources.YZStrings.Aspx_Upload_FileIDNotFount, fileid));
            }

            using (System.IO.StreamReader rd = new System.IO.StreamReader(filePath))
                jProcess = JObject.Parse(rd.ReadToEnd());

            bool writable;

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    attachment = AttachmentManager.GetAttachmentInfo(provider, cn, fileid);

                    //文件夹
                    if (attachment.LParam1 == -1)
                    {
                        FileSystem.Folder folder = new FileSystem.Folder();
                        folder.FolderType = "BPAFileAttachments";
                        folder.ParentID   = -1;
                        folder.Name       = "";
                        folder.Desc       = "";
                        folder.Owner      = uid;
                        folder.CreateAt   = DateTime.Now;
                        folder.OrderIndex = 1;

                        FileSystem.DirectoryManager.Insert(provider, cn, folder);
                        folder.RootID = folder.FolderID;
                        FileSystem.DirectoryManager.Update(provider, cn, folder);

                        FileSystem.DirectoryManager.Insert(provider, cn, folder);
                        attachment.LParam1 = folder.FolderID;
                        AttachmentManager.Update(provider, cn, attachment);
                    }

                    this.ApplyLinkText(provider, cn, jProcess["Nodes"] as JArray);

                    using (BPMConnection bpmcn = new BPMConnection())
                    {
                        bpmcn.WebOpen();
                        writable = BPAManager.ISBPAFileWritable(provider, cn, bpmcn, fileid);
                    }
                }
            }

            JObject jProperty = jProcess["Property"] as JObject;

            if (jProperty != null)
            {
                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();

                    string account;
                    account = (string)jProperty["Creator"];
                    if (!String.IsNullOrEmpty(account))
                    {
                        User user = User.TryGetUser(cn, account);
                        jProperty["CreatorShortName"] = user != null ? user.ShortName : account;
                    }

                    account = (string)jProperty["ChangeBy"];
                    if (!String.IsNullOrEmpty(account))
                    {
                        User user = User.TryGetUser(cn, account);
                        jProperty["ChangeByShortName"] = user != null ? user.ShortName : account;
                    }
                }
            }

            return(new
            {
                attachment = attachment,
                writable = writable,
                processDefine = jProcess
            });
        }
Beispiel #7
0
        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);
                }
            }
        }