Exemple #1
0
        protected void eform_onChange(object sender, eFormTableEventArgs e)
        {
            switch (e.eventType)
            {
            case eFormTableEventType.Inserting:
                litScript.Text += "添加前事件已调用<br>";
                break;

            case eFormTableEventType.Inserted:
                litScript.Text += "添加成功,ID为:" + e.ID + "<br>5秒后返回<br><script>setTimeout(function(){document.location='" + eform.FromURL + "';},5000);</script>";
                break;

            case eFormTableEventType.Updating:
                litScript.Text += "更新前事件已调用,即将修改数据的ID为:" + e.ID + "<br>";
                break;

            case eFormTableEventType.Updated:
                litScript.Text += "修改成功,ID为:" + e.ID + "<br>5秒后返回<br><script>setTimeout(function(){document.location='" + eform.FromURL + "';},5000);</script>";
                break;

            case eFormTableEventType.Deleting:
                litScript.Text += "删除前事件已调用,即将删除数据的ID为:" + e.ID + "<br>";
                break;

            case eFormTableEventType.Deleted:
                litScript.Text += "删除成功,ID为:" + e.ID + "<br>5秒后返回<br><script>setTimeout(function(){document.location='" + eform.FromURL + "';},5000);</script>";
                break;
            }
        }
Exemple #2
0
 public void edt_onChange(object sender, eFormTableEventArgs e)
 {
     if (e.eventType == eFormTableEventType.Inserted || e.eventType == eFormTableEventType.Updated || e.eventType == eFormTableEventType.Deleted)
     {
         eBase.clearDataCache("a_eke_sysAllowDomain");
     }
 }
Exemple #3
0
 public void edt_onChange(object sender, eFormTableEventArgs e)
 {
     if (e.eventType == eFormTableEventType.Inserting)
     {
         if (user["ServiceID"].Length > 0)
         {
             edt.Fields.Add("ServiceID", user["ServiceID"]);
         }
     }
 }
 public void edt_onChange(object sender, eFormTableEventArgs e)
 {
     if (e.eventType == eFormTableEventType.Inserting)
     {
     }
     if (e.eventType == eFormTableEventType.Deleted)
     {
         //string sql = "update a_eke_sysApplicationItems set delTag=1 where ApplicationID='" + e.ID + "'";
         //eOleDB.Execute(sql);
     }
 }
