Example #1
0
        public string LoadcurrentPage(HttpContext context, string seruri, string resptype, int currentPage, string sessionID)
        {
            HttpRequest request = context.Request;
            // arrayParm.Add(reqParms);
            // MessageBox.Show("hi");

            string    method  = request.Form.Get("method").ToString();
            Hashtable xmlData = new Hashtable();
            string    respxml = string.Empty;

            xmlData = WebFrameWork.TransactionHash(currentPage, sessionID, method, seruri);
            if (String.IsNullOrEmpty(xmlData["html"].ToString()))
            {
                int number = Convert.ToInt32(xmlData["number"]);
                //  MessageBox.Show(currentPage.ToString(0 + "/" + number.ToString()));

                Hashtable reqParms = new Hashtable();
                reqParms["userID"]    = context.Request.Cookies["AdminInfo"]["userID"].ToString();
                reqParms["sessionID"] = sessionID;
                reqParms["startTime"] = Convert.ToInt32(xmlData["startTime"]);
                reqParms["endTime"]   = Convert.ToInt32(xmlData["endTime"]);
                reqParms["lastIndex"] = Convert.ToInt32(xmlData["lastIndex"]);
                //foreach (DictionaryEntry de in reqParms)
                //{
                //    MessageBox.Show(de.Key + "  " + de.Value);
                //}

                respxml = XmlRpcTransaction(context, seruri, resptype, number, currentPage, reqParms);
            }
            else
            {
                respxml = AssemblerDictionary.AssemblerPlugins[resptype].GenerateXml(context, xmlData);
            }

            return(respxml);
        }
Example #2
0
        public string XmlRpcTransaction(HttpContext context, string seruri, string resptype, int number, int currentPage, Hashtable reqParms)
        {
            ArrayList   arrayParm = new ArrayList();
            HttpRequest request   = context.Request;
            // arrayParm.Add(reqParms);
            XmlRpcResponse serResp    = null;
            string         respxml    = string.Empty;
            Hashtable      RespData   = new Hashtable();
            Hashtable      XmlData    = new Hashtable();
            Hashtable      Cache      = new Hashtable();
            string         sessionID  = reqParms["sessionID"] as string;
            string         method     = string.Empty;
            int            startindex = 1;

            if (currentPage == 1)
            {
                method     = request.Form.Get("method").ToString();
                startindex = 1;
            }
            else
            {
                method     = "WebGetTransaction";
                Cache      = WebFrameWork.GetCurrentCache(sessionID);
                startindex = (currentPage / 10) * 10 + 1;
            }
            string html = string.Empty;


            WebFrameWork.ReleaseCache(sessionID);

            int maxnumber = number - (currentPage - 1) * 10;
            int maxpage   = maxnumber >= 100 ? 10 : (number - 1) / 10 + 1;

            //  MessageBox.Show(startindex.ToString() + "    /" + maxpage.ToString());

            for (int i = startindex; i <= maxpage; i++)
            {
                html  = string.Empty;
                html += "<br/><br/><br/><h1>User Transaction Records (" + number.ToString() + ")</h1>";
                html += "<table id ='dtable' align='left' style='border: 1px solid #dfdfdf; left : 0px; top:0px; width: 100% ;height:100%' >";
                html += "<thead><tr style='vertical-align:middle;'><td class='top'>Index</td><td class='top' >transaction UUID</td><td class='top'>sender Name</td><td class='top'>receiver Name</td><td class='top'>amount</td><td class='top'>type</td><td class='top'>time</td><td class='top'>status</td><td class='top'>description</td></tr></thead>";
                html += "<tbody>";
                for (int ix = 0; ix < MAX_TRANSACTION_NUM; ix++)
                {
                    try
                    {
                        arrayParm = new ArrayList();
                        //MessageBox.Show("mehtod:   " + method);
                        //MessageBox.Show("https   " + seruri);
                        if (ix == 0 && (int)reqParms["lastIndex"] == -1)
                        {
                            reqParms["lastIndex"] = Convert.ToInt32(reqParms["lastIndex"]) + 0;
                        }
                        else
                        {
                            reqParms["lastIndex"] = Convert.ToInt32(reqParms["lastIndex"]) + 1;
                        }
                        //foreach (DictionaryEntry de in reqParms)
                        //{
                        //    MessageBox.Show(de.Key + "  " + de.Value);
                        //}
                        arrayParm.Add(reqParms);
                        XmlRpcRequest serReq = new XmlRpcRequest(method, arrayParm);
                        serResp = serReq.Send(seruri);//, _REQUEST_TIMEOUT);
                    }
                    catch (Exception ex)
                    {
                        XmlData["success"] = false;
                        XmlData["method"]  = method;
                        XmlData["message"] = ex.Message.ToString();
                        XmlData["seruri"]  = seruri;

                        break;
                    }
                    if (serResp.IsFault)
                    {
                        XmlData["success"] = false;
                        XmlData["method"]  = method;
                        XmlData["message"] = "Failed to Connet server: " + seruri.ToString();
                        XmlData["seruri"]  = seruri;
                        break;
                    }
                    else
                    {
                        RespData = (Hashtable)serResp.Value;

                        html += "<tr>";
                        html += "<td class='rowstate'>" + RespData["transactionIndex"].ToString() + "</td>";
                        html += "<td class='rowstate'>" + RespData["transactionUUID"].ToString() + "</td>";
                        html += "<td class='rowstate'>" + RespData["senderName"].ToString() + "</td>";
                        html += "<td class='rowstate'>" + RespData["receiverName"].ToString() + "</td>";
                        html += "<td class='rowstate'>" + RespData["amount"].ToString() + "</td>";
                        html += "<td class='rowstate'>" + RespData["type"].ToString() + "</td>";
                        html += "<td class='rowstate'>" + getDataTime((int)RespData["time"]) + "</td>";
                        html += "<td class='rowstate'>" + getStatus((int)RespData["status"]) + "</td>";
                        html += "<td class='rowstate'>" + RespData["description"].ToString() + "</td>";
                        html += "</tr>";

                        if ((bool)RespData["isEnd"] || ix == MAX_TRANSACTION_NUM - 1 || Convert.ToInt32(reqParms["lastIndex"]) == (number - 2))
                        {
                            //XmlData["method"] = method;
                            XmlData["success"] = true;
                            //MessageBox.Show(reqParms["lastIndex"].ToString() + "/" + number.ToString()+"-"+i.ToString());
                            //if (i > 10)
                            //    MessageBox.Show(((i - 1) * 10 + ix).ToString()+"/"+(number-1).ToString());
                            //XmlData["seruri"] = seruri;
                            break;
                        }
                    }
                }
                html += "</tbody></table>";


                html += getNavigationhtml(i, number);


                if ((bool)XmlData["success"])
                {
                    Cache[i] = html;
                }
            }
            Cache["startTime"] = Convert.ToInt32(reqParms["startTime"]);
            Cache["endTime"]   = Convert.ToInt32(reqParms["endTime"]);
            Cache["number"]    = number;
            Cache["lastIndex"] = Convert.ToInt32(reqParms["lastIndex"]);

            WebFrameWork.RegisterCache(sessionID, (object)Cache);
            XmlData.Clear();
            XmlData = WebFrameWork.TransactionHash(currentPage, sessionID, method, seruri);
            //XmlData[
            respxml = AssemblerDictionary.AssemblerPlugins[resptype].GenerateXml(context, XmlData);
            //  MessageBox.Show(respxml);

            return(respxml);
        }