Esempio n. 1
0
        public virtual object GetSpriteOverviewInfo(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())
                {
                    File file = File.Load(provider, cn, fileid);

                    Sprite sprite = file.Sprites[spriteid];
                    sprite.AllReferences.RefreshName(provider, cn);

                    SpriteCollection usedby = sprite.GetUsedBySprites(provider, cn);

                    YZSoft.FileSystem.FileCollection docs = new FileSystem.FileCollection();
                    if (sprite.FolderID != 0)
                    {
                        docs = FileSystem.DirectoryManager.GetFiles(provider, cn, sprite.FolderID, null, "ID DESC", -1);
                        docs = docs.PerformAttachmentInfo(provider, cn, null);
                    }

                    return(new
                    {
                        sprite = sprite,
                        usedby = usedby.Identities,
                        usedbyFiles = usedby.Files.Identities,
                        parentFile = new FileIdentity(file),
                        documents = docs
                    });
                }
            }
        }
Esempio n. 2
0
        public static bool ISBPAFileWritable(IYZDbProvider provider, IDbConnection cn, BPMConnection bpmcn, string fileid)
        {
            FileSystem.FileCollection files = FileSystem.DirectoryManager.GetFiles(provider, cn, fileid);
            foreach (FileSystem.File file in files)
            {
                if (file.ISBPAFileWritable(provider, cn, bpmcn))
                {
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 3
0
        public virtual object GetPanoramicTree(HttpContext context)
        {
            YZRequest request  = new YZRequest(context);
            int       folderid = request.GetInt32("node");

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    FileCollection files = new FileCollection();

                    FileSystem.FileCollection   allfiles    = new FileSystem.FileCollection();
                    FileSystem.FolderCollection allfolders  = FileSystem.DirectoryManager.GetAllChildFolders(provider, cn, folderid, null, null);
                    FileSystem.FolderCollection rootFolders = allfolders.BuildTree(folderid);
                    allfolders = rootFolders.Expand();

                    FileSystem.FileCollection folderfiles = FileSystem.DirectoryManager.GetFiles(provider, cn, allfolders.IDs, null, null, -1);
                    allfiles.AppendUnique(folderfiles);

                    foreach (FileSystem.File folderfile in allfiles)
                    {
                        File file = File.TryLoad(provider, cn, folderfile.FileID);
                        if (file == null)
                        {
                            continue;
                        }

                        files.Add(file);
                    }

                    JObject rv = new JObject();

                    JArray items = new JArray();
                    rv[YZJsonProperty.children] = items;

                    this.ExpandTree(provider, cn, items, this.GetRootFiles(files), files);

                    rv[YZJsonProperty.success] = true;
                    return(rv);
                }
            }
        }
Esempio n. 4
0
        public virtual object GetDashboardData(HttpContext context)
        {
            YZRequest               request       = new YZRequest(context);
            List <int>              rootfolderids = JArray.Parse(request.GetString("rootfolders")).ToObject <List <int> >();
            SpriteIdentity          responsible   = JObject.Parse(request.GetString("responsible")).ToObject <SpriteIdentity>();
            BPMObjectNameCollection milestones    = JArray.Parse(request.GetString("milestones")).ToObject <BPMObjectNameCollection>();
            BPMObjectNameCollection moduletypes   = JArray.Parse(request.GetString("moduletypes")).ToObject <BPMObjectNameCollection>();
            BPMObjectNameCollection colors        = JArray.Parse(request.GetString("colors")).ToObject <BPMObjectNameCollection>();
            BPMObjectNameCollection executeStatus = JArray.Parse(request.GetString("executeStatus")).ToObject <BPMObjectNameCollection>();
            string uid = YZAuthHelper.LoginUserAccount;

            FileCollection files = new FileCollection();

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    if (rootfolderids.Count == 0)
                    {
                        rootfolderids = this.GetAllReportRootFolders(provider, cn, uid);
                    }

                    FileSystem.FileCollection allfiles = new FileSystem.FileCollection();
                    foreach (int rootfolderid in rootfolderids)
                    {
                        FileSystem.FolderCollection allfolders  = FileSystem.DirectoryManager.GetAllChildFolders(provider, cn, rootfolderid, null, null);
                        FileSystem.FolderCollection rootFolders = allfolders.BuildTree(rootfolderid);
                        allfolders = rootFolders.Expand();

                        FileSystem.FileCollection folderfiles = FileSystem.DirectoryManager.GetFiles(provider, cn, allfolders.IDs, null, null, -1);
                        allfiles.AppendUnique(folderfiles);
                    }

                    foreach (FileSystem.File folderfile in allfiles)
                    {
                        File file = File.TryLoad(provider, cn, folderfile.FileID);
                        if (file == null)
                        {
                            continue;
                        }

                        //responsible过滤
                        if (!String.IsNullOrEmpty(responsible.FileID))
                        {
                            if (!file.Property.Owner.Contains(responsible))
                            {
                                continue;
                            }
                        }

                        //milestone过滤
                        if (milestones.Count != 0)
                        {
                            if (!milestones.Contains(file.Property.Milestone.ToString()))
                            {
                                continue;
                            }
                        }

                        //moduletypes过滤
                        if (moduletypes.Count != 0)
                        {
                            if (!moduletypes.Contains(file.AttachmentInfo.Ext))
                            {
                                continue;
                            }
                        }

                        //color过滤
                        if (colors.Count != 0)
                        {
                            if (!colors.Contains(file.Property.Color.ToString()))
                            {
                                continue;
                            }
                        }

                        //executeStatus过滤
                        if (executeStatus.Count != 0)
                        {
                            if (!executeStatus.Contains(file.Property.ExecuteStatus.ToString()))
                            {
                                continue;
                            }
                        }

                        files.Add(file);
                    }
                }
            }

            JObject rv = new JObject();
            JObject item;

            //Milestone
            item            = new JObject();
            rv["Milestone"] = item;
            item["Total"]   = files.Count;

            foreach (Milestone milestone in Enum.GetValues(typeof(Milestone)))
            {
                item[milestone.ToString()] = 0;
            }

            foreach (File file in files)
            {
                item[file.Property.Milestone.ToString()] = (int)item[file.Property.Milestone.ToString()] + 1;
            }

            //ExecuteStatus
            item = new JObject();
            rv["ExecuteStatus"] = item;

            foreach (ExecuteStatus executeState in Enum.GetValues(typeof(ExecuteStatus)))
            {
                item[executeState.ToString()] = 0;
            }

            foreach (File file in files)
            {
                item[file.Property.ExecuteStatus.ToString()] = (int)item[file.Property.ExecuteStatus.ToString()] + 1;
            }

            //Color
            item        = new JObject();
            rv["Color"] = item;

            foreach (FileColor fileColor in Enum.GetValues(typeof(FileColor)))
            {
                item[fileColor.ToString()] = 0;
            }

            foreach (File file in files)
            {
                item[file.Property.Color.ToString()] = (int)item[file.Property.Color.ToString()] + 1;
            }

            //分类统计
            item            = new JObject();
            rv["FileTypes"] = item;
            foreach (string ext in ".evc,.flow,.bpmn,.org,.data,.it,.product,.risk,.reg,.kpi".Split(','))
            {
                JObject jTypeCounts = new JObject();
                item[ext] = jTypeCounts;

                foreach (Milestone milestone in Enum.GetValues(typeof(Milestone)))
                {
                    jTypeCounts[milestone.ToString()] = 0;
                }
            }

            foreach (File file in files)
            {
                string ext = file.AttachmentInfo.Ext;
                if (ext != null)
                {
                    ext = ext.ToLower().Trim();
                }

                JObject jTypeCounts = item[ext] as JObject;
                if (jTypeCounts != null)
                {
                    jTypeCounts[file.Property.Milestone.ToString()] = (int)jTypeCounts[file.Property.Milestone.ToString()] + 1;
                }
            }

            //战略流程数量
            item                     = new JObject();
            rv["Strategic"]          = item;
            item["StrategicProcess"] = 0;
            item["OperationProcess"] = 0;
            item["SupportProcess"]   = 0;
            item["Other"]            = 0;

            foreach (File file in files)
            {
                string filetype;

                if (file.isStrategicProces)
                {
                    filetype = "StrategicProcess";
                }
                else if (file.isOperationProcess)
                {
                    filetype = "OperationProcess";
                }
                else if (file.isSupportProces)
                {
                    filetype = "SupportProcess";
                }
                else
                {
                    filetype = "Other";
                }

                item[filetype] = (int)item[filetype] + 1;
            }

            return(rv);
        }
