示例#1
0
        public virtual JObject RecedeBack(HttpContext context)
        {
            YZRequest  request   = new YZRequest(context);
            int        stepid    = request.GetInt32("StepID");
            JObject    jPost     = request.GetPostData <JObject>();
            string     comments  = (string)jPost["comments"];
            string     formdata  = (string)jPost["formdata"];
            List <int> toStepIDs = jPost["toStepIDs"].ToObject <List <int> >();

            BPMProcStep srcStep;

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

                if (!String.IsNullOrEmpty(formdata))
                {
                    BPMProcess.Post(cn, formdata);
                }

                srcStep = BPMProcStep.Load(cn, stepid);

                BPMStepCollection newSteps = BPMProcStep.RecedeBack(cn, stepid, toStepIDs.ToArray(), comments);
                List <string>     to       = new List <string>();
                foreach (BPMProcStep step in newSteps)
                {
                    to.Add(String.Format("{0}[{1}]", step.NodeName, YZStringHelper.GetUserShortName(step.RecipientAccount, step.RecipientFullName)));
                }

                JObject rv = new JObject();
                rv["tosteps"] = String.Join(";", to.ToArray());

                return(rv);
            }
        }
示例#2
0
文件: OrgManager.cs 项目: radtek/EMIP
        public static object[] GetSupervisors(BPMConnection cn, string memberFullName, bool includeDisabledUser)
        {
            List <object> rv = new List <object>();

            SupervisorCollection supervisors = Member.GetSupervisors(cn, memberFullName);

            foreach (Supervisor supervisor in supervisors)
            {
                Member supervisorMember = Member.FromFullName(cn, supervisor.MemberFullName);
                User   user             = supervisorMember.GetUser(cn);
                if (user.Disabled && !includeDisabledUser)
                {
                    continue;
                }

                rv.Add(
                    new
                {
                    ou          = supervisorMember.GetParentOU(cn).GetFriendlyFullName(cn),
                    LeaderTitle = supervisorMember.LeaderTitle,
                    Level       = supervisorMember.Level,
                    Account     = supervisor.UserAccount,
                    UserName    = YZStringHelper.GetUserShortName(supervisor.UserAccount, supervisor.UserFullName),
                    FGYWEnabled = supervisor.FGYWEnabled,
                    FGYWs       = supervisor.FGYWs,
                    Disabled    = user.Disabled
                }
                    );
            }

            return(rv.ToArray());
        }
示例#3
0
        public virtual JObject GetTaskRejectedInfo(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            int       stepid  = request.GetInt32("stepid");

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

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                step.Open(cn, stepid);
                task.Open(cn, step.TaskID);

                JObject rv = new JObject();
                rv["taskid"]      = task.TaskID;
                rv["processName"] = task.ProcessName;
                rv["sn"]          = task.SerialNum;
                rv["desc"]        = task.Description;
                rv["rejectBy"]    = YZStringHelper.GetUserShortName(step.HandlerAccount, step.HandlerDisplayName);
                rv["rejectAt"]    = step.FinishAt;
                rv["comments"]    = step.Comments;

                return(rv);
            }
        }
示例#4
0
文件: OrgManager.cs 项目: radtek/EMIP
        public static object[] GetDirectXSs(BPMConnection cn, string memberFullName, bool includeDisabledUser)
        {
            List <object> rv = new List <object>();

            DirectXSCollection directXSs = Member.GetDirectXSs(cn, memberFullName);

            foreach (DirectXS xs in directXSs)
            {
                Member xsMember = Member.FromFullName(cn, xs.MemberFullName);
                User   user     = xsMember.GetUser(cn);
                if (user.Disabled && !includeDisabledUser)
                {
                    continue;
                }

                rv.Add(
                    new
                {
                    ou          = xsMember.GetParentOU(cn).GetFriendlyFullName(cn),
                    LeaderTitle = xsMember.LeaderTitle,
                    Level       = xsMember.Level,
                    Account     = xsMember.UserAccount,
                    UserName    = YZStringHelper.GetUserShortName(xs.UserAccount, xs.UserFullName)
                }
                    );
            }

            return(rv.ToArray());
        }
示例#5
0
        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);
        }
示例#6
0
    public static string GetTaskStateDisplayString(BPMConnection cn, TaskState state, int taskid)
    {
        if (state != TaskState.Running)
        {
            return(YZStringHelper.GetTaskStateDisplayName(state));
        }

        Dictionary <string, BPMObjectNameCollection> results = new Dictionary <string, BPMObjectNameCollection>();
        BPMStepCollection steps = BPMTask.GetInProcessSteps(cn, taskid);

        foreach (BPMProcStep step in steps)
        {
            string stepName = step.StepDisplayName;
            if (step.Share && String.IsNullOrEmpty(step.RecipientAccount))
            {
                stepName = stepName + "(等待获取)";
            }

            BPMObjectNameCollection users = null;
            if (results.ContainsKey(stepName))
            {
                users = results[stepName];
            }
            else
            {
                users = new BPMObjectNameCollection();
                results.Add(stepName, users);
            }

            string userName = YZStringHelper.GetUserShortName(step.RecipientAccount, step.RecipientFullName);

            if (!String.IsNullOrEmpty(userName) && !users.Contains(userName))
            {
                users.Add(userName);
            }
        }

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

        foreach (KeyValuePair <string, BPMObjectNameCollection> kv in results)
        {
            string users = String.Join(",", kv.Value.ToArray());
            if (String.IsNullOrEmpty(users))
            {
                rvs.Add(kv.Key);
            }
            else
            {
                rvs.Add(String.Format("{0}:{1}", kv.Key, users));
            }
        }

        return(String.Join(";", rvs.ToArray()));
    }
示例#7
0
    public static string GetUserShortNameListString(UserCollection users)
    {
        BPMObjectNameCollection names = new BPMObjectNameCollection();

        foreach (User user in users)
        {
            names.Add(YZStringHelper.GetUserShortName(user.Account, user.DisplayName));
        }

        return(names.ToStringList(';'));
    }
