using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using CB.Common; using CB.Entity; using CB.Interface.Infrastructure; namespace CB.Data.SqlServer { public class SysAuthorityManage : Repository, ISysAuthorityService { public SysAuthorityManage(string interfaceId) : base(interfaceId) { } public override bool Save(SysAuthorityInfo entity) { DbParameter[] pars = { DbHelper.MakeInParam(InterfaceId,"@Name",(DbType)SqlDbType.NChar,20,entity.Name), DbHelper.MakeInParam(InterfaceId,"@Url",(DbType)SqlDbType.NVarChar,200,entity.Url), DbHelper.MakeInParam(InterfaceId,"@PageName",(DbType)SqlDbType.NVarChar,50,entity.PageName), DbHelper.MakeInParam(InterfaceId,"@ParentId",(DbType)SqlDbType.Int,4,entity.ParentId), DbHelper.MakeInParam(InterfaceId,"@AuthorType",(DbType)SqlDbType.Int,4,entity.AuthorType), DbHelper.MakeInParam(InterfaceId,"@OrderBy",(DbType)SqlDbType.Int,4,entity.OrderBy), DbHelper.MakeInParam(InterfaceId,"@RightsPageType",(DbType)SqlDbType.Int,4,entity.PageType) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId, CommandType.StoredProcedure, "usp_SysAuthority_save", pars)) > 0 ? true : false; } public override bool Update(SysAuthorityInfo entity) { DbParameter[] pars = { DbHelper.MakeInParam(InterfaceId,"@Name",(DbType)SqlDbType.NChar,20,entity.Name), DbHelper.MakeInParam(InterfaceId,"@Url",(DbType)SqlDbType.NVarChar,200,entity.Url), DbHelper.MakeInParam(InterfaceId,"@PageName",(DbType)SqlDbType.NVarChar,50,entity.PageName), DbHelper.MakeInParam(InterfaceId,"@ParentId",(DbType)SqlDbType.Int,4,entity.ParentId), DbHelper.MakeInParam(InterfaceId,"@AuthorType",(DbType)SqlDbType.Int,4,entity.AuthorType), DbHelper.MakeInParam(InterfaceId,"@OrderBy",(DbType)SqlDbType.Int,4,entity.OrderBy), DbHelper.MakeInParam(InterfaceId,"@AId",(DbType)SqlDbType.Int,4,entity.AId), DbHelper.MakeInParam(InterfaceId,"@RightsPageType",(DbType)SqlDbType.Int,4,entity.PageType) }; return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId, CommandType.StoredProcedure, "usp_SysAuthority_update", pars)) > 0 ? true : false; } public override bool Delete(int Id) { DbParameter[] pars = { DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,50,"DELETE FROM [SYS_SysAuthority] WHERE [AId]=@aid"), DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@aid int"), DbHelper.MakeInParam(InterfaceId,"@aid",(DbType)SqlDbType.Int,4,Id) }; return DbHelper.ExecuteNonQuery(InterfaceId, CommandType.StoredProcedure, "dbo.sp_executesql", pars) > 0 ? true : false; } public override SysAuthorityInfo Get(TKey key) { throw new NotImplementedException(); } public override IList ToList() { DbParameter[] pars ={ DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,200,"SELECT [AId],[Name],[Url],[PageName],[ParentId],[Depth],[AuthorType],[OrderBy],[Addtime],[RightsPageType] FROM [SYS_SysAuthority] ORDER BY [OrderBy]"), }; IList list = new List(); using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId, CommandType.StoredProcedure, "[dbo].[sp_executesql]", pars)) { while (reader.Read()) { list.Add(LoadEntity(reader)); } reader.Dispose(); } return list; } public override IList ToList(SysAuthorityInfo entity) { throw new NotImplementedException(); } public override IList ToPaging(SysAuthorityInfo entity, int pageSize, int pageIndex, out int recordCount) { throw new NotImplementedException(); } public bool UpdateUserGroupAuthority(int groupId, string authority) { return TypeConverter.ObjectToInt(DbHelper.ExecuteScalar(InterfaceId, CommandType.Text, string.Format("DELETE FROM [SYS_SysGroupAuthority] WHERE [GroupId]={0};INSERT INTO [SYS_SysGroupAuthority]([GroupId],[AId]) SELECT {0},[AId] FROM [SYS_SysAuthority] WHERE [AId] IN ({1});SELECT @@ROWCOUNT;", groupId, authority))) > 0 ? true : false; } protected override SysAuthorityInfo LoadEntity(IDataReader reader) { return new SysAuthorityInfo { AId = TypeConverter.ObjectToInt(reader["AId"]), Name = reader["Name"].ToString().Trim(), Url = reader["Url"].ToString(), PageName = reader["PageName"].ToString(), ParentId = TypeConverter.ObjectToInt(reader["ParentId"]), Depth = TypeConverter.ObjectToInt(reader["Depth"]), AuthorType = (AuthorityType)Enum.Parse(typeof(AuthorityType), reader["AuthorType"].ToString()), OrderBy = TypeConverter.ObjectToInt(reader["OrderBy"]), Addtime = TypeConverter.ObjectToDateTime(reader["Addtime"], DateTime.MinValue), PageType = TypeConverter.StringToEnum(reader["RightsPageType"].ToString()) }; } protected override SysAuthorityInfo LoadEntity(DataRow dr) { return new SysAuthorityInfo { AId = TypeConverter.ObjectToInt(dr["AId"]), Name = dr["Name"].ToString().Trim(), Url = dr["Url"].ToString(), PageName = dr["PageName"].ToString(), ParentId = TypeConverter.ObjectToInt(dr["ParentId"]), Depth = TypeConverter.ObjectToInt(dr["Depth"]), AuthorType = (AuthorityType)Enum.Parse(typeof(AuthorityType), dr["AuthorType"].ToString()), OrderBy = TypeConverter.ObjectToInt(dr["OrderBy"]), Addtime = TypeConverter.ObjectToDateTime(dr["Addtime"], DateTime.MinValue), PageType = TypeConverter.StringToEnum(dr["RightsPageType"].ToString()) }; } } }