Esempio n. 5
0
        public virtual DataTable GetModuleList(HttpContext context)
        {
            YZRequest               request       = new YZRequest(context);
            List <int>              rootfolderids = JArray.Parse(request.GetString("rootfolders")).ToObject <List <int> >();
            SpriteIdentity          responsible   = JObject.Parse(request.GetString("responsible")).ToObject <SpriteIdentity>();
            BPMObjectNameCollection milestones    = JArray.Parse(request.GetString("milestones")).ToObject <BPMObjectNameCollection>();
            BPMObjectNameCollection moduletypes   = JArray.Parse(request.GetString("moduletypes")).ToObject <BPMObjectNameCollection>();
            BPMObjectNameCollection colors        = JArray.Parse(request.GetString("colors")).ToObject <BPMObjectNameCollection>();
            BPMObjectNameCollection executeStatus = JArray.Parse(request.GetString("executeStatus")).ToObject <BPMObjectNameCollection>();
            string uid = YZAuthHelper.LoginUserAccount;
            BPMObjectNameCollection indexs = BPMObjectNameCollection.FromStringList(".evc,.flow,.bpmn,.org,.data,.it,.product,.risk,.reg,.kpi", ',');

            DataTable table = new DataTable();

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    FileCollection files = new FileCollection();

                    if (rootfolderids.Count == 0)
                    {
                        rootfolderids = this.GetAllReportRootFolders(provider, cn, uid);
                    }

                    FileSystem.FileCollection allfiles = new FileSystem.FileCollection();
                    foreach (int rootfolderid in rootfolderids)
                    {
                        FileSystem.FolderCollection allfolders  = FileSystem.DirectoryManager.GetAllChildFolders(provider, cn, rootfolderid, null, null);
                        FileSystem.FolderCollection rootFolders = allfolders.BuildTree(rootfolderid);
                        allfolders = rootFolders.Expand();

                        FileSystem.FileCollection folderfiles = FileSystem.DirectoryManager.GetFiles(provider, cn, allfolders.IDs, null, null, -1);
                        allfiles.AppendUnique(folderfiles);
                    }

                    foreach (FileSystem.File folderfile in allfiles)
                    {
                        File file = File.TryLoad(provider, cn, folderfile.FileID);
                        if (file == null)
                        {
                            continue;
                        }

                        //responsible过滤
                        if (!String.IsNullOrEmpty(responsible.FileID))
                        {
                            if (!file.Property.Owner.Contains(responsible))
                            {
                                continue;
                            }
                        }

                        //milestone过滤
                        if (milestones.Count != 0)
                        {
                            if (!milestones.Contains(file.Property.Milestone.ToString()))
                            {
                                continue;
                            }
                        }

                        //moduletypes过滤
                        if (moduletypes.Count != 0)
                        {
                            if (!moduletypes.Contains(file.AttachmentInfo.Ext))
                            {
                                continue;
                            }
                        }

                        //color过滤
                        if (colors.Count != 0)
                        {
                            if (!colors.Contains(file.Property.Color.ToString()))
                            {
                                continue;
                            }
                        }

                        //executeStatus过滤
                        if (executeStatus.Count != 0)
                        {
                            if (!executeStatus.Contains(file.Property.ExecuteStatus.ToString()))
                            {
                                continue;
                            }
                        }

                        files.Add(file);
                    }

                    DataRow row;

                    table.Columns.Add("OrderIndex", typeof(string));
                    table.Columns.Add("SubOrderIndex", typeof(string));
                    table.Columns.Add("Ext", typeof(string));
                    table.Columns.Add("Category", typeof(string));
                    table.Columns.Add("FileOrderFlag", typeof(int));
                    table.Columns.Add("FileOrder", typeof(string));
                    table.Columns.Add("FileCode", typeof(string));
                    table.Columns.Add("FileID", typeof(string));
                    table.Columns.Add("FileName", typeof(string));
                    table.Columns.Add("Responsible", typeof(string));

                    foreach (File file in files)
                    {
                        string ext = file.AttachmentInfo.Ext;
                        if (ext != null)
                        {
                            ext = ext.ToLower().Trim();
                        }

                        string category;
                        int    subOrderIndex = 0;

                        if (file.isStrategicProces)
                        {
                            category      = "战略流程";
                            subOrderIndex = 0;
                        }
                        else if (file.isOperationProcess)
                        {
                            category      = "运营流程";
                            subOrderIndex = 1;
                        }
                        else if (file.isSupportProces)
                        {
                            category = "支持流程";
                        }
                        else
                        {
                            category = File.GetCategoryNameFromExt(ext);
                        }

                        row = table.NewRow();
                        table.Rows.Add(row);

                        int orderIndex = indexs.IndexOf(ext);
                        row["OrderIndex"]    = orderIndex == -1 ? Int32.MaxValue : orderIndex;
                        row["SubOrderIndex"] = subOrderIndex;
                        row["Ext"]           = ext;
                        row["Category"]      = category;
                        row["FileOrderFlag"] = String.IsNullOrEmpty(file.Property.Order) ? 1 : 0;
                        row["FileOrder"]     = file.Property.Order;
                        row["FileCode"]      = file.Property.Code;
                        row["FileID"]        = file.FileID;
                        row["FileName"]      = file.AttachmentInfo.Name;
                        row["Responsible"]   = String.Join(",", file.Property.Owner.ToString(provider, cn));
                    }
                }
            }

            DataView view = new DataView(table);

            view.Sort = "OrderIndex ASC,SubOrderIndex ASC,FileOrderFlag,FileOrder,FileCode,FileID";
            return(view.ToTable(table.TableName));
        }