using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Web.Http; using WebAPI.Models; namespace WebAPI.Controllers { public class Xt_UserGroupController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; #region 角色列表 /// /// 返回用户角色列表 ///参数:string sql。 ///返回值:object。 /// [Route("Xt_UserGroup/list")] [HttpGet] public object list(string sWhere) { try { ds = oCN.RunProcReturn("select * from h_v_System_UserGroup where 1 = 1 " + sWhere, "h_v_System_UserGroup"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 角色绑定用户数据 [Route("Xt_UserGroup/UserGroupInfoList")] [HttpGet] public object UserGroupInfoList(string sWhere) { try { string sql = "select * from System_UserGroupInfo where 1=1 " + sWhere; ds = oCN.RunProcReturn(sql, "System_UserGroupInfo"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 角色列表 添加/修改 public class Xt_UserGroup { public int HGroupID; public string GroupName { get; set; } public string HLev { get; set; } public string Explain { get; set; } } [Route("Xt_UserGroup/UserGroupInfoEdit")] [HttpPost] public object UserGroupInfoEdit([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); oCN.BeginTran(); //保存主表 objJsonResult = AddBillMain(msg1); if (objJsonResult.code == "0") { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "成功!"; objJsonResult.data = null; return objJsonResult; } public json AddBillMain(string msg1) { string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); int OperationType = int.Parse(sArray[2].ToString());//数据类型 1添加 3修改 string user = sArray[3].ToString(); try { Xt_UserGroup omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject(msg2); var num = msg3.Split(','); if (OperationType == 1)//新增 { //主表 oCN.RunProc("insert into System_UserGroup (GroupName,HLev,Explain)values" + $"('{omdelMian.GroupName}','{omdelMian.HLev}','{omdelMian.Explain}')"); //新增后查询 确保数据添加成功 ds = oCN.RunProcReturn("Select * from System_UserGroup where GroupName='" + omdelMian.GroupName + "'", "System_UserGroup"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "用户新增失败!"; objJsonResult.data = null; return objJsonResult; } var HGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["GroupID"]); oCN.RunProc("delete from System_UserGroupInfo where GroupId=" + HGroupID.ToString()); if (num[0] != "-1") { for (int i = 0; i < num.Length; i++) { oCN.RunProc("insert into System_UserGroupInfo (GroupId,UserId) values (" + HGroupID.ToString() + ",'" + num[i] + "')"); } } } else if (OperationType == 3) { oCN.RunProc("update System_UserGroup set GroupName='" + omdelMian.GroupName + "',HLev='" + omdelMian.HLev + "',Explain='" + omdelMian.Explain + "'" + " where GroupId=" + omdelMian.HGroupID); oCN.RunProc("delete from System_UserGroupInfo where GroupId=" + omdelMian.HGroupID); for (int i = 0; i < num.Length; i++) { oCN.RunProc("insert into System_UserGroupInfo (GroupId,UserId) values (" + omdelMian.HGroupID + ",'" + num[i] + "')"); } } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 角色列表 删除 [Route("Xt_UserGroup/DelXt_UserGroupList")] [HttpGet] public object DelXt_UserGroupList(string HInterID,string User) { try { ds = oCN.RunProcReturn("select * from h_v_System_UserGroup where 1=1 and HGroupID=" + HInterID, "h_v_System_UserGroup"); if (ds.Tables[0].Rows.Count > 0) { oCN.BeginTran();//开启事务 //删除角色表 oCN.RunProc($"delete from System_UserGroup where GroupID={HInterID}"); //删除关联的用户关系 oCN.RunProc($"delete from System_UserGroupInfo where GroupId={HInterID}"); oCN.Commit();//结束事务 objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功!"; objJsonResult.data = null; return objJsonResult; } objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前单据不存在,无法删除!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack();//回滚事务 objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion } }