private IActionResult EditState(Model.User.UserInfo argUserInfo)
        {
            Util.Return.ReturnResult returnResult = new Util.Return.ReturnResult();
            try
            {
                DataBll.User.UserInfoDataBll userInfoDataBll = new DataBll.User.UserInfoDataBll();
                //1. 获取用户信息
                Model.User.UserInfo userInfo = userInfoDataBll.Get(argUserInfo.ID);
                //2. 进行用户信息的校验
                if (null != userInfo && userInfo.ID > 0)
                {
                    if (argUserInfo.State != userInfo.State)
                    {
                        //3. 更改用户状态
                        userInfo.State          = argUserInfo.State;
                        userInfo.LastUpdateTime = System.DateTime.UtcNow;
                        userInfo.LastUpdator    = UserName;
                        userInfoDataBll.Update(userInfo);
                    }
                }

                returnResult.IsOperateSuccess = true;
                returnResult.Description      = "Success";
            }
            catch (Exception ex)
            {
                returnResult.IsOperateSuccess = false;
                returnResult.Description      = $"Happened a error in server.The error message is {ex.Message}";
                ProcessException(returnResult.Description, ex);
            }

            return(new JsonResult(returnResult));
        }
 public IActionResult Login([FromBody] Models.User.UserLoginInfoViewModel userInfo)
 {
     Util.Return.ReturnResult returnValue = new Util.Return.ReturnResult();
     try
     {
         bool   validateResult;
         String strErrorMsg = null;
         (validateResult, strErrorMsg) = ValidateData(userInfo);
         if (validateResult)
         {
             //使用用户名到数据库获取用户信息
             DataBll.User.UserInfoDataBll userInfoDataBll = new DataBll.User.UserInfoDataBll();
             Model.User.UserInfo          user            = userInfoDataBll.Get(userInfo.UserName);
             if (null != user &&
                 user.State == Model.EnumType.UserState.Normal &&
                 !String.IsNullOrWhiteSpace(userInfo.Password))
             {
                 String strPassword = Util.EncryptionAlgorithm.Md5Algorithm.Encryption32(userInfo.Password);
                 if (strPassword == user.Password)
                 {
                     //生成Token
                     Int32 expired = 1;
                     if (userInfo.RememberMe)
                     {
                         expired = 30;
                     }
                     DateTime expiredTime = System.DateTime.UtcNow.AddDays(expired);
                     HttpContext.Response.Cookies.Append(
                         Util.LoginTokenHelper.LoginTokenName
                         , Util.LoginTokenHelper.GetToken(userInfo.UserName, expiredTime)
                         , new Microsoft.AspNetCore.Http.CookieOptions()
                     {
                         Expires = expiredTime
                     });
                     returnValue.IsOperateSuccess = true;
                     returnValue.Description      = "Success";
                 }
                 else
                 {
                     returnValue.Description = "Wrong password, please re-enter.";
                 }
             }
             else
             {
                 returnValue.Description = "This user not exist.Please re-enter your username and password.";
             }
         }
         else
         {
             returnValue.Description = strErrorMsg;
         }
     }
     catch (Exception ex)
     {
         returnValue.Description = "The server is abnormal, please try again later.";
         m_log.Error("Login fail.", ex);
     }
     return(new JsonResult(returnValue));
 }
        public IActionResult GetList([FromBody] dynamic userFilter)
        {
            Util.Return.ReturnValue <Models.Pagination <Models.User.UserInfoViewModel> > returnValue = new Util.Return.ReturnValue <Models.Pagination <Models.User.UserInfoViewModel> >();
            try
            {
                Models.User.UserFilterViewModel userFilterViewModel =
                    Newtonsoft.Json.JsonConvert.DeserializeObject <Models.User.UserFilterViewModel>(
                        userFilter.ToString());
                Models.Pagination <Models.User.UserInfoViewModel> pagination = new Models.Pagination <Models.User.UserInfoViewModel>()
                {
                    CurrentPageIndex = userFilterViewModel.CurrentPageIndex
                    ,
                    PageSize = userFilterViewModel.PageSize
                };
                DataBll.User.UserInfoDataBll userInfoDataBll = new DataBll.User.UserInfoDataBll();
                Int32            totalRow;
                IList <UserInfo> users;
                (totalRow, users) = userInfoDataBll.Query(
                    userFilterViewModel.UserName?.Trim()
                    , userFilterViewModel.State.HasValue ? (Int32)userFilterViewModel.State.Value : 0
                    , userFilterViewModel.CurrentPageIndex, userFilterViewModel.PageSize);

                if (null != users && users.Count > 0)
                {
                    IList <Models.User.UserInfoViewModel> userViewModels = users.Select(
                        x => new Models.User.UserInfoViewModel()
                    {
                        Code = x.Code
                        ,
                        CreateTime = x.CreateTime.AddHours(8).ToString("yyyy-MM-dd HH:mm:ss")
                        ,
                        Creator = x.Creator
                        ,
                        Description = x.Description
                        ,
                        Id = x.ID
                             //, LastUpdateTime = x.LastUpdateTime
                             //, LastUpdator = x.LastUpdator
                        ,
                        Remark = x.Remark
                        ,
                        State = x.State.ToString()
                        ,
                        UserName = x.UserName
                    }
                        ).ToList();
                    pagination.Data = userViewModels;
                }
                pagination.TotalRow = totalRow;

                returnValue.Value            = pagination;
                returnValue.IsOperateSuccess = true;
                returnValue.Description      = "Success";
            }
            catch (Exception ex)
            {
                returnValue.IsOperateSuccess = false;
                returnValue.Description      = $"Happened a error in server.The error message is {ex.Message}";
                ProcessException(returnValue.Description, ex);
            }

            return(new JsonResult(returnValue));
        }