示例#8
0
 public static string GetRecpientDisplayName(StepRecipient recp)
 {
     if (recp.Agent == null)
     {
         return(YZStringHelper.GetUserFriendlyName(recp.Owner.Account, recp.Owner.DisplayName));
     }
     else
     {
         return(String.Format(Resources.YZStrings.Aspx_RecpDspFmt, YZStringHelper.GetUserFriendlyName(recp.Agent.Account, recp.Agent.DisplayName),
                              YZStringHelper.GetUserShortName(recp.Owner.Account, recp.Owner.DisplayName)));
     }
 }
示例#9
0
        public virtual object GetCompanyContactInfo(HttpContext context)
        {
            YZRequest request = new YZRequest(context);
            string    uid     = request.GetString("uid");

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

                User                 user           = User.FromAccount(cn, uid);
                UserCommonInfo       userCommonInfo = UserCommonInfo.FromAccount(cn, uid);
                MemberCollection     members        = OrgSvr.GetUserPositions(cn, user.Account);
                SupervisorCollection supervisors    = new SupervisorCollection();

                foreach (Member member in members)
                {
                    supervisors.AddRange(member.GetSupervisors(cn));
                }

                JArray jMembers = new JArray();
                foreach (Member member in members)
                {
                    JObject jMember = new JObject();
                    jMembers.Add(jMember);

                    jMember["LeaderTitle"] = member.LeaderTitle;
                    jMember["Level"]       = member.Level;
                    jMember["OUName"]      = member.GetParentOU(cn).Name;
                }

                JArray jSupervisors = new JArray();
                foreach (Supervisor supervisor in supervisors)
                {
                    JObject jSupervisor = new JObject();
                    jSupervisors.Add(jSupervisor);

                    jSupervisor["Account"]   = supervisor.UserAccount;
                    jSupervisor["ShortName"] = YZStringHelper.GetUserShortName(supervisor.UserAccount, supervisor.UserFullName);
                    jSupervisor["FGYWs"]     = supervisor.FGYWEnabled ? supervisor.FGYWs.ToStringList(','):"";
                }

                return(new
                {
                    user = user,
                    userCommonInfo = userCommonInfo,
                    positions = jMembers,
                    supervisors = jSupervisors
                });
            }
        }
示例#10
0
文件: Form.cs 项目: radtek/EMIP
        protected virtual JObject GetDirectSendInfo(BPMConnection cn, BPMProcStep step, SystemLinkCollection systemLinks)
        {
            if (step.RecedeFromStep == -1)
            {
                return(null);
            }

            int        idx            = systemLinks.Find(SystemLinkType.DirectSend);
            SystemLink directSendLink = idx == -1 ? null:systemLinks[idx];

            if (directSendLink != null && !directSendLink.Enabled)
            {
                return(null);
            }

            BPMStepCollection toSteps = null;

            toSteps = BPMProcStep.GetDirectSendTargetSteps(cn, step.StepID);

            if (toSteps == null || toSteps.Count == 0)
            {
                return(null);
            }

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

            rv["toSteps"]         = jtoSteps;
            rv["validationGroup"] = directSendLink.ValidationGroup;

            foreach (BPMProcStep toStep in toSteps)
            {
                JObject jtoStep = new JObject();
                jtoSteps.Add(jtoStep);

                jtoStep["NodeName"] = toStep.NodeName;
                jtoStep["User"]     = YZStringHelper.GetUserShortName(toStep.RecipientAccount, toStep.RecipientFullName);
            }

            return(rv);
        }
示例#11
0
        private JObject GenLoginResult(string account, bool trial)
        {
            string   andriodPushService = WebConfigurationManager.AppSettings["AndroidPushService"];
            DateTime today = DateTime.Today;
            JObject  rv    = new JObject();

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                User           user           = User.FromAccount(cn, account);
                UserCommonInfo userCommonInfo = UserCommonInfo.FromAccount(cn, account);

                JObject juser = new JObject();
                rv["user"] = juser;

                juser["Account"]            = user.Account;
                juser["AndroidPushService"] = String.IsNullOrEmpty(andriodPushService) ? "JPush" : andriodPushService;
                juser["HRID"]        = user.HRID;
                juser["DisplayName"] = user.DisplayName;
                juser["ShortName"]   = YZStringHelper.GetUserShortName(user.Account, user.DisplayName);
                juser["LongName"]    = YZStringHelper.GetUserFriendlyName(user.Account, user.DisplayName);
                juser["LoginDate"]   = DateTime.Now;
                juser["ScreenLock"]  = userCommonInfo.ScreenLock;
                juser["TouchUnlock"] = userCommonInfo.TouchUnlock;
                juser["Trial"]       = trial;

                rv["BPMSiteUrl"]   = WebConfigurationManager.AppSettings["BPMSiteUrl"];
                rv["LocalLibrary"] = String.Compare(System.Web.Configuration.WebConfigurationManager.AppSettings["LocalLibrary"], "false", true) == 0 ? false : true;
                rv["JSCache"]      = YZSetting.JSCache;
                rv["JSVersion"]    = YZSetting.JSVersion;
                rv["ver"]          = 2;
            }

            rv["xclass"]  = "EMIP.view.Main";
            rv["success"] = true;

            return(rv);
        }
示例#12
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);
        }
