protected virtual void ApplyLinkText(IYZDbProvider provider, IDbConnection cn, JArray jSprites) { if (jSprites == null) { return; } List <JObject> result = new List <JObject>(); foreach (JObject jSprite in jSprites) { string relatiedFile = (string)jSprite["relatiedFile"]; if (!String.IsNullOrEmpty(relatiedFile)) { AttachmentInfo attachmentInfo = AttachmentManager.TryGetAttachmentInfo(provider, cn, relatiedFile); jSprite["relatiedFileName"] = attachmentInfo == null ? relatiedFile : attachmentInfo.Name; } YZJsonHelper.FindBy(jSprite["property"], result, new JsonFindCompare(this.isBPAReferenceCompare)); } foreach (JObject jLink in result) { Reference reference = jLink.ToObject <Reference>(); reference.RefreshName(provider, cn); jLink["FileName"] = reference.FileName; jLink["SpriteName"] = reference.SpriteName; } }
public virtual JObject GetESBObjectParams(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); List <ColumnInfo> paramList = visit.GetParameter(); if (paramList != null && paramList.Count > 0) { foreach (var item in visit.GetParameter()) { table.Columns.Add(new FlowDataColumn(item.rename)); } } JObject rv = YZJsonHelper.SerializeSchema(dataset, "", "DataType"); rv["supportOp"] = false; return(rv); }
public virtual JObject GetTableParams(HttpContext context) { YZRequest request = new YZRequest(context); String datasourceName = request.GetString("DataSource", null); String tableName = request.GetString("tableName"); FlowDataTable tableSchema; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); tableSchema = DataSourceManager.LoadTableSchema(cn, datasourceName, tableName); } FlowDataTable tableParams = new FlowDataTable("Params"); foreach (FlowDataColumn column in tableSchema.Columns) { if (column.AllowSearch) { tableParams.Columns.Add(column); } } FlowDataSet dataset = new FlowDataSet(); dataset.Tables.Add(tableParams); JObject rv = YZJsonHelper.SerializeSchema(dataset, "", "DataType"); rv["supportOp"] = true; return(rv); }
public virtual JObject LoadTask(HttpContext context) { YZRequest request = new YZRequest(context); int taskid = request.GetInt32("TaskID"); JObject rv = new JObject(); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); rv[YZJsonProperty.total] = 1; JArray children = new JArray(); rv["children"] = children; BPMTask task = BPMTask.Load(cn, taskid); JObject item = new JObject(); children.Add(item); item["TaskID"] = task.TaskID; item["SerialNum"] = task.SerialNum; item["ProcessName"] = task.ProcessName; item["ProcessVersion"] = task.ProcessVersion.ToString(2); item["OwnerAccount"] = task.OwnerAccount; item["OwnerDisplayName"] = task.OwnerFullName; item["AgentAccount"] = task.AgentAccount; item["AgentDisplayName"] = task.AgentFullName; item["CreateAt"] = task.CreateAt; item["State"] = YZJsonHelper.GetTaskStateJObject(cn, task.TaskState, task.TaskID); item["Description"] = String.IsNullOrEmpty(task.Description) ? Resources.YZStrings.All_None : task.Description; } rv["success"] = true; return(rv); }
public virtual JObject GetXClassSchema(HttpContext context) { YZRequest request = new YZRequest(context); String xclass = request.GetString("xclass", null); FlowDataSet dataset = new FlowDataSet(); FlowDataTable table = new FlowDataTable(); FlowDataTable tableFilter = new FlowDataTable(); dataset.Tables.Add(table); if (!String.IsNullOrEmpty(xclass)) { string url = YZUtility.GetUrlFromXClass(xclass); string phyPath = context.Server.MapPath(url); using (StreamReader rd = new StreamReader(phyPath)) { string jsText = rd.ReadToEnd(); string dataColumns = this.GetProperty(jsText, "datasourceColumns", '[', ']'); if (!String.IsNullOrEmpty(dataColumns)) { JArray jDataColumns = JArray.Parse(dataColumns); foreach (JToken token in jDataColumns) { if (token.Type == JTokenType.String) { FlowDataColumn column = new FlowDataColumn((string)token, typeof(string)); table.Columns.Add(column); } } } } } return(YZJsonHelper.SerializeSchema(dataset, "", "DataType")); }
public virtual object GetHandoverRequests(HttpContext context) { YZRequest request = new YZRequest(context); string uid = request.GetString("uid"); PageResult result; using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { using (IDbConnection cn = provider.OpenConnection()) { result = TaskListManager.GetHandoverMyRequests(provider, cn, uid, this.GetFilterStringHandoverRequests(request, provider), request.GetSortString("TaskID ASC"), request.Start, request.Limit); } } JArray children = new JArray(); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); foreach (DataRow task in result.Table.Rows) { JObject item = new JObject(); children.Add(item); int taskid = YZConvert.ToInt32(task["TaskID"]); string desc = YZConvert.ToString(task["Description"]); string ownerAccount = YZConvert.ToString(task["OwnerAccount"]); string agentAccount = YZConvert.ToString(task["AgentAccount"]); User owner = User.TryGetUser(cn, ownerAccount); User agent = null; if (!String.IsNullOrEmpty(agentAccount)) { agent = User.TryGetUser(cn, agentAccount); } item["TaskID"] = taskid; item["SerialNum"] = YZConvert.ToString(task["SerialNum"]); item["ProcessName"] = YZConvert.ToString(task["ProcessName"]); item["ProcessVersion"] = YZConvert.ToString(task["ProcessVersion"]); item["OwnerAccount"] = ownerAccount; item["OwnerDisplayName"] = owner == null ? ownerAccount : owner.ShortName; item["AgentAccount"] = agentAccount; item["AgentDisplayName"] = agent == null ? agentAccount : agent.ShortName; item["CreateAt"] = YZConvert.ToDateTime(task["CreateAt"]); item["State"] = YZJsonHelper.GetTaskStateJObject(cn, YZConvert.ToEnum <TaskState>(task["State"]), taskid); item["Description"] = String.IsNullOrEmpty(desc) ? Resources.YZStrings.All_None : desc; } } return(new { success = true, total = result.TotalRows, children = children }); }
protected virtual JObject Serialize(BPMConnection cn, BPMTaskListCollection tasks, int rowcount) { JObject rv = new JObject(); //将数据转化为Json集合 rv[YZJsonProperty.total] = rowcount; JArray children = new JArray(); rv[YZJsonProperty.children] = children; foreach (BPMTaskListItem task in tasks) { JObject item = new JObject(); children.Add(item); string stepDisplayName = BPMProcStep.GetStepDisplayName(task.StepName); item["StepID"] = task.StepID; item["TaskID"] = task.TaskID; item["SerialNum"] = task.SerialNum; item["ProcessName"] = task.ProcessName; item["ProcessVersion"] = task.ProcessVersion.ToString(2); item["OwnerAccount"] = task.OwnerAccount; item["OwnerDisplayName"] = task.OwnerFullName; item["OwnerShortName"] = YZStringHelper.GetUserShortName(task.OwnerAccount, task.OwnerFullName); item["AgentAccount"] = task.AgentAccount; item["AgentDisplayName"] = task.AgentFullName; item["CreateAt"] = task.CreateAt; item["NodeName"] = stepDisplayName; item["ReceiveAt"] = task.ReceiveAt; JObject recipient = new JObject(); recipient["account"] = task.RecipientAccount; recipient["displayName"] = task.RecipientFullName; item["Recipient"] = recipient; item["RecipientShortName"] = YZStringHelper.GetUserShortName(task.RecipientAccount, task.RecipientFullName); item["Share"] = task.Share; item["State"] = YZJsonHelper.GetTaskStateJObject(cn, task.TaskState, task.TaskID); item["TimeoutFirstNotifyDate"] = task.TimeoutFirstNotifyDate; item["TimeoutDeadline"] = task.TimeoutDeadline; item["TimeoutNotifyCount"] = task.TimeoutNotifyCount; item["Description"] = String.IsNullOrEmpty(task.Description) ? Resources.YZStrings.All_None : task.Description; if (task.Progress != -1) { item["Progress"] = task.Progress; } JObject perm = new JObject(); item["perm"] = perm; perm["Share"] = task.Share; } return(rv); }
public void AppendToXmlString(StringBuilder sb) { sb.AppendLine("<" + this.tagName + ">"); foreach (KeyValuePair <string, object> kv in this.Attributes) { sb.AppendLine(String.Format("<{0}>{1}</{0}>", kv.Key, YZJsonHelper.ConvertToXmlValue(kv.Value))); } sb.AppendLine("</" + this.tagName + ">"); }
public static JArray SerializeExtAttrSchema(DataColumnCollection columns) { JArray rv = new JArray(); foreach (DataColumn column in columns) { rv.Add(YZJsonHelper.SerializeExtAttrSchema(column)); } return(rv); }
public virtual JObject GetHistoryTasks(HttpContext context) { YZRequest request = new YZRequest(context); GridPageInfo gridPageInfo = new GridPageInfo(context); HistoryTaskType taskType = request.GetEnum <HistoryTaskType>("HistoryTaskType", HistoryTaskType.AllAccessable); string strTaskType = request.GetString("HistoryTaskType"); int year = request.GetString("byYear", "1") == "0" ? -1 : request.GetInt32("Year"); //获得数据 JObject rv = new JObject(); string taskTableFilter; string stepTableFilter; using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { taskTableFilter = this.GetFilterStringHistoryTaskTaskTable(request, provider); stepTableFilter = this.GetFilterStringHistoryTaskStep(request, provider); } using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); int rowcount; BPMTaskCollection tasks = cn.GetHistoryTasks(year, taskType, taskTableFilter, stepTableFilter, request.GetSortString("TaskID DESC", null, "TaskID DESC"), gridPageInfo.Start, gridPageInfo.Limit, out rowcount); rv[YZJsonProperty.total] = rowcount; JArray children = new JArray(); rv[YZJsonProperty.children] = children; foreach (BPMTask task in tasks) { JObject item = new JObject(); children.Add(item); item["TaskID"] = task.TaskID; item["SerialNum"] = task.SerialNum; item["ProcessName"] = task.ProcessName; item["ProcessVersion"] = task.ProcessVersion.ToString(2); item["OwnerAccount"] = task.OwnerAccount; item["OwnerDisplayName"] = task.OwnerFullName; item["AgentAccount"] = task.AgentAccount; item["AgentDisplayName"] = task.AgentFullName; item["CreateAt"] = task.CreateAt; item["State"] = YZJsonHelper.GetTaskStateJObject(cn, task.TaskState, task.TaskID); item["Description"] = String.IsNullOrEmpty(task.Description) ? Resources.YZStrings.All_None : task.Description; } } return(rv); }
public virtual JArray GetOUExtAttrs(HttpContext context) { YZRequest request = new YZRequest(context); DataColumnCollection columns; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); columns = OU.GetExtColumns(cn, request.GetString("namespace")); } return(YZJsonHelper.SerializeExtAttrSchema(columns)); }
public static string ConvertToJsonValue(object value) { if (value == null || Convert.IsDBNull(value) || value is YZModulePermision) { return("\"\""); } if (value is Guid) { return("\"" + Convert.ToString(value) + "\""); } if (value is string) { return("\"" + YZJsonHelper.EncodeAttribute(Convert.ToString(value)) + "\""); } if (value is DateTime) { DateTime date = (DateTime)value; if (date == DateTime.MinValue) { return("null"); } return(String.Format("new Date({0},{1},{2},{3},{4},{5})", date.Year, date.Month - 1, date.Day, date.Hour, date.Minute, date.Second)); } if (value is byte[]) { return("\"\""); } //return "\"" + Convert.ToBase64String((byte[])value) + "\"";目前还不支持绑定2进制数据 //欧洲、印度等国家,小数点会转换为",",这在JavaScript中不会识别,JS识别的是"." string rv = Convert.ToString(value, YZJsonHelper.JavaScriptFormat); if (value is bool) { rv = rv.ToLower(); } return(rv); }
public virtual JObject GetTableSchemas(HttpContext context) { YZRequest request = new YZRequest(context); string serverName = request.GetString("ServerName", null); TableIdentityCollection tables = request.GetPostData <JArray>().ToObject <TableIdentityCollection>(); FlowDataSet dataSet; using (BPMConnection cn = new BPMConnection()) { this.OpenConnection(cn, serverName); dataSet = DataSourceManager.LoadDataSetSchema(cn, tables); return(YZJsonHelper.SerializeSchema(dataSet)); } }
public static void RegistVar(string varName, object value) { Page page = HttpContext.Current.Handler as Page; if (page == null) { return; } if (!page.ClientScript.IsStartupScriptRegistered(typeof(object), varName)) { string cmd = String.Format("var {0}={1};\r\n", varName, YZJsonHelper.ConvertToJsonValue(value)); page.ClientScript.RegisterStartupScript(typeof(object), varName, cmd, true); } }
public virtual JObject GetTableSchema(HttpContext context) { YZRequest request = new YZRequest(context); String datasourceName = request.GetString("DataSource", null); String tableName = request.GetString("tableName"); FlowDataSet dataset = new FlowDataSet(); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); dataset.Tables.Add(DataSourceManager.LoadTableSchema(cn, datasourceName, tableName)); } return(YZJsonHelper.SerializeSchema(dataset, "", "DataType")); }
public virtual object GetMemberDefine(HttpContext context) { YZRequest request = new YZRequest(context); string fullname = request.GetString("fullname"); string parentou = request.GetString("parentou"); Member member; User user; UserCommonInfo userCommonInfo; DataColumnCollection userExtAttrsSchema; OUCollection childOUs; OUCollection fgOUs; BPMObjectNameCollection fgYWs; SupervisorCollection supervisors; DirectXSCollection directXSs; TaskRuleCollection taskRules; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); member = Member.FromFullName(cn, fullname); user = member.GetUser(cn); userExtAttrsSchema = User.GetExtColumns(cn, user.NameSpace); userCommonInfo = UserCommonInfo.FromAccount(cn, user.Account); childOUs = OU.GetChildren(cn, parentou); fgOUs = member.GetFGOUs(cn); fgYWs = member.GetFGYWs(cn); supervisors = member.GetSupervisors(cn); directXSs = member.GetDirectXSs(cn); taskRules = User.GetTaskRules(cn, user.Account); } return(new { User = user, UserExtAttrsSchema = YZJsonHelper.SerializeExtAttrSchema(userExtAttrsSchema), Member = member, UserCommonInfo = userCommonInfo, ChildOUs = YZJsonHelper.SerializeSimpleOU(childOUs), FGOUs = YZJsonHelper.Serialize2Array(fgOUs), FGYWs = fgYWs, Supervisors = supervisors, DirectXSs = directXSs, TaskRules = taskRules, temporaryUid = "temporary/" + Guid.NewGuid().ToString() }); }
public virtual JObject GetQuerySchema(HttpContext context) { YZRequest request = new YZRequest(context); String datasourceName = request.GetString("DataSource", null); String query = request.GetString("Query"); QueryParameterCollection queryParams = JArray.Parse(request.GetString("QueryParams")).ToObject <QueryParameterCollection>(); FlowDataSet dataset = new FlowDataSet(); using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); dataset.Tables.Add(DataSourceManager.LoadSchemaByQuery(cn, datasourceName, query, queryParams.CreateNullDBParameters())); } return(YZJsonHelper.SerializeSchema(dataset, "", "DataType")); }
public virtual object Excel2DataSet(HttpContext context, HttpPostedFile file, string fileName, long fileSize, string fileExt) { YZRequest request = new YZRequest(context); int titleRowIndex = request.GetInt32("titleRowIndex", 1); int dataRowIndex = request.GetInt32("dataRowIndex", 2); DataSet dataset = YZExcelLoader.LoadExcel(file.InputStream, fileName, titleRowIndex - 1, dataRowIndex - 1, true); string id = YZTempStorageManager.CurrentStore.Save(new { data = dataset, schema = YZJsonHelper.GetColumnCaptionInfo(dataset) }); return(new { id = id }); }
public static string ConvertToJsonValue(object value) { if (value == null || Convert.IsDBNull(value)) { return("\"\""); } if (value is string) { return("\"" + YZJsonHelper.EncodeAttribute(Convert.ToString(value)) + "\""); } if (value is DateTime) { DateTime date = (DateTime)value; if (date == DateTime.MinValue) { return("\"\""); } return(String.Format("{{\"year\":{0},\"month\":{1},\"day\":{2}}}", date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second)); } if (value is byte[]) { return("\"\""); } //return "\"" + Convert.ToBase64String((byte[])value) + "\"";目前还不支持绑定2进制数据 //欧洲、印度等国家,小数点会转换为",",这在JavaScript中不会识别,JS识别的是"." string rv = Convert.ToString(value, YZJsonHelper.JavaScriptFormat); if (value is bool) { rv = rv.ToLower(); } return(rv); }
public virtual JObject XSD2DataSetSchema(HttpContext context, HttpPostedFile file, string fileName, long fileSize, string fileExt) { DataSet dataSet = new DataSet(); if (String.Compare(fileExt, ".xml", true) == 0) { dataSet.ReadXml(file.InputStream, XmlReadMode.Auto); } else { dataSet.ReadXmlSchema(file.InputStream); } FlowDataSet flowDataSet = new FlowDataSet(); flowDataSet.LoadDefine(dataSet); return(YZJsonHelper.SerializeSchema(flowDataSet)); }
public virtual JObject GetProcedureParams(HttpContext context) { YZRequest request = new YZRequest(context); String datasourceName = request.GetString("DataSource", null); String procedureName = request.GetString("ProcedureName"); FlowDataSet dataset = new FlowDataSet(); FlowDataTable tableParams; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); DataSourceManager.LoadProdecureSchema(cn, datasourceName, procedureName, out tableParams); dataset.Tables.Add(tableParams); } JObject rv = YZJsonHelper.SerializeSchema(dataset, "", "DataType"); rv["supportOp"] = false; return(rv); }
public virtual object GetNewMemberDefaults(HttpContext context) { YZRequest request = new YZRequest(context); string parentou = request.GetString("parentou"); DataColumnCollection userExtAttrsSchema; OUCollection childOUs; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); userExtAttrsSchema = User.GetExtColumns(cn, parentou); childOUs = OU.GetChildren(cn, parentou); } return(new { UserExtAttrsSchema = YZJsonHelper.SerializeExtAttrSchema(userExtAttrsSchema), ChildOUs = YZJsonHelper.SerializeSimpleOU(childOUs), temporaryUid = "temporary/" + Guid.NewGuid().ToString() }); }
public virtual JObject GetOUDefine(HttpContext context) { YZRequest request = new YZRequest(context); string oufullname = request.GetString("fullName"); OU ou; DataColumnCollection columns; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); ou = OU.FromFullName(cn, oufullname); columns = OU.GetExtColumns(cn, ou.NameSpace); } JObject rv; rv = JObject.FromObject(ou); rv["ExtAttrsSchema"] = YZJsonHelper.SerializeExtAttrSchema(columns); return(rv); }
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")); }
public void AppendToJsonString(StringBuilder sb) { sb.Append("{"); bool firstAttr = true; foreach (KeyValuePair <string, object> kv in this.Attributes) { if (firstAttr) { firstAttr = false; } else { sb.Append(","); } sb.Append("\"" + kv.Key + "\""); sb.Append(":"); sb.Append(YZJsonHelper.ConvertToJsonValue(kv.Value)); } sb.Append("}"); }
public virtual JObject GetHistoryTasks(HttpContext context) { YZRequest request = new YZRequest(context); HistoryTaskType taskType = request.GetEnum <HistoryTaskType>("HistoryTaskType", HistoryTaskType.AllAccessable); int year = request.GetString("byYear", "1") == "0" ? -1 : request.GetInt32("Year", DateTime.Today.Year); //获得数据 JObject rv = new JObject(); string taskTableFilter; string stepTableFilter; using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider) { taskTableFilter = this.GetFilterStringHistoryTaskTaskTable(request, provider); stepTableFilter = this.GetFilterStringHistoryTaskStep(request, provider); } using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); int rowcount; BPMTaskCollection tasks = cn.GetHistoryTasks(year, taskType, taskTableFilter, stepTableFilter, null, request.Start, request.Limit, out rowcount); rv[YZJsonProperty.total] = rowcount; JArray children = new JArray(); rv[YZJsonProperty.children] = children; foreach (BPMTask task in tasks) { JObject item = new JObject(); children.Add(item); item["TaskID"] = task.TaskID; item["SerialNum"] = task.SerialNum; item["ProcessName"] = task.ProcessName; item["ProcessVersion"] = task.ProcessVersion.ToString(2); item["OwnerAccount"] = task.OwnerAccount; item["OwnerDisplayName"] = task.OwnerDisplayName; item["AgentAccount"] = task.AgentAccount; item["AgentDisplayName"] = task.AgentDisplayName; item["CreateAt"] = task.CreateAt; item["State"] = YZJsonHelper.GetTaskStateJObject(cn, task.TaskState, task.TaskID); item["Description"] = task.Description; try { ProcessProperty property = BPMProcess.GetProcessProperty(cn, task.ProcessName, task.ProcessVersion); item["ShortName"] = property.ShortName; item["Color"] = property.Color; if (String.IsNullOrEmpty(property.ShortName)) { item["ShortName"] = YZStringHelper.GetProcessDefaultShortName(task.ProcessName); } } catch (Exception) { item["Color"] = this._deletedProcessColor; item["ShortName"] = YZStringHelper.GetProcessDefaultShortName(task.ProcessName); } } } return(rv); }