using Mini.Common;
using Air.Model.AirAdminViewModel;
using System;
using Mini.Services.Bas;
using Microsoft.AspNetCore.Mvc;
using Mini.Web.WebHelper;
using Mini.Model.Entity;
using Microsoft.AspNetCore.Authorization;
namespace Mini.Web.Areas.Admin.Controllers
{
public class InnerUserController : BaseController
{
ValidationErrors errors = new ValidationErrors();
private readonly IBasInnerUserService _basInnerUserService;
private readonly IBasInnerUserSaltService _basInnerUserSaltService;
public InnerUserController(IBasInnerUserService basInnerUserService, IBasInnerUserSaltService basInnerUserSaltService)
{
this._basInnerUserService = basInnerUserService;
this._basInnerUserSaltService = basInnerUserSaltService;
}
[Area("Admin")]
#region 首页
[AuthorizeRedirect(Roles = InitRights.CONST_员工管理)]
public ActionResult Index()
{
//ToolBar
ToolBar tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.员工管理, userRightId);
tool.AllowButton(toolbtn);
tool.AddOtherButton("Other4", "确认员工离职", "icon-edit", "DismissChange_Click", true);
ViewBag.ToolBar = tool;
Pager pager = new Pager() { page = 1, rows = 10 };
string tableId = "tablist";
Table tab = new Table(tableId);
tab.AddHiddenHeadCol("uid", "ID");//影藏列
tab.AddHeadCol("eid", "", "工号", true);
tab.AddHeadCol("uname", "", "姓名", true);
tab.AddHeadCol("gender", "", "性别");
tab.AddHeadCol("birthday", "", "生日", true);
tab.AddHeadCol("isDismiss", "", "是否离职");
tab.AddHeadRow();
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,8,10,15");
ViewBag.type =HttpContext.Request.Query["type"].ToString();
return View();
}
#endregion
#region 列表
///
/// 按照条件获取数据
///
///
///
///
[AuthorizeRedirect(Roles = InitRights.CONST_员工管理)]
[Area("Admin")]
public JsonResult GetHtmlList(Pager pager, string columns, int? eId, string uName, int? isDismiss)
{
Table table = new Table(columns, true);
table.gridPager = pager;
var list = _basInnerUserService.GetList(ref pager, eId, uName, isDismiss);
foreach (var model in list)
{
table.AddHiddenCol(model.uid);
table.AddCol(model.eid);
table.AddCol(model.uname);
table.AddCol(model.gender == "m" ? "男" : "女");
table.AddCol(model.birthday.HasValue ? model.birthday.Value.ToString("yyyy.MM.dd") : string.Empty);
table.AddCol((model.isdismiss == 1 ? "是" : "否"));
table.AddRow();
}
var json = new
{
totalPages = pager.totalPages,
totalRows = pager.totalRows,
rowsList = table.GetRows()
};
return Json(json);
}
#endregion
#region 编辑
[HttpGet]
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Edit)]
[Area("Admin")]
public ActionResult Edit(int? uId)
{
var model = new Bas_InnerUserEidtModel();
model.passwd = string.Empty;
model.passwd2 = string.Empty;
model.birthday = DateTime.Now;
if (!uId.HasValue)
{
model.gender = "m";
model.isdismiss = 0;
}
else
{
var info = _basInnerUserService.GetBasInnerUser(uId.Value);
model = new Bas_InnerUserEidtModel() { uid = info.uid, uname = info.uname, eid = info.eid, isdismiss = info.isdismiss, birthday= info.birthday, gender = info.gender, createUser = info.createUser, ctime = info.ctime, updateuser = info.updateuser, utime = info.utime };
}
return View(model);
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Edit)]
[Area("Admin")]
public JsonResult Edit(Bas_InnerUserEidtModel model)
{
if (!ModelState.IsValid)
return JsonHandler.ValidateFailMessage();
if (model.uid == 0)
{
model.ctime = DateTime.Now;
model.createUser = UserId;
string user_salt = Utility.CreateRandomSatl(8);
if (!string.IsNullOrEmpty(model.passwd))
{
model.passwd = Utility.Sha512(model.passwd + user_salt);
}
var info = new Bas_InnerUser() { uname = model.uname, eid = model.eid, passwd = model.passwd, gender = model.gender, isdismiss = model.isdismiss, birthday = model.birthday, createUser = model.createUser, ctime = model.ctime };
var pkid = _basInnerUserService.AddBasInnerUser(info);
if (pkid > 0)
{
var userSaltModel = new Bas_InnerUserSalt();
userSaltModel.InnerUserId = pkid;
userSaltModel.Eid = model.eid;
userSaltModel.PwdSalt = user_salt;
userSaltModel.CTime = DateTime.Now;
userSaltModel.CreateUser = UserId;
_basInnerUserSaltService.Create(userSaltModel);
}
bool scucced = true;
if (pkid == 0)
scucced = false;
return JsonHandler.InsertMessage(errors, scucced);
}
else
{
model.utime = DateTime.Now;
model.updateuser = UserId;
bool scucced = _basInnerUserService.Update(model);
return JsonHandler.UpdateMessage(errors, scucced);
}
}
#endregion
#region 删除
///
/// 删除数据
///
///
///
[AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Delete)]
[Area("Admin")]
public JsonResult Delete(Bas_InnerUser user)
{
if (user == null)
return JsonHandler.ManageMessage("参数错误", false);
_basInnerUserService.Delete(user);
return JsonHandler.DeleteMessage(errors, true);
}
#endregion
#region 修改个人信息
[HttpGet]
[Authorize]
[Area("Admin")]
public ActionResult ChangeUserIfo()
{
//var info = _basInnerUserService.GetBasInnerUser(uId.Value);
BasUpdatePwd pwdinfo = new BasUpdatePwd() { uid=UserId};
return View(pwdinfo);
}
[HttpPost]
[Authorize]
[Area("Admin")]
public ActionResult ChangeUserIfo(BasUpdatePwd ChangeModel)
{
bool scucced = _basInnerUserService.UpdatePwd(ChangeModel, ref errors);
return JsonHandler.UpdateMessage(errors, scucced);
}
#endregion
}
}