public virtual void SaveUserInfo(HttpContext context) { YZRequest request = new YZRequest(context); string account = YZAuthHelper.LoginUserAccount; JArray @params = request.GetPostData <JArray>(); JObject jUserInfo = (JObject)@params[0]; User userNew = jUserInfo.ToObject <User>(request.Serializer); Type userType = typeof(User); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); User user = User.FromAccount(cn, account); foreach (KeyValuePair <string, JToken> kv in jUserInfo) { if (NameCompare.EquName(kv.Key, "Account")) { continue; } System.Reflection.PropertyInfo prop = userType.GetProperty(kv.Key); if (prop != null) { prop.SetValue(user, prop.GetValue(userNew, null), null); } } User.Update(cn, account, user); } }
public string GetGroupName(BPMConnection cn, string loginUserAccount) { string account; string name; if (NameCompare.EquName(this.Account1, loginUserAccount)) { account = this.Account2; name = this.UserName2; } else { account = this.Account1; name = this.UserName1; } if (cn != null) { User user = User.TryGetUser(cn, account); if (user != null) { name = user.ShortName; } } return(name); }
public static BPMTaskListCollection FilterTaskList(BPMTaskListCollection srcTasks, string processName, string keyword) { if (String.IsNullOrEmpty(processName) && String.IsNullOrEmpty(keyword)) { return(srcTasks); } BPMTaskListCollection tasks = new BPMTaskListCollection(); foreach (BPMTaskListItem item in srcTasks) { if (!String.IsNullOrEmpty(processName)) { if (!NameCompare.EquName(item.ProcessName, processName)) { continue; } } if (!String.IsNullOrEmpty(keyword)) { if (!String.IsNullOrEmpty(item.SerialNum) && item.SerialNum.Contains(keyword)) { tasks.Add(item); continue; } if (!String.IsNullOrEmpty(item.OwnerAccount) && item.OwnerAccount.Contains(keyword)) { tasks.Add(item); continue; } if (!String.IsNullOrEmpty(item.Description) && item.Description.Contains(keyword)) { tasks.Add(item); continue; } if (!String.IsNullOrEmpty(item.ProcessName) && item.ProcessName.Contains(keyword)) { tasks.Add(item); continue; } if (AspxHelper.IsNumber(keyword) && item.TaskID.ToString() == keyword) { tasks.Add(item); continue; } } else { tasks.Add(item); } } return(tasks); }
public bool ISBPAFileWritable(IYZDbProvider provider, IDbConnection cn, BPMConnection bpmcn) { Folder parentFolder = DirectoryManager.GetFolderByID(provider, cn, this.FolderID); Folder rootFolder = DirectoryManager.GetFolderByID(provider, cn, parentFolder.RootID); if (NameCompare.EquName(rootFolder.FolderType, "BPALibrary")) { if (SecurityManager.CheckPermision(bpmcn, parentFolder.RSID, BPMPermision.Write)) { return(true); } } if (NameCompare.EquName(rootFolder.FolderType, "BPAGroup")) { if (bpmcn.Token.ContainsSID(WellKnownSID.Administrators)) { return(true); } YZSoft.Group.Group group = YZSoft.Group.GroupManager.GetGroupFromFolderID(provider, cn, rootFolder.FolderID); YZSoft.Group.Member member = YZSoft.Group.GroupManager.TryGetGroupMember(provider, cn, group.GroupID, YZAuthHelper.LoginUserAccount); if (member != null) { if ((member.GroupPerm & Group.GroupPerm.Edit) == Group.GroupPerm.Edit || (member.GroupPerm & Group.GroupPerm.Auth) == Group.GroupPerm.Auth) { return(true); } } } return(false); }
protected virtual void SaveHeadshot(HttpContext context, string headshot, string sign, string account) { //headshot if (!String.IsNullOrEmpty(headshot) && !NameCompare.EquName(headshot, account)) { string tagPath = Path.Combine(this.GetSystemUserDataPath(context), account, "Headshot"); string srcPath = Path.Combine(this.GetSystemUserDataPath(context), headshot, "Headshot"); if (Directory.Exists(tagPath)) { Directory.Delete(tagPath, true); } Directory.CreateDirectory(Path.Combine(this.GetSystemUserDataPath(context), account)); if (Directory.Exists(srcPath)) { Directory.Move(srcPath, tagPath); } } //sign if (!String.IsNullOrEmpty(sign) && !NameCompare.EquName(sign, account)) { string tagPath = Path.Combine(this.GetSystemUserDataPath(context), account, "Sign"); string srcPath = Path.Combine(this.GetSystemUserDataPath(context), sign, "Sign"); if (Directory.Exists(tagPath)) { Directory.Delete(tagPath, true); } Directory.CreateDirectory(Path.Combine(this.GetSystemUserDataPath(context), account)); if (Directory.Exists(srcPath)) { Directory.Move(srcPath, tagPath); } } if (!String.IsNullOrEmpty(headshot) && !NameCompare.EquName(headshot, account)) { string srcPath = Path.Combine(this.GetSystemUserDataPath(context), headshot); if (Directory.Exists(srcPath)) { Directory.Delete(srcPath, true); } } if (!String.IsNullOrEmpty(sign) && !NameCompare.EquName(sign, account)) { string srcPath = Path.Combine(this.GetSystemUserDataPath(context), sign); if (Directory.Exists(srcPath)) { Directory.Delete(srcPath, true); } } }
public string GetPeerAccount(string loginUserAccount) { if (NameCompare.EquName(this.Account1, loginUserAccount)) { return(this.Account2); } else { return(this.Account1); } }
protected override void AuthCheck(HttpContext context) { YZRequest request = new YZRequest(context); string method = request.GetString("method"); if (NameCompare.EquName(method, "GetString")) { return; } YZAuthHelper.AshxAuthCheck(); }
public void Applay(JsonItem itm, string ignoreAttr) { foreach (string attr in itm.Attributes.Keys) { if (NameCompare.EquName(attr, ignoreAttr)) { continue; } this.Attributes[attr] = itm.Attributes[attr]; } }
public void ApproveCheck(HttpContext context) { if (!this.Simulate) { YZRequest request = new YZRequest(context); string openuid = request.GetString("uid", null); if (!String.IsNullOrEmpty(openuid) && !NameCompare.EquName(openuid, YZAuthHelper.LoginUserAccount)) { throw new Exception(Resources.YZStrings.Aspx_LoginUser_Changed); } } }
public void Applay(string compareAttr, JsonItem newitem) { string key = Convert.ToString(newitem.Attributes[compareAttr]); foreach (JsonItem item in this) { string itmkey = Convert.ToString(item.Attributes[compareAttr]); if (NameCompare.EquName(key, itmkey)) { item.Applay(newitem, compareAttr); } } }
public virtual JObject GetTestingTemplates(HttpContext context) { string loginAccount = YZAuthHelper.LoginUserAccount; YZRequest request = new YZRequest(context); string processName = request.GetString("ProcessName", null); IYZDbProvider provider = YZDbProviderManager.DefaultProvider; //System.Threading.Thread.Sleep(2000); //获得数据 BPMDraftCollection drafts = new BPMDraftCollection(); int rowcount = 0; JObject rv = new JObject(); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); if (!String.IsNullOrEmpty(processName)) { drafts = cn.GetTestingTemplates(processName, null, null, request.GetSortString("CreateDate DESC"), 0, Int32.MaxValue, out rowcount); } //将数据转化为Json集合 rv[YZJsonProperty.total] = rowcount; JArray children = new JArray(); rv[YZJsonProperty.children] = children; foreach (BPMDraft draft in drafts) { JObject item = new JObject(); children.Add(item); item["DraftID"] = draft.DraftGuid.ToString(); item["ProcessName"] = draft.ProcessName; item["CreateDate"] = draft.CreateDate; item["ModifyDate"] = draft.ModifyDate; item["Account"] = draft.Account; item["OwnerAccount"] = draft.OwnerAccount; item["Comments"] = draft.Comments; item["Description"] = draft.Description; if (!NameCompare.EquName(draft.OwnerAccount, loginAccount)) { item["Owner"] = PositionManager.MemberFullNameFromID(cn, draft.OwnerPositionID); } } } return(rv); }
public FootmarkCollection SubSet(string account) { FootmarkCollection rv = new FootmarkCollection(); foreach (Footmark footmark in this) { if (NameCompare.EquName(footmark.Account, account)) { rv.Add(footmark); } } return(rv); }
protected override void AuthCheck(HttpContext context) { YZRequest request = new YZRequest(context); string method = request.GetString("method"); if (NameCompare.EquName(method, "Login") || NameCompare.EquName(method, "LoginTrial") || NameCompare.EquName(method, "SendLoginValidationCode") || NameCompare.EquName(method, "GetPublicKey") || NameCompare.EquName(method, "DingTalkLogin")) { return; } YZAuthHelper.AshxAuthCheck(); }
public virtual JObject GetDrafts(HttpContext context) { YZRequest request = new YZRequest(context); string loginAccount = YZAuthHelper.LoginUserAccount; GridPageInfo gridPageInfo = new GridPageInfo(context); //System.Threading.Thread.Sleep(2000); //获得数据 BPMDraftCollection drafts = new BPMDraftCollection(); int rowcount; JObject rv = new JObject(); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); drafts = cn.GetMyDrafts(DraftType.Draft, null, request.GetSortString("CreateDate DESC"), gridPageInfo.Start, gridPageInfo.Limit, out rowcount); //将数据转化为Json集合 rv[YZJsonProperty.total] = rowcount; JArray children = new JArray(); rv[YZJsonProperty.children] = children; foreach (BPMDraft draft in drafts) { JObject item = new JObject(); children.Add(item); item["DraftID"] = draft.DraftGuid.ToString(); item["ProcessName"] = draft.ProcessName; item["CreateDate"] = draft.CreateDate; item["ModifyDate"] = draft.ModifyDate; item["Account"] = draft.Account; item["OwnerAccount"] = draft.OwnerAccount; item["Comments"] = draft.Comments; item["Description"] = draft.Description; if (!NameCompare.EquName(draft.OwnerAccount, loginAccount)) { item["Owner"] = PositionManager.MemberFullNameFromID(cn, draft.OwnerPositionID); } } } //输出数据 return(rv); }
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); }
public virtual void SMSValidation(HttpContext context) { YZRequest request = new YZRequest(context); string validateItemGUID = request.GetString("validateItemGUID"); string validateCode = request.GetString("validateCode"); string action = request.GetString("action", null); string uid = YZAuthHelper.LoginUserAccount; using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { SMS sms = SMSManager.TryGetSMS(provider, cn, validateItemGUID); if (sms == null) { throw new Exception(Resources.YZMobile.Aspx_Auth_GetValidationCodeAgain); } if (sms.ValidationCode != validateCode) { throw new Exception(Resources.YZMobile.Aspx_Auth_IncorrectValidationCode); } if (sms.ExpireDate < DateTime.Now) { throw new Exception(Resources.YZMobile.Aspx_Auth_GetValidationCodeAgain); } SMSManager.DeleteSMS(provider, cn, validateItemGUID); } } if (NameCompare.EquName(action, "bindandprotect")) { string iddcode = request.GetString("iddcode"); string phoneNumber = request.GetString("phoneNumber"); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); User.SetAppLoginProtect(cn, uid, true); User.BindPhone(cn, uid, iddcode, phoneNumber); User user = User.TryGetUser(cn, uid); if (user != null) { if ((user.Permision & BPMObjectPermision.Edit) == BPMObjectPermision.Edit) { user.Mobile = phoneNumber; User.Update(cn, uid, user); } } } } if (NameCompare.EquName(action, "changebind")) { string iddcode = request.GetString("iddcode"); string phoneNumber = request.GetString("phoneNumber"); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); User.BindPhone(cn, uid, iddcode, phoneNumber); User user = User.TryGetUser(cn, uid); if (user != null) { if ((user.Permision & BPMObjectPermision.Edit) == BPMObjectPermision.Edit) { user.Mobile = phoneNumber; User.Update(cn, uid, user); } } } } }
public virtual JObject GetProcessInfo(HttpContext context) { YZRequest request = new YZRequest(context); int stepid = request.GetInt32("pid"); string permisions = request.GetString("Permisions", null); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); BPMProcStep step = BPMProcStep.Load(cn, stepid); BPMTask task = BPMTask.Load(cn, step.TaskID); ProcessInfo processInfo = BPMProcess.GetProcessInfo(cn, stepid); //检查处理权 if (!step.Share || !String.IsNullOrEmpty(step.OwnerAccount)) //常规任务及已获取的共享任务 { if (!NameCompare.EquName(step.OwnerAccount, cn.UID) && !NameCompare.EquName(step.AgentAccount, cn.UID)) { throw new BPMException(BPMExceptionType.ProcessErrPermDenied); } } //获得ProcessSubModel ProcessSubModel subModel; if (step.Share && String.IsNullOrEmpty(step.OwnerAccount)) { subModel = ProcessSubModel.Share; } else { if (processInfo.StepProcessPermision == StepProcessPermision.Inform) { subModel = ProcessSubModel.Inform; } else if (processInfo.StepProcessPermision == StepProcessPermision.Indicate) { subModel = ProcessSubModel.Indicate; } else { subModel = ProcessSubModel.Process; } } //ProcessSubModel.Process - 则获得任务操作权限 JObject perm = null; if (subModel == ProcessSubModel.Process || subModel == ProcessSubModel.Inform || subModel == ProcessSubModel.Indicate) { perm = this.CheckPermision(cn, step.TaskID, stepid, permisions); } else { perm = new JObject(); } if (String.IsNullOrEmpty(processInfo.FormFile)) { throw new Exception(String.Format(Resources.YZStrings.Aspx_Process_MissForm, step.NodeName)); } JObject rv = new JObject(); rv[YZJsonProperty.success] = true; rv["uid"] = cn.UID; rv["subModel"] = subModel.ToString(); rv["sn"] = task.SerialNum; rv["taskid"] = task.TaskID; rv["urlParams"] = task.UrlParams; rv["url"] = YZUtility.GetFormRedirectUrl(processInfo.FormFile).ToString(); rv["NodePermisions"] = this.Serialize(processInfo.NodePermision); rv["Comments"] = step.Comments; rv["perm"] = perm; if (subModel == ProcessSubModel.Process) { rv["shareTask"] = step.Share; rv["IsConsign"] = step.IsConsignStep; JArray links = new JArray(); rv["links"] = links; foreach (Link link in processInfo.Links) { links.Add(this.Serialize(link, "normal")); } rv["directsend"] = this.GetDirectSendInfo(cn, step, processInfo.SystemLinks); //自由流 if (!step.IsConsignStep) //加签不显示自由流 { rv["ParticipantDeclares"] = JArray.FromObject(processInfo.ParticipantDeclares); rv["Routing"] = processInfo.Routing; } } return(rv); } }
protected virtual Folder CreateLibFolder(IYZDbProvider provider, IDbConnection cn, string name, string folderType) { string uid = YZAuthHelper.LoginUserAccount; Folder folder = new Folder(); folder.FolderType = folderType; folder.ParentID = -1; folder.Name = name; folder.Desc = ""; folder.Owner = uid; folder.CreateAt = DateTime.Now; folder.OrderIndex = 1; DirectoryManager.Insert(provider, cn, folder); folder.RootID = folder.FolderID; DirectoryManager.Update(provider, cn, folder); if (NameCompare.EquName(folderType, "BPALibrary")) { Folder childFolder = new Folder(); childFolder.ParentID = folder.FolderID; childFolder.RootID = folder.RootID; childFolder.Owner = uid; childFolder.CreateAt = DateTime.Now; folder.Desc = ""; childFolder.FolderType = "BPAProcess"; childFolder.Name = "流程"; childFolder.OrderIndex = 1; DirectoryManager.Insert(provider, cn, childFolder); childFolder.FolderType = "BPAOU"; childFolder.Name = "组织"; childFolder.OrderIndex = 2; DirectoryManager.Insert(provider, cn, childFolder); childFolder.FolderType = "BPAProduct"; childFolder.Name = "产品"; childFolder.OrderIndex = 3; DirectoryManager.Insert(provider, cn, childFolder); childFolder.FolderType = "BPAData"; childFolder.Name = "数据"; childFolder.OrderIndex = 4; DirectoryManager.Insert(provider, cn, childFolder); childFolder.FolderType = "BPAITSystem"; childFolder.Name = "IT系统"; childFolder.OrderIndex = 5; DirectoryManager.Insert(provider, cn, childFolder); childFolder.FolderType = "BPAControl"; childFolder.Name = "控制"; childFolder.OrderIndex = 6; DirectoryManager.Insert(provider, cn, childFolder); } return(folder); }
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); } } }
public static string GetSelActionDisplayString(BPMProcStep step) { if (!step.Finished) { return(Resources.BPMResource.Com_Processing); } if (NameCompare.EquName(step.SelAction, SystemAction.Abort)) { return(Resources.BPMResource.Com_SysAct_Abort); } if (NameCompare.EquName(step.SelAction, SystemAction.RecedeBack)) { return(Resources.BPMResource.Com_SysAct_RecedeBack); } if (NameCompare.EquName(step.SelAction, SystemAction.AssignOwner)) { return(Resources.BPMResource.Com_SysAct_AssignOwner); } if (NameCompare.EquName(step.SelAction, SystemAction.Continue)) { return(Resources.BPMResource.Com_SysAct_Continue); } if (NameCompare.EquName(step.SelAction, SystemAction.Delete)) { return(Resources.BPMResource.Com_SysAct_Delete); } if (NameCompare.EquName(step.SelAction, SystemAction.Jump)) { return(Resources.BPMResource.Com_SysAct_Jump + "(" + step.Memo + ")"); } if (NameCompare.EquName(step.SelAction, SystemAction.TimeoutJump)) { return(Resources.BPMResource.Com_SysAct_TimeoutJump + "(" + step.Memo + ")"); } if (NameCompare.EquName(step.SelAction, SystemAction.PickBackRestart)) { return(Resources.BPMResource.Com_SysAct_PickBackRestart); } if (NameCompare.EquName(step.SelAction, SystemAction.RecedeRestart)) { return(Resources.BPMResource.Com_SysAct_RecedeRestart); } if (NameCompare.EquName(step.SelAction, SystemAction.Reject)) { return(Resources.BPMResource.Com_SysAct_Reject); } if (NameCompare.EquName(step.SelAction, SystemAction.Transfer)) { return(Resources.BPMResource.Com_SysAct_Agent); } if (NameCompare.EquName(step.SelAction, SystemAction.DirectSend)) { return(Resources.BPMResource.Com_SysAct_DirectSend); } if (step.AutoProcess) { return(step.SelAction + "(" + Resources.BPMResource.Com_Auto + ")"); } else if (step.BatchApprove) { return(step.SelAction + "(" + Resources.BPMResource.Com_BatchApprove + ")"); } else { return(step.SelAction); } }
public virtual JObject GetReportData(HttpContext context) { YZRequest request = new YZRequest(context); string path = request.GetString("path"); string viewName = request.GetString("viewName", null); string outputType = request.GetString("outputType", ""); YZClientParamCollection runtimeParams = JArray.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(request.GetString("params", YZJsonHelper.Base64EmptyJArray)))).ToObject <YZClientParamCollection>(); //获得数据 Report report; ReportView view; DataTable dataTable; int rowcount; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); //获得报表定义 report = Report.Open(cn, path); if (String.IsNullOrEmpty(viewName)) { view = report.DefaultView; } else { view = report.Views.TryGetItem(viewName); } string srcdata = request.GetString("srcdata", null); if (String.IsNullOrEmpty(srcdata)) { BPMDBParameterCollection selectParameters = report.QueryParameters.CreateNullDBParameters(); //应用查询条件 foreach (BPMDBParameter selectParam in selectParameters) { YZClientParam clientParam = runtimeParams.TryGetItem(selectParam.Name); if (clientParam != null && clientParam.value != null) { selectParam.Value = clientParam.value; } } cn.RequestParams["sortstring"] = request.GetSortString(""); cn.UpdateRequestParams(); //获得数据 FlowDataTable ftable = new FlowDataTable(); ftable.Load(cn, BPMCommandType.Report, path, selectParameters, report.ClientCursor, request.Start, request.Limit, out rowcount); dataTable = ftable.ToDataTable(); } else { dataTable = JArray.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(srcdata))).ToObject <DataTable>(); rowcount = request.GetInt32("total"); } } //将数据转化为Json集合 JObject rv = new JObject(); rv[YZJsonProperty.total] = rowcount; rv["srcdata"] = Convert.ToBase64String(Encoding.UTF8.GetBytes(JArray.FromObject(dataTable).ToString(Formatting.None, YZJsonHelper.Converters))); JArray children = new JArray(); rv.Add("children", children); //不管是什么view都要给数据 foreach (DataRow row in dataTable.Rows) { JObject item = new JObject(); children.Add(item); foreach (DataColumn column in dataTable.Columns) { object value = row[column.ColumnName]; item[column.ColumnName] = JToken.FromObject(value); if (NameCompare.EquName(column.ColumnName, "TaskID") && (value is int)) { item["Token"] = YZSecurityHelper.GenTaskAccessToken((int)value); } //为任务链接生成Token ReportColumnInfo colInfo = report.ReportColumnInfos.TryGetItem(column.ColumnName); if (colInfo != null && colInfo.LinkType == ReportLinkType.Task) { ParameterFill paramFill = colInfo.ParametersFill.TryGetItem("@TaskID"); if (paramFill != null) { int linktoTaskID; if (Int32.TryParse(Convert.ToString(row[paramFill.FillWith]), out linktoTaskID)) { item[column.ColumnName + "Token"] = YZSecurityHelper.GenTaskAccessToken((int)linktoTaskID); } } } } } if (String.Compare(outputType, "Export", true) != 0) { if (view is ReportMSChartView) { this.ApplyMSChartData(request, rv, view as ReportMSChartView, dataTable); } if (view is ReportExcelView) { this.ApplyExcelData(request, rv, view as ReportExcelView, dataTable, runtimeParams); } } return(rv); }
public virtual object GetFolderObjects(HttpContext context) { YZRequest request = new YZRequest(context); int parentFolderID = request.GetInt32("folderid"); bool checkpermision = request.GetBool("checkpermision", false); SecurityModel securitymodel = request.GetEnum <SecurityModel>("securitymodel", SecurityModel.RBAC); string ext = request.GetString("ext", null); bool withfolder = request.GetBool("folder"); bool withfile = request.GetBool("file"); bool userName = request.GetBool("username", false); Folder folder = new Folder(); List <object> rv = new List <object>(); bool haspermision = true; using (BPMConnection bpmcn = new BPMConnection()) { if (checkpermision && securitymodel == SecurityModel.RBAC) { bpmcn.WebOpen(); haspermision = SecurityManager.CheckPermision(bpmcn, Folder.GetRSID(parentFolderID), BPMPermision.Read); } } using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { folder = DirectoryManager.GetFolderByID(provider, cn, parentFolderID); folder["children"] = rv; if (haspermision) { if (withfile) { FileCollection files = DirectoryManager.GetFiles(provider, cn, parentFolderID, null, null, -1); foreach (File file in files) { AttachmentInfo attachmentInfo = AttachmentManager.TryGetAttachmentInfo(provider, cn, file.FileID); if (attachmentInfo == null) { continue; } if (!String.IsNullOrEmpty(ext) && !NameCompare.EquName(attachmentInfo.Ext, ext)) { continue; } JObject jFile = JObject.FromObject(file); rv.Add(jFile); jFile["Name"] = attachmentInfo.Name; jFile["Size"] = attachmentInfo.Size; jFile["LastUpdate"] = attachmentInfo.LastUpdate; jFile["OwnerAccount"] = attachmentInfo.OwnerAccount; } } if (withfolder) { rv.AddRange(DirectoryManager.GetFolders(provider, cn, parentFolderID, null, null)); } } } } if (userName) { using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); foreach (object item in rv) { JObject jFile = item as JObject; if (jFile != null) { User user = User.TryGetUser(cn, (string)jFile["OwnerAccount"]); jFile["OwnerDisplayName"] = user != null ? user.ShortName : jFile["OwnerAccount"]; } } } } return(folder); }