示例#1
0
文件: DataSource.cs 项目: radtek/EMIP
        public virtual JObject GetDataSourceParams(HttpContext context)
        {
            YZRequest request       = new YZRequest(context);
            String    tableName     = request.GetString("TableName", null);
            String    procedureName = request.GetString("ProcedureName", null);
            String    esb           = request.GetString("ESB", null);

            if (!String.IsNullOrEmpty(tableName))
            {
                return(this.GetTableParams(context));
            }
            else if (!String.IsNullOrEmpty(procedureName))
            {
                return(this.GetProcedureParams(context));
            }
            if (!String.IsNullOrEmpty(esb))
            {
                return(this.GetESBObjectParams(context));
            }

            return(null);
        }
示例#2
0
        public virtual object GetGroupAndMembers(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            int       groupid = request.GetInt32("groupid");

            Group.Group            group;
            Group.MemberCollection members;

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    group   = GroupManager.GetGroup(provider, cn, groupid);
                    members = GroupManager.GetGroupMembers(provider, cn, groupid);
                }
            }

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                for (int i = 0; i < members.Count; i++)
                {
                    YZSoft.Group.Member member = members[i];
                    member.User = User.TryGetUser(cn, member.UID);
                    if (member.User == null)
                    {
                        members.RemoveAt(i);
                        i--;
                    }
                }
            }

            return(new{
                group = group,
                members = members
            });
        }
示例#3
0
文件: Social.cs 项目: radtek/EMIP
        public virtual object GetSocialMessages(HttpContext context)
        {
            YZRequest      request = new YZRequest(context);
            YZResourceType resType = request.GetEnum <YZResourceType>("resType");
            string         resId   = request.GetString("resId");
            string         dir     = request.GetString("dir");
            int            msgId   = request.GetInt32("msgId", -1);
            int            rows    = request.GetInt32("rows", 20);

            YZMessageCollection messages;

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    if (NameCompare.EquName(dir, "prev"))
                    {
                        messages = SocialManager.GetSocialMessagesPrev(provider, cn, resType, resId, msgId, rows);
                    }
                    else
                    {
                        messages = SocialManager.GetSocialMessagesNext(provider, cn, resType, resId, msgId, rows);
                    }
                }
            }

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                foreach (YZMessage message in messages)
                {
                    this.PostProcessMessage(cn, message);
                }
            }

            return(messages);
        }
示例#4
0
        public virtual SpriteLinkCollection GetFileUsedByLinks(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    fileid  = request.GetString("fileid");

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    SpriteLinkCollection links = BPAManager.GetFileUsedByLinks(provider, cn, fileid, 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;
                        }

                        //ExtJS grid grouping bug fix
                        if (String.IsNullOrEmpty(link.LinkedSpriteID))
                        {
                            link.LinkedSpriteID      = "process";
                            link["LinkedSpriteName"] = "流程";
                        }
                    }

                    return(links);
                }
            }
        }
示例#5
0
        public virtual object CreateFolder(HttpContext context)
        {
            YZRequest     request       = new YZRequest(context);
            int           folderid      = request.GetInt32("folderid");
            SecurityModel securitymodel = request.GetEnum <SecurityModel>("securitymodel", SecurityModel.Empty);
            string        name          = request.GetString("name");

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    Folder parentFolder = DirectoryManager.GetFolderByID(provider, cn, folderid);

                    Folder folder = new Folder();
                    folder.RootID     = parentFolder.RootID;
                    folder.FolderType = parentFolder.FolderType;
                    folder.ParentID   = folderid;
                    folder.Name       = name;
                    folder.Desc       = "";
                    folder.Owner      = YZAuthHelper.LoginUserAccount;
                    folder.CreateAt   = DateTime.Now;
                    folder.OrderIndex = DirectoryManager.GetFolderNextOrderIndex(provider, cn, folderid);

                    DirectoryManager.Insert(provider, cn, folder);

                    if (securitymodel == SecurityModel.RBAC)
                    {
                        using (BPMConnection bpmcn = new BPMConnection())
                        {
                            bpmcn.WebOpen();
                            SecurityManager.InheriACL(bpmcn, SecurityResType.FileSystemFolder.ToString() + "://" + folder.ParentID.ToString(), SecurityResType.FileSystemFolder + "://" + folder.FolderID.ToString());
                        }
                    }

                    return(this.Serialize(folder, true));
                }
            }
        }