Exemple #5
0
        public void edt_onChange(object sender, eFormTableEventArgs e)
        {
            if (e.eventType == eFormTableEventType.Inserting)
            {
                if (user["ServiceID"].Length > 0)
                {
                    edt.Fields.Add("ServiceID", user["ServiceID"]);
                }
            }
            string parentID = e.ID;

            if (e.eventType == eFormTableEventType.Deleted)
            {
                sql = "update a_eke_sysPowers set delTag=1 where UserId='" + parentID + "' and ApplicationID is not null";
                eOleDB.Execute(sql);
            }
            if (e.eventType == eFormTableEventType.Updated || e.eventType == eFormTableEventType.Inserted)
            {
                string    Roles     = edt.Fields["RoleID"].ToString();
                DataTable rolePower = eBase.getUserPowerDefault(Roles, "", "");
                //eBase.Writeln("rolePower:角色的权限");
                //eBase.PrintDataTable(rolePower);

                string name  = "";
                string value = "";


                sql = "select ApplicationID,MC from a_eke_sysApplications where delTag=0 order by px,addTime";
                sql = "select ModelID,MC,Power from a_eke_sysModels where subModel=0 and delTag=0 and Type=1 order by px,addTime";
                DataTable tb = eOleDB.getDataTable(sql);
                //eBase.Writeln("tb:应用下所有模块");
                //eBase.PrintDataTable(tb);

                //continue;
                foreach (DataRow _dr in tb.Rows) //应用下所有模块
                {
                    #region 模块
                    DataRow row = rolePower.NewRow();
                    //row["ApplicationID"] = _dr["ApplicationID"].ToString();
                    row["ModelID"] = _dr["ModelID"].ToString();
                    for (int i = 0; i < row.Table.Columns.Count; i++)
                    {
                        if (row.Table.Columns[i].ColumnName.ToLower() != "modelid")
                        {
                            row[row.Table.Columns[i].ColumnName] = "false";
                        }
                    }
                    DataRow[] rows = rolePower.Select("ModelID='" + _dr["ModelID"].ToString() + "'");
                    if (rows.Length > 0)
                    {
                        row = rows[0];
                    }

                    //eBase.Writeln("row");
                    //eBase.PrintDataRow(row);
                    DataTable PowerItems = new eJson(_dr["Power"].ToString()).toRows();
                    //eBase.Writeln("PowerItems");
                    //eBase.PrintDataTable(PowerItems);

                    #region 角色的权限
                    eJson rolePowerJson = new eJson();
                    rolePowerJson.Convert = true;
                    #region 基本权限
                    foreach (DataRow dr1 in PowerItems.Rows)
                    {
                        if (row.Table.Columns.Contains(dr1["value"].ToString()))
                        {
                            value = row[dr1["value"].ToString()].ToString();
                            eJson _power = new eJson();
                            _power.Add(dr1["value"].ToString(), value);
                            rolePowerJson.Add(_power);
                        }
                    }
                    #endregion
                    #region 审批权限
                    DataTable PowerCheckUpItems = eOleDB.getDataTable("SELECT CheckMC as text,LOWER(CheckCode) as value FROM a_eke_sysCheckUps where ModelID='" + _dr["ModelID"].ToString() + "' and delTag=0 and LEN(CheckMC)>0 and LEN(CheckCode)>0 order by px,addTime");
                    foreach (DataRow dr1 in PowerCheckUpItems.Rows)
                    {
                        value = row[dr1["value"].ToString()].ToString();
                        eJson _power = new eJson();
                        _power.Add(dr1["value"].ToString(), value);
                        rolePowerJson.Add(_power);
                    }
                    #endregion
                    //eBase.Writeln(rolePowerJson.ToString());
                    #endregion

                    string canList = "0";
                    string cond    = "";

                    #region 用户自定义权限
                    eJson selPower = new eJson();
                    selPower.Convert = true;
                    #region 基本权限
                    foreach (DataRow dr1 in PowerItems.Rows)
                    {
                        name  = "model_" + dr1["value"].ToString() + "_" + _dr["ModelID"].ToString().Replace("-", "");
                        value = eParameters.Form(name);
                        if (value.Length == 0)
                        {
                            value = "false";
                        }
                        eJson _power = new eJson();
                        _power.Add(dr1["value"].ToString(), value);
                        selPower.Add(_power);
                        if (dr1["value"].ToString().ToLower() == "list")
                        {
                            canList = value;
                        }
                        // eBase.Writeln(dr1["value"].ToString() + "::" +  value);
                    }
                    #endregion
                    #region 审批权限
                    foreach (DataRow dr1 in PowerCheckUpItems.Rows)
                    {
                        name  = "model_" + dr1["value"].ToString() + "_" + _dr["ModelID"].ToString().Replace("-", "");
                        value = eParameters.Form(name);
                        if (value.Length == 0)
                        {
                            value = "false";
                        }
                        eJson _power = new eJson();
                        _power.Add(dr1["value"].ToString(), value);
                        selPower.Add(_power);
                    }
                    #endregion
                    // eBase.Writeln(selPower.ToString());
                    #endregion


                    name = "model_cond_" + _dr["ModelID"].ToString().Replace("-", "");
                    cond = eParameters.Form(name);


                    if (selPower.ToString() == rolePowerJson.ToString() && cond.Length == 0) //与角色的相同
                    {
                        sql = " delete from a_eke_sysPowers where RoleID is Null and ApplicationID is Null and ModelID='" + _dr["ModelID"].ToString() + "' and UserID='" + parentID + "'";
                        eOleDB.Execute(sql);
                        //eBase.Writeln( _dr["ModelID"].ToString() + "::" +  ":::" + cond.Length.ToString());
                    }
                    else
                    {
                        sql  = "if exists (select * from a_eke_sysPowers Where RoleID is Null and ApplicationID is Null and ModelID='" + _dr["ModelID"].ToString() + "'  and UserID='" + parentID + "')";
                        sql += " update a_eke_sysPowers set delTag=0,canList='" + canList + "',Condition='" + cond + "',power='" + selPower.ToString() + "' where RoleID is Null and ApplicationID  is Null and ModelID='" + _dr["ModelID"].ToString() + "' and UserID='" + parentID + "'";
                        sql += " else ";
                        sql += "insert into a_eke_sysPowers (ApplicationID,ModelID,UserID,canList,Condition,Power) ";
                        sql += " values (Null,'" + _dr["ModelID"].ToString() + "','" + parentID + "','" + canList + "','" + cond + "','" + selPower.ToString() + "')";
                        eOleDB.Execute(sql);
                    }



                    // eBase.Writeln(_dr["ModelID"].ToString() + "::" + value);

                    #endregion
                }
                eBase.clearDataCache("a_eke_sysPowers");
                //eBase.End();
            }
        }