示例#13
0
        public void ProcessRequest(HttpContext context)
        {
            JsonItem rv       = new JsonItem();
            string   userid   = context.Request.Params["uid"];
            string   password = context.Request.Params["pwd"];
            string   isWeixIn = context.Request.Params["isWeixIn"];

            LoginUser loginUers = new LoginUser();

            String NetWork     = String.IsNullOrEmpty(context.Request.Params["NetWork"]) ? "" : context.Request.Params["NetWork"],
                   Phone       = String.IsNullOrEmpty(context.Request.Params["DevicePlatform"]) ? "" : context.Request.Params["DevicePlatform"],
                   DeviceName  = String.IsNullOrEmpty(context.Request.Params["DeviceName"]) ? "" : context.Request.Params["DeviceName"],
                   UUID        = String.IsNullOrEmpty(context.Request.Params["UUID"]) ? "" : context.Request.Params["UUID"],
                   Versions    = String.IsNullOrEmpty(context.Request.Params["Version"]) ? "Web客户端" : context.Request.Params["Version"],
                   strErrorMsg = String.Empty;


            try
            {
                if (String.IsNullOrEmpty(userid) /*|| String.IsNullOrEmpty(password)*/)
                {
                    if (String.IsNullOrWhiteSpace(isWeixIn))
                    {
                        throw new Exception(JosonStrings.Aspx_Login_EnterAccountTip);
                    }
                    else
                    {
                        throw new Exception("请关注微信服务号【创维数字移动办公】后,绑定你的域账号!");
                    }
                }

                string realAccount = null;
                if (!String.IsNullOrEmpty(isWeixIn))
                {
                    var isDegug = Convert.ToString(context.Request.Params["isDebug"]).ToLower().Equals("true");

                    if (context.Request.UserAgent.ToLower().Contains("micromessenger"))
                    {
                        realAccount = userid;
                        Versions    = "微信客户端";
                    }
                    else
                    {
                        if (!isDegug)
                        {
                            rv.Attributes["success"]      = false;
                            rv.Attributes["errorMessage"] = "试图非法登录!本次已经记录该操作!客户端仅提供微信绑定域用户使用" + DeviceName + Phone + NetWork;
                            context.Response.Write(rv.ToString());
                        }
                        else
                        {
                            realAccount = userid;
                            Versions    = "微信客户端";
                        }
                    }
                }
                else
                {
                    if (!BPMConnection.Authenticate(YZAuthHelper.BPMServerName, YZAuthHelper.BPMServerPort, userid, password, out realAccount))
                    {
                        throw new Exception(JosonStrings.Aspx_Login_Fail);
                    }
                }

                if (realAccount != null)
                {
                    YZAuthHelper.SetAuthCookie(realAccount);
                    YZAuthHelper.ClearLogoutFlag();


                    using (BPMConnection cn = new BPMConnection())
                    {
                        cn.WebOpen();
                        User user = User.FromAccount(cn, realAccount);

                        loginUers = cn.getLoginUser(userid, password, "LogIn", "logInOK", NetWork, Phone, UUID, DeviceName, Versions);

                        JsonItem juser = new JsonItem();
                        rv.Attributes["user"] = juser;

                        juser.Attributes["Account"] = user.Account;
                        string andriodPushService = WebConfigurationManager.AppSettings["AndroidPushService"];
                        juser.Attributes["AndroidPushService"] = String.IsNullOrEmpty(andriodPushService) ? "JPush" : andriodPushService;
                        juser.Attributes["HRID"]        = user.HRID;
                        juser.Attributes["DisplayName"] = user.DisplayName;
                        juser.Attributes["ShortName"]   = YZStringHelper.GetUserShortName(user.Account, user.DisplayName);
                        juser.Attributes["LongName"]    = YZStringHelper.GetUserFriendlyName(user.Account, user.DisplayName);
                        DateTime today = DateTime.Today;
                        juser.Attributes["LoginDate"] = String.Format("{0}年{1}月{2}日", today.Year, today.Month, today.Day);


                        juser.Attributes["NetWork"]    = NetWork;
                        juser.Attributes["Phone"]      = Phone;
                        juser.Attributes["UUID"]       = UUID;
                        juser.Attributes["DeviceName"] = DeviceName;
                    }

                    new SqlServerProvider(context).InsertLogInInfo(loginUers);
                    //System.Threading.Thread.Sleep(500);

                    rv.Attributes["success"] = true;
                    context.Response.Write(rv.ToString());
                }
            }
            catch (Exception exp)
            {
                YZEventLog log = new YZEventLog();
                log.WriteEntry(exp);

                loginUers.ErrorMsg = exp.Message;

                rv.Attributes["success"]      = false;
                rv.Attributes["errorMessage"] = exp.Message;
                context.Response.Write(rv.ToString());
            }
        }
示例#14
0
        protected virtual void PostProcessNotifyTopic(IYZDbProvider provider, IDbConnection cn, BPMConnection bpmcn, string loginUserAccount, DataRow row, bool countUsers)
        {
            JObject jExt = new JObject();

            row["ext"] = jExt;
            YZResourceType resType = (YZResourceType)Enum.Parse(typeof(YZResourceType), Convert.ToString(row["resType"]), true);

            row["resType"] = resType.ToString();

            if (row.Table.Columns.Contains("uid"))
            {
                string uid  = Convert.ToString(row["uid"]);
                User   user = User.TryGetUser(bpmcn, uid);
                jExt["UserShortName"] = user == null ? uid : user.ShortName;
            }

            switch (resType)
            {
            case YZResourceType.Task:
                BPMTask         task     = BPMTask.Load(bpmcn, Int32.Parse(Convert.ToString(row["resId"])));
                ProcessProperty property = BPMProcess.GetProcessProperty(bpmcn, task.ProcessName, task.ProcessVersion);

                string owner = YZStringHelper.GetUserShortName(task.OwnerAccount, task.OwnerDisplayName);
                row["resName"] = String.Format(Resources.YZStrings.All_BPM_Task_Title_FMT, owner, task.ProcessName);

                jExt["ProcessName"] = task.ProcessName;
                jExt["Owner"]       = owner;
                jExt["Color"]       = property.Color;
                jExt["ShortName"]   = property.ShortName;
                if (String.IsNullOrEmpty(property.ShortName))
                {
                    jExt["ShortName"] = YZStringHelper.GetProcessDefaultShortName(task.ProcessName);
                }
                break;

            case YZResourceType.Group:
                Group.Group group = GroupManager.GetGroup(provider, cn, Int32.Parse(Convert.ToString(row["resId"])));

                row["resName"]      = group.Name;
                jExt["GroupType"]   = group.GroupType;
                jExt["ImageFileID"] = group.ImageFileID;

                if (countUsers)
                {
                    jExt["MemberCount"] = GroupManager.GetGroupMemberCount(provider, cn, group.GroupID);
                }

                break;

            case YZResourceType.SingleChat:
                P2PGroup.P2PGroup p2pGroup = P2PGroupManager.GetGroup(provider, cn, Int32.Parse(Convert.ToString(row["resId"])));

                row["resName"]         = p2pGroup.GetGroupName(bpmcn, loginUserAccount);
                jExt["P2PPeerAccount"] = p2pGroup.GetPeerAccount(loginUserAccount);
                jExt["FolderID"]       = p2pGroup.FolderID;

                break;

            case YZResourceType.TaskApproved:
                row["resName"] = Resources.YZStrings.Aspx_Message_Title_Approved;
                break;

            case YZResourceType.TaskRejected:
                row["resName"] = Resources.YZStrings.Aspx_Message_Title_Rejected;
                break;

            default:
                break;
            }
        }