示例#6
0
        public virtual JArray GetProcessVersions(HttpContext context)
        {
            YZRequest            request     = new YZRequest(context);
            string               processName = request.GetString("ProcessName");
            bool                 active      = request.GetBool("active", true);
            BPMProcessCollection processes;

            //获得数据
            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                string path = cn.GetGlobalObjectFolder(StoreZoneType.Process, processName);
                processes = cn.GetProcessVersions(path, BPMPermision.Read, processName);
            }

            //将数据转化为Json集合
            JArray rv = new JArray();

            BPMProcess activeProcess = null;

            foreach (BPMProcess process in processes)
            {
                if (process.Active)
                {
                    activeProcess = process;
                    continue;
                }

                rv.Insert(0, this.Serialize(process));
            }

            if (activeProcess != null && active)
            {
                rv.Insert(0, this.Serialize(activeProcess));
            }

            return(rv);
        }
示例#7
0
        public virtual object[] GetServersInFolder(HttpContext context)
        {
            YZRequest    request = new YZRequest(context);
            string       path    = request.GetString("path", null);
            string       rsid    = String.IsNullOrEmpty(path) ? WellKnownRSID.ExtServerRoot : StoreZoneType.ExtServer.ToString() + "://" + path;
            BPMPermision perm    = request.GetEnum <BPMPermision>("perm");

            ExtServerCollection extServers = new ExtServerCollection();

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                if (SecurityManager.CheckPermision(cn, rsid, perm))
                {
                    extServers = cn.GetExtServerList(path, perm);
                }
            }

            List <object> rv = new List <object>();

            foreach (ExtServer extServer in extServers)
            {
                if (extServer.ServerType == ServerType.Local)
                {
                    continue;
                }

                rv.Add(new
                {
                    ServerType = extServer.ServerType.ToString(),
                    Name       = extServer.Name,
                    Host       = extServer.Host
                });
            }

            return(rv.ToArray());
        }
示例#8
0
        public virtual object GetSystemUsers(HttpContext context)
        {
            YZRequest     request  = new YZRequest(context);
            IYZDbProvider provider = YZDbProviderManager.DefaultProvider;

            //获得数据
            ActiveUserCollection activeUsers = new ActiveUserCollection();
            int rowcount;

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                activeUsers = LoginManager.GetSystemUsers(cn, 30, this.GetFilterStringSystemUsers(request, provider), request.GetSortString("LastActiveDate DESC"), request.Start, request.Limit, out rowcount);
            }

            List <object> data = new List <object>();

            foreach (ActiveUser user in activeUsers)
            {
                data.Add(
                    new
                {
                    Account        = user.Account,
                    DisplayName    = user.DisplayName,
                    OfficePhone    = user.OfficePhone,
                    EMail          = user.EMail,
                    LastActiveDate = user.LastActiveDate
                }
                    );
            }

            return(new
            {
                success = true,
                total = rowcount,
                children = data
            });
        }
示例#9
0
        public virtual JObject GetFilesInFolder(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    path    = request.GetString("path", null);

            BPMFileInfoCollection fileInfos;

            //获得数据
            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                fileInfos = cn.GetFileInfoList(StoreZoneType.Dll, path);
            }

            //将数据转化为Json集合
            JObject rv = new JObject();

            rv[YZJsonProperty.total] = fileInfos.Count;

            JArray children = new JArray();

            rv[YZJsonProperty.children] = children;

            foreach (BPMFileInfo fileInfo in fileInfos)
            {
                string fullName = String.IsNullOrEmpty(path) ? fileInfo.FileName : path + "/" + fileInfo.FileName;

                JObject item = new JObject();
                children.Add(item);

                item["FileName"]     = fileInfo.FileName;
                item["FullName"]     = fullName;
                item["Length"]       = fileInfo.Length;
                item["LengthString"] = fileInfo.LengthString;
            }

            return(rv);
        }
示例#10
0
文件: DataSource.cs 项目: radtek/EMIP
        public virtual JObject GetESBObjectSchema(HttpContext context)
        {
            YZRequest   request    = new YZRequest(context);
            String      objectName = request.GetString("ESB");
            FlowDataSet dataset    = new FlowDataSet();

            //获取参数
            string[]       strs       = objectName.Split(':');
            SourceTypeEnum sourceType = (SourceTypeEnum)Enum.Parse(typeof(SourceTypeEnum), strs[0]);
            SourceInfo     sourceInfo = SourceInfoManager.GetSourceInfo(sourceType, strs[1]);

            FlowDataTable table = new FlowDataTable();

            dataset.Tables.Add(table);
            SourceVisit visit = new SourceVisit(sourceInfo);

            foreach (var item in visit.GetSchema())
            {
                table.Columns.Add(new FlowDataColumn(item.rename, typeof(string)));
            }

            return(YZJsonHelper.SerializeSchema(dataset, "", "DataType"));
        }