Exemple #6
0
        public void edt_onChange(object sender, eFormTableEventArgs e)
        {
            if (e.eventType == eFormTableEventType.Inserting)
            {
                if (user["ServiceID"].Length > 0)
                {
                    edt.Fields.Add("ServiceID", user["ServiceID"]);
                }
            }
            string type = eParameters.Form("f9");

            if (type == "2")
            {
                return;
            }
            string formtable = eParameters.Form("formtable");
            string tablename = eParameters.Form("f2");
            string sql       = "";

            if (e.eventType == eFormTableEventType.Inserted || e.eventType == eFormTableEventType.Updated)
            {
                sql  = "update a set a.submodel=(case when isnull(b.type,2)=1 then 1 else 0 end) ";
                sql += " FROM a_eke_sysModels a ";
                sql += " left join a_eke_sysModels b on a.ParentID=b.ModelID ";
                sql += " where a.ModelID='" + e.ID + "'";
                eOleDB.Execute(sql);
            }
            #region 添加OK
            if (e.eventType == eFormTableEventType.Inserted)
            {
                #region 新建表

                if (formtable.Length == 0)
                {
                    sql = "Create table [" + tablename + "] (";
                    //sql += "[ID] [int] IDENTITY (1, 1) NOT NULL,";
                    sql += "[ID] [uniqueidentifier] NOT NULL Default (newid()),";
                    sql += "[addTime] [datetime] NULL default getdate(),";
                    sql += "[addUser] nvarchar(50) NULL,";
                    sql += "[editTime] [datetime] NULL,";
                    sql += "[editUser] nvarchar(50) NULL ,";
                    sql += "[delTime] [datetime] NULL,";
                    sql += "[delUser] nvarchar(50) NULL,";
                    sql += "[delTag] [bit] NULL default 0,";
                    sql += "PRIMARY KEY(ID)";
                    sql += ") ON [PRIMARY]";
                    eOleDB.Execute(sql);

                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'" + eParameters.Form("f1") + "','user','dbo','table','" + tablename + "',NULL,NULL");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'编号','user','dbo','table','" + tablename + "','column','ID'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'添加时间','user','dbo','table','" + tablename + "','column','addTime'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'添加用户','user','dbo','table','" + tablename + "','column','addUser'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'修改时间','user','dbo','table','" + tablename + "','column','editTime'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'修改用户','user','dbo','table','" + tablename + "','column','editUser'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除时间','user','dbo','table','" + tablename + "','column','delTime'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除用户','user','dbo','table','" + tablename + "','column','delUser'");
                    eOleDB.Execute("EXEC sp_addextendedproperty N'MS_Description',N'删除标记','user','dbo','table','" + tablename + "','column','delTag'");
                }
                #endregion
                if (f5.Value.ToString() == "True") //自动模块
                {
                    #region 添加模块
                    string ObjectID = eOleDB.getValue("SELECT id from sysobjects where name='" + tablename + "' and xtype='U'");

                    #region 物理数据列
                    sql  = "SELECT a.name as code,b.[name] as type,a.length,d.text as [default],e.value as MC,a.colid as PX from syscolumns a";
                    sql += " inner join systypes b on a.xtype=b.xusertype ";
                    sql += " left join sysobjects c on a.cdefault=c.id and a.cdefault>0";
                    sql += " left join syscomments d on c.id=d.id";
                    sql += " left join sys.extended_properties e on e.major_id=a.id and e.minor_id=a.colid";
                    sql += " where a.id='" + ObjectID + "'";
                    sql += " order by a.colorder";
                    DataTable tb = eOleDB.getDataTable(sql);
                    if (tb.Rows.Count == 0)
                    {
                        sql  = "SELECT a.name as code,b.[name] as type,a.length,d.text as [default],e.value as MC,a.colid as PX from syscolumns a";
                        sql += " inner join systypes b on a.xtype=b.xusertype ";
                        sql += " left join sysobjects c on a.cdefault=c.id and a.cdefault>0";
                        sql += " left join syscomments d on c.id=d.id";
                        sql += " left join sysproperties e on a.id=e.id and a.colid=e.smallid";
                        sql += " where a.id='" + ObjectID + "'";
                        sql += " order by a.colorder";

                        tb = eOleDB.getDataTable(sql);
                    }
                    #endregion

                    //eBase.PrintDataTable(tb);
                    //eBase.End();
                    string zj         = eOleDB.getPrimaryKey(tablename);
                    string syscolumns = eConfig.getAllSysColumns() + "," + zj.ToLower() + ",";
                    int    Num        = 1;
                    //eBase.Writeln(zj);
                    //eBase.Writeln(syscolumns);
                    //eBase.Writeln(e.ID + "OK");
                    ///eBase.End();
                    #region 序号列
                    string formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString();
                    sql  = "insert into a_eke_sysModelItems (frmName,frmID,Num,ListOrder,ModelID,MC,ListHTML,Custom,showList,mShowList,ListWidth,mListWidth,Move,Size) ";
                    sql += " values ('" + formName + "','" + formName + "','" + Num.ToString() + "','" + Num.ToString() + "','" + e.ID + "','序号','{row:index}','1','" + (f7.Value.ToString().Length > 0 ? "0" : "1") + "','1','60','60','1','1')";
                    eOleDB.Execute(sql);
                    #endregion
                    Num++;
                    #region 其他列
                    // eBase.Writeln(tb.Rows.Count.ToString());
                    foreach (DataRow dr in tb.Rows)
                    {
                        string sys      = (syscolumns.IndexOf("," + dr["code"].ToString().ToLower() + ",") > -1 ? "1" : "0");
                        string showedit = (sys == "0" ? "1" : "0");
                        string showlist = (sys == "0" ? "1" : "0");

                        formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString();
                        eTable etb = new eTable("a_eke_sysModelItems");



                        etb.Fields.Add("ModelID", e.ID);
                        etb.Fields.Add("Num", Num.ToString());
                        etb.Fields.Add("MC", dr["mc"].ToString());
                        etb.Fields.Add("Code", dr["code"].ToString());
                        etb.Fields.Add("Type", dr["Type"].ToString());
                        etb.Fields.Add("Length", dr["Length"].ToString());
                        etb.Fields.Add("Sys", sys);
                        etb.Fields.Add("PX", dr["PX"].ToString());
                        etb.Fields.Add("primaryKey", (zj.ToLower() == dr["code"].ToString().ToLower() ? "1" : "0"));

                        if (dr["code"].ToString().ToLower() == "addtime")
                        {
                            showlist = "1";
                        }

                        etb.Fields.Add("ShowList", showlist);
                        etb.Fields.Add("ShowView", showedit);
                        etb.Fields.Add("ShowAdd", showedit);
                        etb.Fields.Add("ShowEdit", showedit);

                        if (f7.Value.ToString().Length == 0) //主模块
                        {
                            etb.Fields.Add("OrderBy", showlist);
                            etb.Fields.Add("Move", showlist);
                            etb.Fields.Add("Size", showlist);
                        }

                        if (dr["type"].ToString().ToLower().IndexOf("char") > -1)
                        {
                            etb.Fields.Add("maxLength", dr["length"].ToString());
                            etb.Fields.Add("Width", "300");
                        }
                        if (dr["type"].ToString().ToLower().IndexOf("date") > -1)
                        {
                            etb.Fields.Add("formatstring", (dr["type"].ToString().ToLower().IndexOf("datetime") > -1 ? "{0:yyyy-MM-dd HH:mm:ss}" : "{0:yyyy-MM-dd}"));
                        }
                        if (dr["type"].ToString().ToLower() == "bit")
                        {
                            if (sys == "0")
                            {
                                etb.Fields.Add("defaultvalue", "True");
                            }
                            etb.Fields.Add("ControlType", "radio");
                            etb.Fields.Add("addControlType", "radio");
                            etb.Fields.Add("editControlType", "radio");
                            //etb.Fields.Add("ReplaceString", "[{text:是,value:True},{text:否,value:False}]");
                            etb.Fields.Add("Options", "[{text:是,value:True},{text:否,value:False}]");
                        }
                        if (dr["type"].ToString().ToLower() == "text")
                        {
                            etb.Fields.Add("ControlType", "html");
                            etb.Fields.Add("addControlType", "html");
                            etb.Fields.Add("editControlType", "html");
                        }
                        if (dr["code"].ToString().ToLower() == "show")
                        {
                            sql = "insert into a_eke_sysActions (ModelID,MC,Action,SQL) values ('" + e.ID + "','是否显示','show','update " + tablename + " set show=''{querystring:value}'' where " + zj + "=''{querystring:id}''')";
                            eOleDB.Execute(sql);
                            etb.Fields.Add("ListHTML", "<a href=\"?act=show&modelid={querystring:modelid}&id={data:id}&value={data:showvalue}\"><img src=\"{base:virtualpath}{data:ShowPIC}\" border=\"0\"></a>");

                            eOleDB.Execute("update a_eke_sysModels set ListFields='CASE WHEN Show=1 THEN ''images/sw_true.gif'' ELSE ''images/sw_false.gif'' END as ShowPIC,CASE WHEN Show=1 THEN ''0'' ELSE ''1'' END as ShowValue' where ModelID='" + e.ID + "'"); //,CASE WHEN ZD=1 THEN ''<img src=\"images/sw_true.gif\" border=\"0\">'' ELSE ''<img src=\"images/sw_false.gif\" border=\"0\">'' END as ZDPIC,CASE WHEN ZD=1 THEN ''0'' ELSE ''1'' END as ZDValue


                            //eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType) values ('" + e.ID + "','是否显示','radio')");
                            //string condid = eOleDB.ID;

                            //eOleDB.Execute("insert into a_eke_sysModelConditionItems (ModelID,ModelConditionID,MC,ConditionValue) values ('" + e.ID + "','" + condid + "','是','show=1')");
                            //eOleDB.Execute("insert into a_eke_sysModelConditionItems (ModelID,ModelConditionID,MC,ConditionValue) values ('" + e.ID + "','" + condid + "','否','show=0')");

                            string MaxConds = eOleDB.getValue("select count(*)+1 from a_eke_sysModelConditions where ModelID='" + e.ID + "'");
                            eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,Options,Num) values ('" + e.ID + "','是否显示','radio','show','=','[{text:是,value:1},{text:否,value:0}]','" + MaxConds + "')");
                            eOleDB.Execute("update a_eke_sysModels set MaxConds='" + MaxConds + "' where ModelID='" + e.ID + "'");
                        }
                        if (dr["code"].ToString().ToLower() == "deltag")
                        {
                            //etb.Fields.Add("Condition", "=");
                            //etb.Fields.Add("ConditionValue", "0");
                        }
                        if (dr["code"].ToString().ToLower() == "addtime")
                        {
                            //etb.Fields.Add("defaultOrder", "2");
                            string MaxConds = eOleDB.getValue("select count(*)+1 from a_eke_sysModelConditions where ModelID='" + e.ID + "'");
                            eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,DateFormat,Width,Num) values ('" + e.ID + "','添加时间','date','addTime','>=','yyyy-MM-dd','150','" + MaxConds + "')");
                            eOleDB.Execute("insert into a_eke_sysModelConditions (ModelID,MC,ControlType,Code,Operator,DateFormat,Width,Num) values ('" + e.ID + "','添加时间','date','addTime','<=','yyyy-MM-dd','150'," + MaxConds + " + 1)");
                            eOleDB.Execute("update a_eke_sysModels set MaxConds=" + MaxConds + "+1 where ModelID='" + e.ID + "'");
                        }
                        etb.Fields.Add("frmName", formName);
                        etb.Fields.Add("frmID", formName);
                        etb.Fields.Add("notnull", showedit);
                        etb.Fields.Add("ListOrder", Num.ToString());
                        etb.Add();


                        Num++;
                    }
                    #endregion
                    #region 操作列
                    formName = "M" + e.ID.Substring(0, 2) + "_" + "F" + Num.ToString();
                    sql      = "insert into a_eke_sysModelItems (frmName,frmID,Num,ListOrder,ModelID,MC,ListHTML,Custom,showList,mShowList,ListWidth,mListWidth,Move,Size) ";
                    sql     += " values ('" + formName + "','" + formName + "','" + Num.ToString() + "','" + Num.ToString() + "','" + e.ID + "','操作','<a href=\"{base:url}act=view&id={data:ID}\">查看</a><a href=\"{base:url}act=edit&id={data:ID}\">修改</a><a href=\"{base:url}act=del&id={data:ID}\" onclick=\"javascript:return confirm(''确认要删除吗?'');\">删除</a>','1','" + (f7.Value.ToString().Length > 0 ? "0" : "1") + "','1','130','130','1','1')";
                    eOleDB.Execute(sql);
                    #endregion
                    eOleDB.Execute("update a_eke_sysModels set MaxItems='" + Num.ToString() + "' where ModelID='" + e.ID + "'");
                    if (f7.Value.ToString().Length == 0) //主模块
                    {
                        eOleDB.Execute("update a_eke_sysModels set DefaultCondition='delTag=0',DefaultOrderby='addTime Desc' where ModelID='" + e.ID + "'");
                    }
                    else
                    {
                        eOleDB.Execute("update a_eke_sysModels set DefaultCondition='delTag=0',DefaultOrderby='addTime' where ModelID='" + e.ID + "'");
                    }


                    eOleDB.Execute("update a_eke_sysModels set Power='[{text:列表,value:list},{text:详细,value:view},{text:添加,value:add},{text:编辑,value:edit},{text:删除,value:del},{text:复制,value:copy},{text:打印,value:print},{text:导出,value:export}]' where ModelID='" + e.ID + "'");
                    #endregion
                }
                else
                {
                    eOleDB.Execute("update a_eke_sysModels set Power='[{text:列表,value:list},{text:详细,value:view},{text:添加,value:add},{text:编辑,value:edit},{text:删除,value:del},{text:复制,value:copy},{text:打印,value:print},{text:导出,value:export}]' where ModelID='" + e.ID + "'");
                }
            }
            #endregion
            #region 修改
            if (e.eventType == eFormTableEventType.Updating)
            {
                string oldName = eOleDB.getValue("select code from a_eke_sysModels where ModelID='" + e.ID + "'");
                if (oldName.ToLower() != tablename.ToLower())
                {
                    eOleDB.Execute("exec sp_rename  '" + oldName + "' ,'" + tablename + "'");
                }
            }
            #endregion
        }
        private void eform_onChange(object sender, eFormTableEventArgs e)
        {
            DataRow dr;
            string  pid      = "";
            string  oldpid   = "";
            int     oldindex = 0;
            string  maxpx    = "";

            switch (e.eventType)
            {
            case eFormTableEventType.Inserting:
                #region 添加
                string px = eform.Fields["px"].ToString();
                pid   = eform.Fields["ParentID"].ToString();
                maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from Organizationals where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'"));
                if (px == "" || px == "0" || px == "999999" || Convert.ToInt32(px) > Convert.ToInt32(maxpx))
                {
                    eform.Fields["px"] = maxpx;
                }
                else
                {
                    sql = "update Organizationals set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + px;
                    eOleDB.Execute(sql);
                }
                #endregion
                break;

            case eFormTableEventType.Updating:
                #region 修改
                dr       = eOleDB.getDataTable("SELECT * FROM Organizationals where OrganizationalID='" + e.ID + "'").Select()[0];
                pid      = eform.Fields["ParentID"].ToString();
                oldpid   = dr["ParentID"].ToString();
                oldindex = Convert.ToInt32(dr["px"]);
                int index = Convert.ToInt32(eform.Fields["px"]);
                if (pid == oldpid)        //父级不变
                {
                    if (oldindex < index) //小变大
                    {
                        sql = "update Organizationals set PX=PX-1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>" + oldindex.ToString() + " and PX<=" + index.ToString();
                        eOleDB.Execute(sql);
                    }
                    else     //大变小
                    {
                        sql = "update Organizationals set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + index.ToString() + " and PX<" + oldindex.ToString();
                        eOleDB.Execute(sql);
                    }
                    maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from Organizationals where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'"));
                    if (index > Convert.ToInt32(maxpx))
                    {
                        eform.Fields["px"] = maxpx;
                    }
                }
                else
                {
                    sql = "update Organizationals set PX=PX-1 where delTag=0 " + (oldpid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + oldpid + "'") + " and PX>" + oldindex.ToString();
                    eOleDB.Execute(sql);

                    sql = "update Organizationals set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + index.ToString();
                    eOleDB.Execute(sql);

                    maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from Organizationals where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'"));
                    if (index > Convert.ToInt32(maxpx))
                    {
                        eform.Fields["px"] = maxpx;
                    }
                }
                #endregion
                break;

            case eFormTableEventType.Deleting:
                #region  除
                dr       = eOleDB.getDataTable("SELECT * FROM Organizationals where OrganizationalID='" + e.ID + "'").Select()[0];
                oldpid   = dr["ParentID"].ToString();
                oldindex = Convert.ToInt32(dr["px"]);

                sql = "update Organizationals set PX=PX-1 where delTag=0 " + (oldpid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + oldpid + "'") + " and PX>" + oldindex.ToString();
                eOleDB.Execute(sql);

                sql = "update Organizationals set PX='0' where OrganizationalID='" + e.ID + "'";
                eOleDB.Execute(sql);


                #endregion
                break;

            case eFormTableEventType.Deleted:
                oldpid = eOleDB.getValue("SELECT ParentID FROM Organizationals where OrganizationalID='" + e.ID + "'");

                if (Request.QueryString["ajaxget"] != null)
                {
                    eJson json = new eJson();
                    json.Add("success", "1");
                    json.Add("message", "删除成功!");
                    Response.Clear();
                    Response.Write(json.ToString());
                    Response.End();
                }
                else
                {
                    string url = "Organizationals.aspx?modelid=" + ModelID;
                    if (oldpid.Length > 0)
                    {
                        url += "&act=view&id=" + oldpid;
                    }
                    Response.Redirect(url, true);
                }



                break;
            }
        }
