diff --git a/Bootstrap.Admin/Controllers/AdminController.cs b/Bootstrap.Admin/Controllers/AdminController.cs
index afe5f811..edb3a982 100644
--- a/Bootstrap.Admin/Controllers/AdminController.cs
+++ b/Bootstrap.Admin/Controllers/AdminController.cs
@@ -44,17 +44,28 @@ namespace Bootstrap.Admin.Controllers
var v = new NavigatorBarModel("~/Admin/Dicts");
return View(v);
}
-
+ ///
+ ///
+ ///
+ ///
public ActionResult Roles()
{
var v = new NavigatorBarModel("~/Admin/Roles");
return View(v);
}
+ ///
+ ///
+ ///
+ ///
public ActionResult Menus()
{
var v = new NavigatorBarModel("~/Admin/Menus");
return View(v);
}
+ ///
+ ///
+ ///
+ ///
public ActionResult Logs()
{
var v = new NavigatorBarModel("~/Admin/Logs");
diff --git a/Bootstrap.DataAccess/RoleHelper.cs b/Bootstrap.DataAccess/RoleHelper.cs
index 3c06ef22..024b54f9 100644
--- a/Bootstrap.DataAccess/RoleHelper.cs
+++ b/Bootstrap.DataAccess/RoleHelper.cs
@@ -80,20 +80,20 @@ namespace Bootstrap.DataAccess
{
cmd.Parameters.Add(DBAccessManager.SqlDBAccess.CreateParameter("@UserID", id, ParameterDirection.Input));
DBAccessManager.SqlDBAccess.ExecuteNonQuery(cmd, transaction);
-
- // insert batch data into config table
- using (SqlBulkCopy bulk = new SqlBulkCopy((SqlConnection)transaction.Transaction.Connection, SqlBulkCopyOptions.Default, (SqlTransaction)transaction.Transaction))
+ if (dt.Rows.Count > 0)
{
- bulk.BatchSize = 1000;
- bulk.DestinationTableName = "UserRole";
- bulk.ColumnMappings.Add("UserID", "UserID");
- bulk.ColumnMappings.Add("RoleID", "RoleID");
- bulk.WriteToServer(dt);
- transaction.CommitTransaction();
+ // insert batch data into config table
+ using (SqlBulkCopy bulk = new SqlBulkCopy((SqlConnection)transaction.Transaction.Connection, SqlBulkCopyOptions.Default, (SqlTransaction)transaction.Transaction))
+ {
+ bulk.DestinationTableName = "UserRole";
+ bulk.ColumnMappings.Add("UserID", "UserID");
+ bulk.ColumnMappings.Add("RoleID", "RoleID");
+ bulk.WriteToServer(dt);
+ }
}
+ transaction.CommitTransaction();
}
- roleIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).AsParallel()
- .ForAll(r => CacheManager.Clear(key => key == string.Format("{0}-{1}", RetrieveRolesByUserIDDataKey, id) || key == string.Format("{0}-{1}", UserHelper.RetrieveUsersByRoleIDDataKey, r)));
+ CacheCleanUtility.ClearCache(userIds: id.ToString(), roleIds: roleIds);
ret = true;
}
catch (Exception ex)