示例#11
0
        public virtual object MoveFolders(HttpContext context)
        {
            YZRequest               request    = new YZRequest(context);
            StoreZoneType           zone       = request.GetEnum <StoreZoneType>("zone");
            string                  targetPath = request.GetString("targetPath", null);
            MovePosition            position   = request.GetEnum <MovePosition>("position");
            JArray                  post       = request.GetPostData <JArray>();
            BPMObjectNameCollection paths      = post.ToObject <BPMObjectNameCollection>();

            List <string> rv = new List <string>();

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                foreach (string path in paths)
                {
                    rv.Add(cn.MoveFolder(zone, path, targetPath, position));
                }
            }

            return(rv);
        }
示例#12
0
        protected virtual JObject InternalGetWorkList(string uid, HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    path    = request.GetString("path", null);

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                //获得数据
                BPMTaskListCollection tasks = new BPMTaskListCollection();
                int rowcount;

                JObject rv = new JObject();
                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();

                    tasks = cn.GetTaskList(path, uid, this.GetFilterStringWorklist(request, provider), request.GetSortString("StepID DESC", null, "StepID DESC"), request.Start, request.Limit, out rowcount);
                    rv    = this.Serialize(cn, tasks, rowcount);
                }

                return(rv);
            }
        }
示例#13
0
        public virtual JObject GetTaskApprovedInfo(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            int       taskid  = request.GetInt32("taskid");

            //获得数据
            BPMTask task = new BPMTask();

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                task.Open(cn, taskid);

                JObject rv = new JObject();
                rv["taskid"]      = task.TaskID;
                rv["processName"] = task.ProcessName;
                rv["sn"]          = task.SerialNum;
                rv["desc"]        = task.Description;
                rv["createat"]    = task.CreateAt;

                return(rv);
            }
        }
示例#14
0
        public virtual void RestoreObjects(HttpContext context)
        {
            YZRequest  request   = new YZRequest(context);
            bool       phyDelete = request.GetBool("phyDelete", false);
            JObject    post      = request.GetPostData <JObject>();
            List <int> fileids   = post["fileids"].ToObject <List <int> >();
            List <int> folderids = post["folderids"].ToObject <List <int> >();

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    foreach (int fileid in fileids)
                    {
                        DirectoryManager.RestoreFile(provider, cn, fileid);
                    }
                    foreach (int folderid in folderids)
                    {
                        DirectoryManager.RestoreFolder(provider, cn, folderid);
                    }
                }
            }
        }
示例#15
0
        public virtual object GetGridViewDefine(HttpContext context)
        {
            YZRequest request  = new YZRequest(context);
            string    path     = request.GetString("path");
            string    viewName = request.GetString("viewName");

            Report         report;
            ReportGridView reportView;

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                report     = Report.Open(cn, path);
                reportView = Report.GetView(cn, path, viewName) as ReportGridView;
            }

            return(new
            {
                reportName = report.Name,
                columnInfos = report.ReportColumnInfos,
                view = reportView
            });
        }
示例#16
0
文件: DataSource.cs 项目: radtek/EMIP
        public virtual DataTable GetDataNoPaged(HttpContext context)
        {
            YZRequest request       = new YZRequest(context);
            String    tableName     = request.GetString("TableName", null);
            String    procedureName = request.GetString("ProcedureName", null);
            String    esb           = request.GetString("ESB", null);
            String    query         = request.GetString("Query", null);

            if (!String.IsNullOrEmpty(tableName))
            {
                return(this.GetTableDataNoPaged(context));
            }
            else if (!String.IsNullOrEmpty(procedureName))
            {
                return(this.GetProcedureDataNoPaged(context));
            }
            if (!String.IsNullOrEmpty(esb))
            {
                return(this.GetESBDataNoPaged(context));
            }

            throw new Exception(Resources.YZStrings.Aspx_Invalid_Paramaters);
        }
