refactor: 使用 switch 新语法

This commit is contained in:
Argo-2016 2020-01-08 13:28:57 +08:00
parent 57282285cc
commit ff5518bd3a
3 changed files with 37 additions and 73 deletions

View File

@ -116,14 +116,14 @@ namespace Bootstrap.Admin.Controllers.Api
var ret = false;
if (value.UserName.Equals(User.Identity.Name, StringComparison.OrdinalIgnoreCase))
{
if (value.UserStatus == UserStates.ChangeTheme)
ret = UserHelper.SaveUserCssByName(value.UserName, value.Css);
else if (value.UserStatus == UserStates.ChangeDisplayName)
ret = UserHelper.SaveDisplayName(value.UserName, value.DisplayName);
else if (value.UserStatus == UserStates.ChangePassword)
ret = UserHelper.ChangePassword(value.UserName, value.Password, value.NewPassword);
else if (value.UserStatus == UserStates.SaveApp)
ret = UserHelper.SaveApp(value.UserName, value.App);
ret = value.UserStatus switch
{
UserStates.ChangeTheme => UserHelper.SaveUserCssByName(value.UserName, value.Css),
UserStates.ChangeDisplayName => UserHelper.SaveDisplayName(value.UserName, value.DisplayName),
UserStates.ChangePassword => UserHelper.ChangePassword(value.UserName, value.Password, value.NewPassword),
UserStates.SaveApp => UserHelper.SaveApp(value.UserName, value.App),
_ => false
};
}
return ret;
}

View File

@ -37,19 +37,13 @@ namespace Bootstrap.Admin.Controllers.Api
[HttpPost("{id}")]
public IEnumerable<object> Post(string id, [FromQuery]string type)
{
IEnumerable<Role> ret = new Role[0];
switch (type)
var ret = type switch
{
case "user":
ret = RoleHelper.RetrievesByUserId(id);
break;
case "group":
ret = RoleHelper.RetrievesByGroupId(id);
break;
case "menu":
ret = RoleHelper.RetrievesByMenuId(id);
break;
}
"user" => RoleHelper.RetrievesByUserId(id),
"group" => RoleHelper.RetrievesByGroupId(id),
"menu" => RoleHelper.RetrievesByMenuId(id),
_ => new Role[0]
};
return ret.Select(m => new { m.Id, m.Checked, m.RoleName, m.Description });
}
/// <summary>
@ -61,26 +55,14 @@ namespace Bootstrap.Admin.Controllers.Api
/// <returns></returns>
[HttpPut("{id}")]
[ButtonAuthorize(Url = "~/Admin/Roles", Auth = "assignUser,assignGroup,assignMenu,assignApp")]
public bool Put(string id, [FromBody]IEnumerable<string> values, [FromQuery]string type)
public bool Put(string id, [FromBody]IEnumerable<string> values, [FromQuery]string type) => type switch
{
var ret = false;
switch (type)
{
case "user":
ret = UserHelper.SaveByRoleId(id, values);
break;
case "group":
ret = GroupHelper.SaveByRoleId(id, values);
break;
case "menu":
ret = MenuHelper.SaveMenusByRoleId(id, values);
break;
case "app":
ret = AppHelper.SaveByRoleId(id, values);
break;
}
return ret;
}
"user" => UserHelper.SaveByRoleId(id, values),
"group" => GroupHelper.SaveByRoleId(id, values),
"menu" => MenuHelper.SaveMenusByRoleId(id, values),
"app" => AppHelper.SaveByRoleId(id, values),
_ => false
};
/// <summary>
/// 保存角色方法
/// </summary>

View File

@ -36,29 +36,19 @@ namespace Bootstrap.Admin.Controllers.Api
/// <param name="type">类型 如角色、部门</param>
/// <returns></returns>
[HttpPost("{id}")]
public IEnumerable<object> Post(string id, [FromQuery]string type)
public IEnumerable<object> Post(string id, [FromQuery]string type) => type switch
{
IEnumerable<object> ret = new string[0];
switch (type)
"role" => UserHelper.RetrievesByRoleId(id).Select(p => new
{
case "role":
ret = UserHelper.RetrievesByRoleId(id).Select(p => new
{
p.Id,
p.DisplayName,
p.UserName,
p.Checked
}).OrderBy(u => u.DisplayName);
break;
case "group":
ret = UserHelper.RetrievesByGroupId(id);
break;
case "reset":
ret = UserHelper.RetrieveResetReasonsByUserName(id).Select(u => new { u.Key, u.Value });
break;
}
return ret;
}
p.Id,
p.DisplayName,
p.UserName,
p.Checked
}).OrderBy(u => u.DisplayName),
"group" => UserHelper.RetrievesByGroupId(id),
"reset" => UserHelper.RetrieveResetReasonsByUserName(id).Select(u => new { u.Key, u.Value }),
_ => new string[0]
};
/// <summary>
/// 前台User View调用新建/更新用户
@ -92,20 +82,12 @@ namespace Bootstrap.Admin.Controllers.Api
/// <returns></returns>
[HttpPut("{id}")]
[ButtonAuthorize(Url = "~/Admin/Users", Auth = "assignRole,assignGroup")]
public bool Put(string id, [FromBody]IEnumerable<string> values, [FromQuery]string type)
public bool Put(string id, [FromBody]IEnumerable<string> values, [FromQuery]string type) => type switch
{
var ret = false;
switch (type)
{
case "role":
ret = RoleHelper.SaveByUserId(id, values);
break;
case "group":
ret = GroupHelper.SaveByUserId(id, values);
break;
}
return ret;
}
"role" => RoleHelper.SaveByUserId(id, values),
"group" => GroupHelper.SaveByUserId(id, values),
_ => false
};
/// <summary>
/// 删除用户操作