Exemple #8
0
        private void eform_onChange(object sender, eFormTableEventArgs e)
        {
            string  sql = "";
            DataRow dr;
            string  pid      = "";
            string  oldpid   = "";
            int     oldindex = 0;
            string  maxpx    = "";

            switch (e.eventType)
            {
            case eFormTableEventType.Inserting:
                #region 添加
                eform.Fields.Add("Type", "2");
                string px = eform.Fields["px"].ToString();
                pid   = eform.Fields["ParentID"].ToString();
                maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from a_eke_sysModels where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'"));
                if (px == "" || px == "0" || px == "999999" || Convert.ToInt32(px) > Convert.ToInt32(maxpx))
                {
                    eform.Fields["px"] = maxpx;
                }
                else
                {
                    sql = "update a_eke_sysModels set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + px;
                    eOleDB.Execute(sql);
                }
                #endregion
                break;

            case eFormTableEventType.Updating:
                #region 修改
                dr       = eOleDB.getDataTable("SELECT * FROM a_eke_sysModels where ModelID='" + e.ID + "'").Select()[0];
                pid      = eform.Fields["ParentID"].ToString();
                oldpid   = dr["ParentID"].ToString();
                oldindex = Convert.ToInt32(dr["px"]);
                int index = Convert.ToInt32(eform.Fields["px"]);
                if (pid == oldpid)        //父级不变
                {
                    if (oldindex < index) //小变大
                    {
                        sql = "update a_eke_sysModels set PX=PX-1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>" + oldindex.ToString() + " and PX<=" + index.ToString();
                        eOleDB.Execute(sql);
                    }
                    else     //大变小
                    {
                        sql = "update a_eke_sysModels set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + index.ToString() + " and PX<" + oldindex.ToString();
                        eOleDB.Execute(sql);
                    }
                    maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from a_eke_sysModels where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'"));
                    if (index > Convert.ToInt32(maxpx))
                    {
                        eform.Fields["px"] = maxpx;
                    }
                }
                else
                {
                    sql = "update a_eke_sysModels set PX=PX-1 where delTag=0 " + (oldpid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + oldpid + "'") + " and PX>" + oldindex.ToString();
                    eOleDB.Execute(sql);

                    sql = "update a_eke_sysModels set PX=PX+1 where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'") + " and PX>=" + index.ToString();
                    eOleDB.Execute(sql);

                    maxpx = eOleDB.getValue("select isnull(max(px),0) + 1 from a_eke_sysModels where delTag=0 " + (pid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + pid + "'"));
                    if (index > Convert.ToInt32(maxpx))
                    {
                        eform.Fields["px"] = maxpx;
                    }
                }
                #endregion
                break;

            case eFormTableEventType.Deleting:
                #region  除
                dr       = eOleDB.getDataTable("SELECT * FROM a_eke_sysModels where ModelID='" + e.ID + "'").Select()[0];
                oldpid   = dr["ParentID"].ToString();
                oldindex = Convert.ToInt32(dr["px"]);

                sql = "update a_eke_sysModels set PX=PX-1 where delTag=0 " + (oldpid.Length == 0 ? " and ParentID IS NULL" : " and ParentID='" + oldpid + "'") + " and PX>" + oldindex.ToString();
                eOleDB.Execute(sql);

                sql = "update a_eke_sysModels set PX='0' where ModelID='" + e.ID + "'";
                eOleDB.Execute(sql);

                sql = "update a_eke_sysModels set ParentID=NULL where Type=1 and ParentID='" + e.ID + "'";
                eOleDB.Execute(sql);

                sql = "update a_eke_sysModels set ParentID=NULL,delTag=1 where Type=2 and ParentID='" + e.ID + "'";
                eOleDB.Execute(sql);
                #endregion
                break;

            case eFormTableEventType.Deleted:
                oldpid = eOleDB.getValue("SELECT ParentID FROM Dictionaries where DictionarieID='" + e.ID + "'");
                string url = "Menus.aspx";
                if (oldpid.Length > 0)
                {
                    url += "?act=view&id=" + oldpid;
                }
                Response.Redirect(url, true);
                break;
            }
        }