示例#17
0
文件: DataSource.cs 项目: radtek/EMIP
        public virtual BPMObjectNameCollection GetDataSourceNames(HttpContext context)
        {
            YZRequest request = new YZRequest(context);

            if (String.IsNullOrEmpty(request.GetString("captibity", null)))
            {
                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();
                    return(DataSourceManager.GetDataSourceNames(cn));
                }
            }
            else
            {
                DataSourceCapability captibity = request.GetEnum <DataSourceCapability>("captibity");

                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();
                    return(DataSourceManager.GetDataSourceNames(cn, captibity));
                }
            }
        }
示例#18
0
        public virtual object SaveHeadshot(HttpContext context, HttpPostedFile file, string fileName, long fileSize, string fileExt)
        {
            YZRequest request  = new YZRequest(context);
            string    account  = request.GetString("temporaryUid", request.GetString("account", ""));
            string    userPath = this.GetUserPath(context, account);
            string    fileId   = "Headshot" + fileExt;
            string    saveFile = Path.Combine(userPath, "Headshot", fileId);
            string    savePath = Path.GetDirectoryName(saveFile);

            this.EmptyFolder(savePath);
            Directory.CreateDirectory(savePath);

            file.SaveAs(saveFile);
            //this.MakeThumbnail(saveFile, new Mode("S", 33, 45, ScaleMode.Fit));
            this.MakeThumbnail(saveFile, new Mode("S", ScaleMode.Fit, 44, 60, System.Drawing.Imaging.ImageFormat.Png));
            this.MakeThumbnail(saveFile, new Mode("M", ScaleMode.Fit, 110, 150, System.Drawing.Imaging.ImageFormat.Png));

            return(new
            {
                success = true,
                fileid = account
            });
        }
示例#19
0
文件: Social.cs 项目: radtek/EMIP
        public virtual object GetOUObjects(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    path    = request.GetString("path", null);
            bool      role    = request.GetBool("role", true);
            bool      user    = request.GetBool("user", true);

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                if (String.IsNullOrEmpty(path))
                {
                    OUCollection ous = cn.GetRootOUs();
                    if (ous.Count == 1)
                    {
                        return(this.GetOUObjects(cn, ous[0].FullName, role, user));
                    }
                }

                return(this.GetOUObjects(cn, path, role, user));
            }
        }
示例#20
0
        public virtual object GetResourceDefine(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    rsid    = request.GetString("rsid");

            UserResource resource;
            UserResourcePermisionCollection perms;

            //获得数据
            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                resource = UserResource.Open(cn, rsid);
                perms    = UserResource.GetPermisions(cn, rsid);
            }

            return(new
            {
                resource = resource,
                perms = perms
            });
        }
示例#21
0
        public virtual JArray GetUserRACI(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["R"]          = String.Join(",", usedbySprite.Property.Responsible.ToString(provider, cn));
                        jItem["A"]          = String.Join(",", usedbySprite.Property.Accountable.ToString(provider, cn));
                        jItem["C"]          = String.Join(",", usedbySprite.Property.Consulted.ToString(provider, cn));
                        jItem["I"]          = String.Join(",", usedbySprite.Property.Informed.ToString(provider, cn));
                    }
                }

                return(rv);
            }
        }
示例#22
0
        public override void ProcessRequest(HttpContext context)
        {
            YZRequest request = new YZRequest(context);

            try
            {
                string method = request.GetString("Method", "Download");

                if (!YZNameChecker.IsValidMethodName(method))
                {
                    throw new Exception("Invalid method name");
                }

                Type type = this.GetType();
                System.Reflection.MethodInfo methodcall = type.GetMethod(method, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public);
                if (methodcall == null)
                {
                    throw new Exception(String.Format(Resources.YZStrings.Aspx_UnknowCommand, method));
                }

                try
                {
                    methodcall.Invoke(this, new object[] { context });
                }
                catch (Exception exp)
                {
                    throw exp.InnerException;
                }
            }
            catch (Exception e)
            {
                JObject rv = new JObject();
                rv["success"]      = false;
                rv["errorMessage"] = HttpUtility.HtmlEncode(YZSetting.Debug ? String.Format("{0}.{1}\n{2}", this.GetType().FullName, context.Request.Params["method"], e.Message) : e.Message);
                context.Response.Write(rv.ToString(Formatting.Indented, request.Converters));
            }
        }