示例#15
0
        public void ProcessRequest(HttpContext context)
        {
            YZAuthHelper.OAuth();

            //YZAuthHelper.AshxAuthCheck();

            GridPageInfo gridPageInfo = new GridPageInfo(context);
            IDBProvider  dbProvider   = YZDBProviderManager.CurrentProvider;

            //获得数据
            BPMTaskListCollection tasks = new BPMTaskListCollection();
            int      rowcount;
            JsonItem rootItem = new JsonItem();

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

                tasks = cn.GetMyTaskList(dbProvider.FilterStringMyTask, null, gridPageInfo.Start, gridPageInfo.Limit, out rowcount);

                //将数据转化为Json集合
                rootItem.Attributes.Add(JsonItem.TotalRows, rowcount);
                rootItem.Attributes.Add("total", rowcount);

                JsonItemCollection children = new JsonItemCollection();
                rootItem.Attributes.Add("children", children);


                foreach (BPMTaskListItem task in tasks)
                {
                    JsonItem item = new JsonItem();
                    children.Add(item);


                    //string OwnerDisplayName = (YZStringHelper.GetUserShortName(task.OwnerAccount, task.OwnerDisplayName) + task.ProcessName).Length>4
                    //    ? YZStringHelper.GetUserShortName(task.OwnerAccount, task.OwnerDisplayName).CutStrHTML(2)
                    //    : YZStringHelper.GetUserShortName(task.OwnerAccount, task.OwnerDisplayName);

                    item.Attributes.Add("tid", task.TaskID);
                    item.Attributes.Add("pid", task.StepID);
                    item.Attributes.Add("sn", task.SerialNum);
                    item.Attributes.Add("pn", task.ProcessName);
                    item.Attributes.Add("stepName", string.Empty);
                    //item.Attributes.Add("stepName", BPMProcStep.GetStepDisplayName(task.StepName).CutStrHTML(4));

                    //item.Attributes.Add("user", OwnerDisplayName);
                    item.Attributes.Add("user", YZStringHelper.GetUserShortName(task.OwnerAccount, task.OwnerDisplayName));

                    //item.Attributes.Add("date", String.Empty);
                    item.Attributes.Add("date", YZStringHelper.DateToStringL(task.CreateAt));

                    task.Description = task.ShowDescByProcessName(true);

                    item.Attributes.Add("desc", String.IsNullOrEmpty(task.Description) ? "无内容摘要" : task.Description);

                    DateTime time = new DateTime();
                    time.ToUniversalTime();
                }
            }

            //System.Threading.Thread.Sleep(2000);
            context.Response.AppendHeader("Access-Control-Allow-Origin", "*");      // 响应类型
            context.Response.AppendHeader("Access-Control-Allow-Methods", "POST");  // 响应头设置
            context.Response.AppendHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");

            context.Response.Charset         = "gb2312"; //设置字符集类型
            context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            context.Response.ContentType     = "application/json;charset=gb2312";
            //输出数据
            context.Response.Write(rootItem.ToString());
        }
示例#16
0
        public void ProcessRequest(HttpContext context)
        {
            YZAuthHelper.OAuth();

            //YZAuthHelper.AshxAuthCheck();

            GridPageInfo gridPageInfo = new GridPageInfo(context);
            IDBProvider  dbProvider   = YZDBProviderManager.CurrentProvider;

            int year;

            if (context.Request.Params["byYear"] == "0")
            {
                year = -1;
            }
            else
            {
                string strYear = context.Request.Params["Year"];
                year = String.IsNullOrEmpty(strYear) ? DateTime.Today.Year : Convert.ToInt32(strYear);
            }

            //获得数据
            BPMTaskCollection tasks = new BPMTaskCollection();
            int      rowcount;
            JsonItem rootItem = new JsonItem();

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

                tasks = cn.GetHistoryTasks(year, HistoryTaskType.AllAccessable, dbProvider.FilterStringHistoryTaskTaskTableFilter, dbProvider.FilterStringHistoryTaskStepTableFilter, null, gridPageInfo.Start, gridPageInfo.Limit, out rowcount);

                //将数据转化为Json集合
                rootItem.Attributes.Add(JsonItem.TotalRows, rowcount);

                JsonItemCollection children = new JsonItemCollection();
                rootItem.Attributes.Add("children", children);
                rootItem.Attributes.Add("total", rowcount);

                foreach (BPMTask task in tasks)
                {
                    JsonItem item = new JsonItem();
                    children.Add(item);

                    item.Attributes.Add("tid", task.TaskID);
                    item.Attributes.Add("pid", task.ParentStepID);
                    item.Attributes.Add("sn", task.SerialNum);
                    item.Attributes.Add("pn", task.ProcessName);
                    item.Attributes.Add("user", YZStringHelper.GetUserShortName(task.OwnerAccount, task.OwnerDisplayName));
                    item.Attributes.Add("state", task.TaskState.ToString());
                    item.Attributes.Add("stateText", YZStringHelper.GetTaskStateDisplayName(task.TaskState));
                    item.Attributes.Add("stateProcessing", YZStringHelper.GetTaskProcessingStatus(cn, task.TaskState, task.TaskID));
                    item.Attributes.Add("date", YZStringHelper.DateToStringL(task.CreateAt));


                    task.Description = task.ShowDescByProcessName(true);

                    item.Attributes.Add("desc", String.IsNullOrEmpty(task.Description) ? "无内容摘要" : task.Description);
                }
            }

            //System.Threading.Thread.Sleep(500);
            context.Response.AppendHeader("Access-Control-Allow-Origin", "*");      // 响应类型
            context.Response.AppendHeader("Access-Control-Allow-Methods", "POST");  // 响应头设置
            context.Response.AppendHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");

            context.Response.Charset         = "gb2312"; //设置字符集类型
            context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            context.Response.ContentType     = "application/json;charset=gb2312";
            //输出数据
            context.Response.Write(rootItem.ToString());
        }
