Ejemplo n.º 1
0
    protected string getCompleteWorkList()
    {
        UserLogInfo      userLoginInfo = this.LogInfo;
        TSysUserVo       user          = userLoginInfo.UserInfo;
        IList <string[]> queryParams   = new List <string[]>();

        if (!string.IsNullOrEmpty(Request["flowName"]))
        {
            queryParams.Add(new string[3] {
                "FlowName", Request["flowName"], "like"
            });
        }
        if (!string.IsNullOrEmpty(Request["endRDTStart"]))
        {
            queryParams.Add(new string[3] {
                "FlowEnderRDT", Request["endRDTStart"], "ge"
            });
        }
        if (!string.IsNullOrEmpty(Request["endRDTEnd"]))
        {
            queryParams.Add(new string[3] {
                "FlowEnderRDT", Request["endRDTEnd"], "le"
            });
        }

        int?page     = null;
        int?pageSize = null;

        if (!string.IsNullOrEmpty(Request["page"]))
        {
            page = Convert.ToInt32(Request["page"]);
        }
        if (!string.IsNullOrEmpty(Request["pagesize"]))
        {
            pageSize = Convert.ToInt32(Request["pagesize"]);
        }
        string      info     = CCFlowFacade.GetCompleateWork(user.USER_NAME, queryParams.ToArray(), page, pageSize);
        XmlDocument document = new XmlDocument();

        document.LoadXml(info);
        XmlNodeList rows      = document.SelectNodes("/root/record/row");
        XmlNode     nodeCount = document.SelectSingleNode("/root/count");

        string total = nodeCount.InnerText;
        IList <Dictionary <string, string> > list = new List <Dictionary <string, string> >();

        for (int i = 0; i < rows.Count; i++)
        {
            XmlNode     node                = rows.Item(i);
            XmlNodeList children            = node.ChildNodes;
            Dictionary <string, string> dic = new Dictionary <string, string>();
            for (int j = 0; j < children.Count; j++)
            {
                XmlNode element = children[j];
                dic.Add(element.Name, Server.UrlDecode(element.InnerText));
            }

            list.Add(dic);
        }
        JavaScriptSerializer serializer = new JavaScriptSerializer();

        if (page == null || pageSize == null)
        {
            return(serializer.Serialize(new { Rows = list }));
        }
        else
        {
            return(serializer.Serialize(new { Total = total, Rows = list }));
        }
    }