示例#23
0
文件: TaskRule.cs 项目: radtek/EMIP
        public virtual object DeleteTaskRules(HttpContext context)
        {
            YZRequest  request = new YZRequest(context);
            JArray     jPost   = request.GetPostData <JArray>();
            List <int> ids     = jPost.ToObject <List <int> >();

            JObject rv           = new JObject();
            JArray  deletedItems = new JArray();

            rv["deletedItems"] = deletedItems;

            try
            {
                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();

                    foreach (int ruleId in ids)
                    {
                        TaskRule.Delete(cn, ruleId);

                        JObject deletedItem = new JObject();
                        deletedItems.Add(deletedItem);
                        deletedItem["RuleID"] = ruleId;
                    }

                    rv[YZJsonProperty.success] = true;
                }
            }
            catch (Exception exp)
            {
                rv[YZJsonProperty.success]      = false;
                rv[YZJsonProperty.errorMessage] = exp.Message;
            }

            return(rv);
        }
示例#24
0
        public virtual void ExportBPAProcessAsPdf(HttpContext context)
        {
            YZRequest request  = new YZRequest(context);
            string    filename = request.GetString("fileName");
            string    ext      = request.GetString("ext", null);

            JObject jProcess = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(request.GetString("process", null))));
            JObject jChart   = JObject.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(request.GetString("chart", null))));

            this.ProcessResponseHeader(context, filename + ".pdf", true);

            using (Bitmap image = this.DecodeCanvasChart(jChart))
            {
                float mmx;
                float mmy;

                using (Graphics g = Graphics.FromImage(image))
                {
                    mmx = (float)(image.Width * 25.4 / g.DpiX);
                    mmy = (float)(image.Height * 25.4 / g.DpiY);
                }

                float pointsx = iTextSharp.text.Utilities.MillimetersToPoints(mmx);
                float pointsy = iTextSharp.text.Utilities.MillimetersToPoints(mmy);

                iTextSharp.text.Rectangle pageSize = new iTextSharp.text.Rectangle(pointsx + 20, pointsy + 20);
                using (iTextSharp.text.Document doc = new iTextSharp.text.Document(pageSize, 10, 10, 10, 10))
                {
                    PdfWriter.GetInstance(doc, context.Response.OutputStream);
                    doc.Open();

                    iTextSharp.text.Image pic = iTextSharp.text.Image.GetInstance(image, ImageFormat.Png);
                    pic.ScaleAbsolute(pointsx, pointsy);
                    doc.Add(pic);
                }
            }
        }
示例#25
0
        public virtual void GetHeadshot(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    account = request.GetString("account", null);
            string    empty   = request.GetString("empty", "Empty-Headshot.png");

            string filePath;

            if (!String.IsNullOrEmpty(account))
            {
                string userPath  = this.GetUserPath(context, account);
                string imagePath = Path.Combine(userPath, "Headshot");

                FileInfo fileSrc = this.FindFile(imagePath, "Headshot.*");
                if (fileSrc == null)
                {
                    fileSrc = new FileInfo(Path.Combine(imagePath, "Headshot"));
                }

                string thumbnail = context.Request.Params["thumbnail"];
                filePath = this.GetOutputFile(fileSrc, thumbnail, ".png");
            }
            else
            {
                filePath = null;
            }

            if (String.IsNullOrEmpty(filePath) || !File.Exists(filePath))
            {
                filePath = context.Server.MapPath("~/YZSoft/Attachment/img/" + empty);
            }

            string fileName = Path.GetFileName(filePath);

            this.ProcessResponseHeader(context, fileName, true);
            context.Response.TransmitFile(filePath);
        }
示例#26
0
文件: Form.cs 项目: radtek/EMIP
        public virtual JArray GetFieldModifies(HttpContext context)
        {
            YZRequest request    = new YZRequest(context);
            string    DataSource = request.GetString("DataSource", "");
            string    TableName  = request.GetString("TableName");
            string    ColumnName = request.GetString("ColumnName");
            string    CKeyName   = request.GetString("CKeyName", "");
            string    CKeyValue  = request.GetString("CKeyValue");

            JArray rv = new JArray();

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                ModifyRecordCollection modifies = SpoorService.GetFieldSpoor(cn, DataSource, TableName, ColumnName, CKeyValue);

                foreach (ModifyRecord modify in modifies)
                {
                    JObject item = new JObject();
                    rv.Add(item);

                    string userName = modify.Account;
                    User   user     = User.TryGetUser(cn, modify.Account);
                    if (user != null)
                    {
                        userName = YZStringHelper.GetUserShortName(user.Account, user.DisplayName);
                    }

                    item["Account"]      = userName;
                    item["UserSortName"] = userName;
                    item["Value"]        = modify.Value;
                    item["ModifyDate"]   = YZStringHelper.DateToStringM(modify.ModifyDate);
                }
            }

            return(rv);
        }