示例#17
0
        public virtual DataTable GetProcessAnalysisByHandlerAccount(HttpContext context)
        {
            YZRequest request     = new YZRequest(context);
            string    type        = request.GetString("Type", "year");
            string    strInclude  = request.GetString("include", null);
            string    strExclude  = request.GetString("exclude", null);
            int       year        = request.GetInt32("year", DateTime.Today.Year);
            int       month       = request.GetInt32("month", -1);
            string    processName = request.GetString("ProcessName");
            string    orderby     = request.GetString("OrderBy");

            if (String.Compare(type, "year", true) == 0)
            {
                month = -1;
            }

            BPMObjectNameCollection include = null;
            BPMObjectNameCollection exclude = null;

            if (!String.IsNullOrEmpty(strInclude))
            {
                include = JArray.Parse(strInclude).ToObject <BPMObjectNameCollection>();
            }
            if (!String.IsNullOrEmpty(strExclude))
            {
                exclude = JArray.Parse(strExclude).ToObject <BPMObjectNameCollection>();
            }

            DataTable table;

            using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
            {
                using (IDbConnection cn = provider.OpenConnection())
                {
                    using (YZReader reader = new YZReader(provider.GetProcessAnalysisByHandlerAccount(cn, year, month, processName, orderby, include, exclude)))
                    {
                        table = reader.LoadTable();
                        PageResult.RegularColumnsName(table, new string[] {
                            "HandlerAccount",
                            "Counts",
                            "SumMinutes",
                            "AvgMinutes",
                            "MaxMinutes",
                            "TotalMinutes",
                            "Per"
                        });
                    }
                }
            }

            //补齐信息(账号的显示名)
            table.Columns.Add("HandlerUserShortName", typeof(string));
            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                foreach (DataRow row in table.Rows)
                {
                    string account = Convert.ToString(row["HandlerAccount"]);
                    User   user    = User.TryGetUser(cn, account);
                    row["HandlerUserShortName"] = YZStringHelper.GetUserShortName(account, user != null ? user.DisplayName : "");
                }
            }

            return(table);
        }