Exemple #9
0
        public void edt_onChange(object sender, eFormTableEventArgs e)
        {
            string sql = "";

            if (e.eventType == eFormTableEventType.Inserting || e.eventType == eFormTableEventType.Updating || e.eventType == eFormTableEventType.Deleting)
            {
            }
            if (e.eventType == eFormTableEventType.Inserting)
            {
                if (user["ServiceID"].Length > 0)
                {
                    edt.Fields.Add("ServiceID", user["ServiceID"]);
                }
            }
            if (e.eventType == eFormTableEventType.Deleted)
            {
                sql = "update a_eke_sysPowers set delTag=1 where RoleID='" + e.ID + "' and UserId is null and ApplicationID is not null";
                eOleDB.Execute(sql);
            }
            if (e.eventType == eFormTableEventType.Updated || e.eventType == eFormTableEventType.Inserted)
            {
                sql  = "select a.ModelID,a.MC,a.Power,b.Power as userPower,b.canList,b.Condition from a_eke_sysModels a ";
                sql += " left join a_eke_sysPowers b on a.ModelID=b.ModelID and b.delTag=0 and b.UserID is null and b.ApplicationID is null and b.RoleID='" + e.ID + "'";
                sql += " where a.subModel=0 and a.delTag=0 and a.Type=1 order by a.px,a.addTime";


                DataTable tb = eOleDB.getDataTable(sql);
                foreach (DataRow _dr in tb.Rows)
                {
                    string name = "model_list_" + _dr["ModelID"].ToString().Replace("-", "");
                    string temp = eParameters.Form(name);

                    if (temp.Length > 0) //有权限
                    {
                        string canList = "0";
                        string cond    = "";
                        string power   = "";
                        eJson  uPower  = new eJson();
                        uPower.Convert = true;
                        #region 基本权限
                        DataTable Power = new eJson(_dr["Power"].ToString()).toRows();
                        foreach (DataRow dr1 in Power.Rows)
                        {
                            temp = eParameters.Form("model_" + dr1["value"].ToString() + "_" + _dr["ModelID"].ToString().Replace("-", ""));
                            eJson _power = new eJson();
                            if (temp.Length == 0)
                            {
                                _power.Add(dr1["value"].ToString(), "false");
                                if (dr1["value"].ToString().ToLower() == "list")
                                {
                                    canList = "0";
                                }
                            }
                            else
                            {
                                _power.Add(dr1["value"].ToString(), "true");
                                if (dr1["value"].ToString().ToLower() == "list")
                                {
                                    canList = "1";
                                }
                            }
                            uPower.Add(_power);
                        }
                        #endregion
                        #region 审批权限
                        sql   = "SELECT CheckMC as text,LOWER(CheckCode) as value FROM a_eke_sysCheckUps where ModelID='" + _dr["ModelID"].ToString() + "' and delTag=0 and LEN(CheckMC)>0 and LEN(CheckCode)>0 order by px,addTime";
                        Power = eOleDB.getDataTable(sql);
                        foreach (DataRow dr1 in Power.Rows)
                        {
                            temp = eParameters.Form("model_" + dr1["value"].ToString() + "_" + _dr["ModelID"].ToString().Replace("-", ""));
                            eJson _power = new eJson();
                            if (temp.Length == 0)
                            {
                                _power.Add(dr1["value"].ToString(), "false");
                                if (dr1["value"].ToString().ToLower() == "list")
                                {
                                    canList = "0";
                                }
                            }
                            else
                            {
                                _power.Add(dr1["value"].ToString(), "true");
                                if (dr1["value"].ToString().ToLower() == "list")
                                {
                                    canList = "1";
                                }
                            }
                            uPower.Add(_power);
                        }
                        power = uPower.ToString();


                        #endregion
                        name = "model_cond_" + _dr["ModelID"].ToString().Replace("-", "");
                        cond = eParameters.Form(name);


                        sql  = "if exists (select * from a_eke_sysPowers where UserID is Null and ApplicationID is null and ModelID='" + _dr["ModelID"].ToString() + "'  and RoleID='" + e.ID + "')";
                        sql += " update a_eke_sysPowers set delTag=0,canList='" + canList + "',Condition='" + cond + "',power='" + power + "' where UserID is Null and ApplicationID is Null and ModelID='" + _dr["ModelID"].ToString() + "'  and RoleID='" + e.ID + "'";
                        sql += " else ";
                        sql += "insert into a_eke_sysPowers (ApplicationID,ModelID,UserID,RoleID,canList,Condition,Power) ";
                        sql += " values (NULL,'" + _dr["ModelID"].ToString() + "',NULL,'" + e.ID + "','" + canList + "','" + cond + "','" + power + "')";

                        eOleDB.Execute(sql);
                    }
                    else //无权限
                    {
                        sql = "update a_eke_sysPowers set canList=0,Power='',Condition='',delTag=1 where userID is Null and ApplicationID is null and ModelID='" + _dr["ModelID"].ToString() + "' and RoleID='" + e.ID + "'";
                        sql = "delete from a_eke_sysPowers where userID is Null and ApplicationID is null and ModelID='" + _dr["ModelID"].ToString() + "' and RoleID='" + e.ID + "'";
                        eOleDB.Execute(sql);
                    }
                }
                eBase.clearDataCache("a_eke_sysPowers");
            }
        }