Exemplo n.º 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string strResult = "";
        if (null == this.Session["userid"])
        {
            strResult = leofun.setvaltag("", "成功", "false");
            strResult = leofun.setvaltag(strResult, "提示", "无效用户,请重新登录!");
            this.Response.Write(leofun.Escape(strResult));
            return;
        }
        //User userInfo = new User(this.Session["userid"].ToString());

        XmlDocument xmldoc = new XmlDocument();
        //读取用户参数
        StreamReader streamreader = new StreamReader(this.Request.InputStream, Encoding.UTF8);
        xmldoc.LoadXml(streamreader.ReadToEnd());
        NameObjectList paramlist = BuildParamList.BuildParams(xmldoc);

        string[] dataItems = BuildParamList.getValue(xmldoc, "workdataitems").Split(',');
        string datasrcFile = BuildParamList.getValue(xmldoc, "DataSrcFile");
        QueryDataRes query = new QueryDataRes(datasrcFile);
        //QueryDataRes query = new QueryDataRes(unitItem.DataSrcFile);
        try
        {
            query.BeginTransaction();
            for (int i = 0; i < dataItems.Length; i++)
            {
                //WorkItem workItem = this.unitItem.WorkItemList[i];
                //检测一
                //强行置入ip地址做为参数
                BuildParamList.setValue(xmldoc, "ip", HttpContext.Current.Request.UserHostAddress);

                //NameObjectList[] paramInsList = this.CreateParamLists("new", xmldoc, paramlist, workItem);
                NameObjectList[] paramInsList = this.CreateParamLists("new", xmldoc, paramlist, dataItems[i]);
                NameObjectList[] paramUptList = this.CreateParamLists("modify", xmldoc, paramlist, dataItems[i]);
                NameObjectList[] paramDelList = this.CreateParamLists("delete", xmldoc, paramlist, dataItems[i]);
                bool bSuccess = query.ExecuteNonQuery(dataItems[i], paramInsList, paramUptList, paramDelList);
                if (false == bSuccess)
                    throw (new Exception("保存项目失败:请检查配置和错误日志!"));
                if ("系统数据源" == Path.GetFileName(datasrcFile).ToLower() && "系统信息配置" == dataItems[i])
                {
                    this.ConfigSystem(paramInsList);
                    this.ConfigSystem(paramUptList);
                }
            }
            query.Commit();
            strResult = leofun.setvaltag("", "成功", "true");
            strResult = leofun.setvaltag(strResult, "提示", "保存成功!");
            this.Response.Write(leofun.Escape(strResult));
        }
        catch (Exception ex)
        {
            query.RollbackAndClose();
            strResult = leofun.setvaltag("", "成功", "false");
            strResult = leofun.setvaltag(strResult, "提示", ex.Message);
            this.Response.Write(leofun.Escape(strResult));
        }
        finally
        {
            query.Close();
        }
    }