示例#18
0
        public void ProcessRequest(HttpContext context)
        {
            YZAuthHelper.OAuth();

            //YZAuthHelper.AshxAuthCheck();

            string method = context.Request.Params["method"];

            if (method == "GetUsers")
            {
                string keyword = context.Request.Params["keyword"];

                keyword = string.IsNullOrEmpty(keyword) ? "ASDT" : keyword;

                //获得数据

                UserCollection users = new UserCollection();
                int            rowcount;
                JsonItem       rootItem = new JsonItem();
                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();
                    users = OrgSvr.SearchUser(cn, keyword);

                    List <User> usersLst = users.Where(s => s.NameSpace == "LDAP").ToList <User>();

                    //usersLst = users.Where(s => s.ExtAttributes["Supplayer"]=="SDT").ToList<User>();
                    //usersLst = users.Select(u => u.ExtAttributes["Supplayer"] == "").ToList<User>();

                    usersLst.Sort(new UserCompare());
                    rowcount = usersLst.Count;

                    //将数据转化为Json集合
                    rootItem.Attributes.Add(JsonItem.TotalRows, rowcount);

                    JsonItemCollection children = new JsonItemCollection();
                    rootItem.Attributes.Add("children", children);
                    rootItem.Attributes.Add("total", rowcount);

                    int i = 0;
                    foreach (User user in usersLst)
                    {
                        i++;

                        //if (i > 8)
                        //    break;

                        if (user.Account == "sa")
                        {
                            continue;
                        }
                        JsonItem item = new JsonItem();
                        children.Add(item);

                        item.Attributes.Add("Name", user.DisplayName);
                        item.Attributes.Add("Account", user.Account);
                        item.Attributes.Add("HRID", user.HRID);
                        item.Attributes.Add("user", user.ShortName);
                        item.Attributes.Add("group", YZPinYinHelper.GetShortPinyin(user.ShortName.Substring(0, 1)).ToUpper());

                        item.Attributes.Add("Mobile", user.Mobile);
                        item.Attributes.Add("HomePhone", user.HomePhone);
                        item.Attributes.Add("OfficePhone", user.OfficePhone);
                        item.Attributes.Add("Mail", user.EMail);
                    }
                }

                //输出数据
                context.Response.Write(rootItem.ToString());
            }
            else if (method == "GetUser")
            {
                string   uid = context.Request.Params["uid"];
                JsonItem rv  = new JsonItem();
                if (!String.IsNullOrEmpty(uid))
                {
                    using (BPMConnection cn = new BPMConnection())
                    {
                        JsonItem data = new JsonItem();
                        rv.Attributes.Add("data", data);

                        cn.WebOpen();
                        User user = User.FromAccount(cn, uid);

                        data.Attributes["Account"]     = user.Account;
                        data.Attributes["HRID"]        = user.HRID;
                        data.Attributes["DisplayName"] = user.ShortName;
                        data.Attributes["Mobile"]      = user.Mobile;
                        data.Attributes["OfficePhone"] = user.OfficePhone;
                        data.Attributes["HomePhone"]   = user.HomePhone;
                        data.Attributes["EMail"]       = user.EMail;
                        data.Attributes["Office"]      = user.Office;
                        data.Attributes["Birthday"]    = YZStringHelper.DateToString(user.Birthday);
                        data.Attributes["DateHired"]   = YZStringHelper.DateToString(user.DateHired);
                        data.Attributes["Desc"]        = user.Description;

                        //获得所有主管
                        BPMObjectNameCollection depts       = new BPMObjectNameCollection();
                        UserCollection          supervisors = new UserCollection();
                        MemberCollection        members     = OrgSvr.GetUserPositions(cn, uid);
                        foreach (Member member in members)
                        {
                            OU     ou      = member.GetParentOU(cn);
                            String OULevel = ou.OULevel;
                            String OUName  = ou.Name;

                            String FullName    = member.GetParentOU(cn).FullName;
                            String mFullName   = member.FullName;
                            String mDepartment = member.Department;


                            if (!ou.IsRootOU)
                            {
                                OUName = mFullName.Split(new char[2] {
                                    '/', '/'
                                })[2].GetShortName().ToString();
                                depts.Add(OUName);
                            }

                            if (String.IsNullOrEmpty(member.LeaderTitle))
                            {
                                depts.Add(ou.Name);
                            }
                            else
                            {
                                depts.Add(ou.Name);
                            }
                            //depts.Add(String.Format("{0}({1})", ou.Name, member.LeaderTitle));



                            SupervisorCollection spvs = Member.GetSupervisors(cn, member.FullName);
                            foreach (Supervisor spv in spvs)
                            {
                                User spvUser = User.TryGetUser(cn, spv.UserAccount);
                                if (spvUser == null)
                                {
                                    spvUser         = new User();
                                    spvUser.Account = spv.UserAccount;
                                }

                                spv.UserFullName = YZStringHelper.GetUserShortName(spvUser.Account, spvUser.DisplayName);

                                if (!supervisors.Contains(spvUser.Account))
                                {
                                    supervisors.Add(spvUser);
                                }
                            }
                        }

                        JsonItemCollection jsonSupervisors = new JsonItemCollection();
                        data.Attributes["Supervisors"] = jsonSupervisors;
                        foreach (User spv in supervisors)
                        {
                            JsonItem jsonSupervisor = new JsonItem();
                            jsonSupervisors.Add(jsonSupervisor);
                            jsonSupervisor.Attributes["uid"]       = spv.Account;
                            jsonSupervisor.Attributes["ShortName"] = spv.ShortName;
                        }

                        data.Attributes["Dept"] = String.Join(" > ", depts.ToArray());
                    }
                }
                rv.Attributes.Add("success", true);

                context.Response.AppendHeader("Access-Control-Allow-Origin", "*");      // 响应类型
                context.Response.AppendHeader("Access-Control-Allow-Methods", "POST");  // 响应头设置
                context.Response.AppendHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");

                context.Response.Charset         = "gb2312"; //设置字符集类型
                context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                context.Response.ContentType     = "application/json;charset=gb2312";
                context.Response.Write(rv.ToString());
            }
        }
示例#19
0
        public void ProcessRequest(HttpContext context)
        {
            YZAuthHelper.OAuth();

            //YZAuthHelper.AshxAuthCheck();

            try
            {
                UIStrings rs     = new UIStrings();
                int       taskid = Int32.Parse(context.Request.Params["tid"]);

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

                    BPMStepCollection steps = BPMTask.GetAllSteps(cn, taskid);
                    BPMTask           task  = BPMTask.Load(cn, taskid);

                    rv.Attributes.Add("sn", task.SerialNum);
                    rv.Attributes.Add("pn", task.ProcessName);

                    //将数据转化为Json集合
                    JsonItemCollection children = new JsonItemCollection();
                    rv.Attributes.Add("children", children);

                    foreach (BPMProcStep step in steps)
                    {
                        //不是有效的步骤
                        if (!step.IsHumanStep)
                        {
                            continue;
                        }

                        //跳过 - 无处理人的非共享任务
                        if (String.IsNullOrEmpty(step.OwnerAccount) && !step.Share)
                        {
                            continue;
                        }

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

                        item.Attributes.Add("StepDisplayName", step.StepDisplayName);

                        string recpAccount;
                        string recpDisplayName;
                        if (step.Finished)
                        {
                            recpAccount     = step.HandlerAccount;
                            recpDisplayName = YZStringHelper.GetUserShortName(step.HandlerAccount, step.HandlerFullName);
                        }
                        else
                        {
                            recpAccount     = step.RecipientAccount;
                            recpDisplayName = YZStringHelper.GetUserShortName(step.RecipientAccount, step.RecipientFullName);
                        }

                        if (!step.IsConsignStep && recpAccount != step.OwnerAccount)
                        {
                            recpDisplayName = String.Format(rs["XFormDesigner.XSignTrace.OwnerFmt"], recpDisplayName, YZStringHelper.GetUserShortName(step.OwnerAccount, step.OwnerDisplayName));
                        }
                        item.Attributes.Add("Recipient", recpDisplayName);

                        item.Attributes.Add("OwnerAccount", step.OwnerAccount);
                        item.Attributes.Add("OwnerFullName", step.OwnerFullName);
                        item.Attributes.Add("OwnerDisplayName", step.OwnerDisplayName);

                        item.Attributes.Add("Finished", step.Finished);
                        item.Attributes.Add("FinishAt", YZStringHelper.DateToStringM(step.FinishAt, ""));
                        item.Attributes.Add("ReceiveAt", YZStringHelper.DateToStringM(step.ReceiveAt, ""));

                        item.Attributes.Add("SelActionDisplayString", step.SelActionDisplayString);
                        item.Attributes.Add("Comments", HttpUtility.HtmlEncode(step.Comments));
                    }
                }

                //System.Threading.Thread.Sleep(500);
                //输出数据
                context.Response.Write(rv.ToString());
            }
            catch (Exception e)
            {
                JsonItem rv = new JsonItem();
                rv.Attributes.Add("success", false);
                rv.Attributes.Add("errorMessage", e.Message);
                context.Response.Write(rv.ToString());
            }


            context.Response.AppendHeader("Access-Control-Allow-Origin", "*");      // 响应类型
            context.Response.AppendHeader("Access-Control-Allow-Methods", "POST");  // 响应头设置
            context.Response.AppendHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");

            context.Response.Charset         = "gb2312"; //设置字符集类型
            context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            context.Response.ContentType     = "application/json;charset=gb2312";
        }