示例#27
0
文件: Form.cs 项目: radtek/EMIP
        public virtual JObject SubmitAuth(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            int       stepid  = request.GetInt32("StepID", -1);
            string    pwd     = request.GetString("Password", null);

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                string uid = null;
                if (stepid != -1)
                {
                    BPMProcStep step = BPMProcStep.Load(cn, stepid);
                    uid = step.RecipientAccount;
                }
                else
                {
                    uid = cn.UID;
                }

                JObject rv = new JObject();
                rv[YZJsonProperty.success] = true;

                string token;
                if (BPMConnection.Authenticate(YZAuthHelper.BPMServerName, YZAuthHelper.BPMServerPort, uid, pwd, out uid, out token))
                {
                    rv["pass"] = true;
                }
                else
                {
                    rv["pass"] = false;
                }

                return(rv);
            }
        }
示例#28
0
        public virtual object DeleteGroups(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            JArray    jPost   = request.GetPostData <JArray>();
            BPMObjectNameCollection groupNames = jPost.ToObject <BPMObjectNameCollection>();

            JObject rv           = new JObject();
            JArray  deletedItems = new JArray();

            rv["deletedItems"] = deletedItems;

            try
            {
                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();

                    foreach (string groupName in groupNames)
                    {
                        GroupManager.DeleteSecurityGroup(cn, groupName);

                        JObject deletedItem = new JObject();
                        deletedItems.Add(deletedItem);
                        deletedItem["GroupName"] = groupName;
                    }

                    rv[YZJsonProperty.success] = true;
                }
            }
            catch (Exception exp)
            {
                rv[YZJsonProperty.success]      = false;
                rv[YZJsonProperty.errorMessage] = exp.Message;
            }

            return(rv);
        }
示例#29
0
        /// <summary>
        /// 测试数据连接
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public JObject TestConnect(HttpContext context)
        {
            JObject     obj     = new JObject();
            YZRequest   request = new YZRequest(context);
            bool        flag    = false;
            string      message = null;
            ConnectInfo entity  = ConnectInfoManager.GetConnectInfo(request.GetInt32("connectId", -1));

            switch (entity.connectType)
            {
            case SourceTypeEnum.Excel:
                flag = CommonHandle.IsExcelJoin(JObject.Parse(entity.connectStr).ToObject <ExcelLogin>(), out message);
                break;

            case SourceTypeEnum.Oracle:
                flag = CommonHandle.IsOracleJoin(JObject.Parse(entity.connectStr).ToObject <OracleLogin>(), out message);
                break;

            case SourceTypeEnum.SAP:
                flag = CommonHandle.IsSapJoin(JObject.Parse(entity.connectStr).ToObject <SapLogin>(), out message);
                break;

            case SourceTypeEnum.SqlServer:
                flag = CommonHandle.IsSqlServerJoin(JObject.Parse(entity.connectStr).ToObject <SqlServerLogin>(), out message);
                break;

            case SourceTypeEnum.WebService:
                flag = CommonHandle.IsWebServiceJoin(JObject.Parse(entity.connectStr).ToObject <WebServiceLogin>(), out message);
                break;

            default:
                break;
            }
            obj[YZJsonProperty.success]      = flag;
            obj[YZJsonProperty.errorMessage] = flag ? "连接成功!" : String.Format("连接失败!原因:<br/>{0}", message);
            return(obj);
        }
示例#30
0
        public virtual void SaveFTPServer(HttpContext context)
        {
            YZRequest request    = new YZRequest(context);
            string    mode       = request.GetString("mode");
            string    path       = request.GetString("path", null);
            string    serverName = request.GetString("serverName", mode == "new", null);

            JsonSerializer serializer = new JsonSerializer();
            StreamReader   reader     = new StreamReader(context.Request.InputStream);

            using (JsonTextReader streamReader = new JsonTextReader(reader))
            {
                JArray @params = serializer.Deserialize(streamReader) as JArray;

                FTPServer server = @params[0].ToObject <FTPServer>(serializer);

                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();

                    if (mode == "edit")
                    {
                        if (serverName != server.Name)
                        {
                            ExtServer.Rename(cn, path, serverName, server.Name);
                        }

                        server.Save(cn, path, true);
                    }
                    else
                    {
                        server.Save(cn, path, false);
                    }
                }
            }
        }