示例#20
0
        public void ProcessRequest(HttpContext context)
        {
            try
            {
                YZAuthHelper.OAuth();
                //YZAuthHelper.AshxAuthCheck();

                string loginUid = YZAuthHelper.LoginUserAccount;

                IDBProvider dbProvider = YZDBProviderManager.CurrentProvider;

                string   method = context.Request.Params["method"];
                JsonItem rv     = new JsonItem();

                // System.Threading.Thread.Sleep(2000);

                if (method == "Send")
                {
                    //http://oauth.skyworthdigital.com/WebService/Iservice/Communication.ashx?UserAccount=SDT12872&restype=1&message=添加一条哦啊讨论啊&resId=216928&method=Send

                    YZResourceType resType = (YZResourceType)Enum.Parse(typeof(YZResourceType), context.Request.Params["resType"], true);
                    string         resId   = context.Request.Params["resId"];
                    string         msg     = context.Request.Params["message"];

                    if (!string.IsNullOrEmpty(msg.Trim()))
                    {
                        using (IDbConnection cn = dbProvider.OpenConnection())
                        {
                            YZMessage message = new YZMessage(loginUid, DateTime.Now, resType, resId, msg);
                            message.Insert(cn);

                            YZCommunicationManager.UpdateReaded(cn, loginUid, resType, resId, message.id);

                            JsonItem result = new JsonItem();
                            rv.Attributes.Add("message", result);
                            message.Serialize(result);
                        }
                    }
                }
                else if (method == "GetTaskCommunicationList")
                {
                    GridPageInfo gridPageInfo = new GridPageInfo(context);

                    SecurityToken token = null;
                    using (BPMConnection bpmcn = new BPMConnection())
                    {
                        bpmcn.WebOpen();
                        token = bpmcn.Token;
                    }

                    using (IDbConnection cn = dbProvider.OpenConnection())
                    {
                        //http://oauth.skyworthdigital.com/WebService/Iservice/Communication.ashx?UserAccount=SDT12872&method=GetTaskCommunicationList&SearchType=QuickSearch&Keyword=216928
                        //http://oauth.skyworthdigital.com/WebService/Iservice/Communication.ashx?UserAccount=SDT12872&method=GetTaskCommunicationList&SearchType=QuickSearch&Keyword=REQ2014090001

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

                            IDbCommand cmd = dbProvider.GetTaskCommunicationListCommand(cn, loginUid, token.SIDs, dbProvider.FilterStringCommunicationListTaskTableFilter, dbProvider.FilterStringCommunicationMessageTableFilter, gridPageInfo.Start, gridPageInfo.Limit);
                            cmd.Connection = cn;

                            JsonItemCollection children = new JsonItemCollection();
                            rv.Attributes.Add("children", children);

                            using (YZReader reader = new YZReader(cmd.ExecuteReader()))
                            {
                                while (reader.Read())
                                {
                                    JsonItem item = new JsonItem();
                                    children.Add(item);

                                    string ownerAccount     = reader.ReadString("OwnerAccount");
                                    User   owner            = User.TryGetUser(bpmcn, ownerAccount);
                                    string ownerDisplayName = owner != null ? owner.DisplayName : ownerAccount;

                                    string lastMsgUid  = reader.ReadString("uid");
                                    User   lastMsgUser = User.TryGetUser(bpmcn, lastMsgUid);
                                    string lastMessageUserShortName = lastMsgUser != null ? lastMsgUser.ShortName : lastMsgUid;

                                    TaskState state  = (TaskState)reader.ReadEnum("State", typeof(TaskState), TaskState.Unknow);
                                    int       taskid = reader.ReadInt32("TaskID");

                                    item.Attributes["tid"]       = taskid;
                                    item.Attributes["sn"]        = reader.ReadString("SerialNum");
                                    item.Attributes["pn"]        = reader.ReadString("ProcessName");
                                    item.Attributes["user"]      = YZStringHelper.GetUserShortName(ownerAccount, ownerDisplayName);
                                    item.Attributes["state"]     = state.ToString();
                                    item.Attributes["stateText"] = YZStringHelper.GetTaskStateDisplayString(bpmcn, state, taskid);
                                    item.Attributes["date"]      = YZStringHelper.DateToStringL(reader.ReadDateTime("CreateAt"));

                                    string desc = Convert.ToString(reader.ReadString("Description"));



                                    item.Attributes["desc"] = String.IsNullOrEmpty(desc) ? "无内容摘要" : desc.CutStrHTML(isHTML: true);

                                    item.Attributes["count"]                    = reader.ReadInt32("count");
                                    item.Attributes["total"]                    = reader.ReadInt32("total");
                                    item.Attributes["Id"]                       = reader.ReadInt32("Id");
                                    item.Attributes["lastMessageId"]            = reader.ReadInt32("lastMsgId");
                                    item.Attributes["lastMessageUid"]           = lastMsgUid;
                                    item.Attributes["lastMessageUserShortName"] = lastMessageUserShortName;
                                    item.Attributes["lastMessageDate"]          = YZStringHelper.DateToStringL(reader.ReadDateTime("date"));
                                    item.Attributes["lastMessage"]              = reader.ReadString("message");
                                }
                            }
                        }

                        rv.Attributes["newMessageCount"] = dbProvider.GetTaskCommunicationNewMessageCount(cn, loginUid, token.SIDs);
                    }
                }
                else if (method == "GetBadge")
                {
                    YZResourceType resType = (YZResourceType)Enum.Parse(typeof(YZResourceType), context.Request.Params["resType"], true);
                    string         resId   = context.Request.Params["resId"];

                    using (IDbConnection cn = dbProvider.OpenConnection())
                    {
                        rv.Attributes["total"]           = YZCommunicationManager.GetMessageCount(cn, resType, resId);
                        rv.Attributes["newMessageCount"] = YZCommunicationManager.GetNewMessageCount(cn, loginUid, resType, resId);
                    }
                }
                else if (method == "UpdateReaded")
                {
                    YZResourceType resType   = (YZResourceType)Enum.Parse(typeof(YZResourceType), context.Request.Params["resType"], true);
                    string         resId     = context.Request.Params["resId"];
                    string         strLastId = context.Request.Params["lastid"];
                    if (String.IsNullOrEmpty(strLastId))
                    {
                        strLastId = "-1";
                    }
                    int lastId = Convert.ToInt32(strLastId);

                    using (IDbConnection cn = dbProvider.OpenConnection())
                    {
                        YZCommunicationManager.UpdateReaded(cn, loginUid, resType, resId, lastId);
                    }
                }
                else
                {
                    //http://bpm.sdt.com/YZSoft/Forms/XForm/%E5%B7%A5%E4%BD%9C%E6%8A%A5%E5%91%8A/%E5%B7%A5%E4%BD%9C%E6%8A%A5%E5%91%8A.aspx?tid=216928
                    //http://oauth.skyworthdigital.com/WebService/Iservice/Communication.ashx?UserAccount=SDT12872&restype=1&lastid=306&resId=216928

                    YZResourceType resType   = (YZResourceType)Enum.Parse(typeof(YZResourceType), context.Request.Params["resType"], true);
                    string         resId     = context.Request.Params["resId"];
                    string         strLastId = context.Request.Params["lastid"];
                    if (String.IsNullOrEmpty(strLastId))
                    {
                        strLastId = "-1";
                    }
                    int lastId = Convert.ToInt32(strLastId);

                    //获得数据
                    JsonItemCollection children = new JsonItemCollection();
                    rv.Attributes.Add("children", children);

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

                        using (IDbConnection cn = dbProvider.OpenConnection())
                        {
                            YZMessageCollection messages = YZCommunicationManager.GetNewMessages(cn, resType, resId, lastId);
                            messages.Serialize(bpmcn, children);
                        }
                    }
                }


                //输出数据
                context.Response.AppendHeader("Access-Control-Allow-Origin", "*");      // 响应类型
                context.Response.AppendHeader("Access-Control-Allow-Methods", "POST");  // 响应头设置
                context.Response.AppendHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");

                context.Response.Charset         = "gb2312"; //设置字符集类型
                context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                context.Response.ContentType     = "application/json;charset=gb2312";

                //输出数据
                rv.Attributes.Add("success", true);
                context.Response.Write(rv.ToString());
            }
            catch (Exception e)
            {
                JsonItem rv = new JsonItem();

                context.Response.AppendHeader("Access-Control-Allow-Origin", "*");      // 响应类型
                context.Response.AppendHeader("Access-Control-Allow-Methods", "POST");  // 响应头设置
                context.Response.AppendHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");

                context.Response.Charset         = "gb2312"; //设置字符集类型
                context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
                context.Response.ContentType     = "application/json;charset=gb2312";

                rv.Attributes.Add("success", false);
                rv.Attributes.Add("errorMessage", e.Message);
                context.Response.Write(rv.ToString());
            }
        }
示例#21
0
        internal static JObject Serialize(BPMConnection cn, BPMProcStep step)
        {
            JObject item = new JObject();

            string stepMemo = null;

            if ((step.IsIndicateStep || step.IsInformStep) && String.IsNullOrEmpty(step.Memo))
            {
                BPMStepCollection prevSteps = step.LoadPrevSteps(cn);
                if (prevSteps.Count != 0)
                {
                    BPMProcStep prevStep = prevSteps[0];
                    stepMemo = "<span class='yz-stepraiser'>" + String.Format(Resources.YZStrings.Aspx_StepRaiser, YZStringHelper.GetUserShortName(prevStep.HandlerAccount, prevStep.HandlerFullName)) + "</span>";
                }
            }

            item["TaskID"]               = step.TaskID;
            item["StepID"]               = step.StepID;
            item["ProcessName"]          = step.ProcessName;
            item["ProcessVersion"]       = step.ProcessVersion.ToString(2);
            item["NodeNameOrg"]          = step.NodeName;
            item["NodeName"]             = HttpUtility.HtmlEncode(step.StepDisplayName) + stepMemo;
            item["SelAction"]            = step.SelActionDisplayString;
            item["OwnerAccount"]         = step.OwnerAccount;
            item["OwnerDisplayName"]     = step.OwnerFullName;
            item["AgentAccount"]         = step.AgentAccount;
            item["AgentDisplayName"]     = step.AgentFullName;
            item["FinishAt"]             = step.FinishAt;
            item["ReceiveAt"]            = step.ReceiveAt;
            item["IsConsignStep"]        = step.IsConsignStep;
            item["RecipientAccount"]     = step.RecipientAccount;
            item["RecipientDisplayName"] = step.RecipientFullName;
            item["HandlerAccount"]       = step.HandlerAccount;
            item["HandlerDisplayName"]   = step.HandlerFullName;
            item["Comments"]             = step.Comments;
            item["Share"]       = step.Share;
            item["Memo"]        = step.Memo;
            item["AutoProcess"] = step.AutoProcess;

            return(item);
        }