Ejemplo n.º 1
0
        public async Task <IActionResult> Edit(UrlParameter param, Sys_UserDto user)
        {
            user.Password = SecurityHelper.Md5(user.Password);
            var result = await _userService.UpdateAsync(user);

            return(Json(result));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> EditCurrent(UrlParameter param)
        {
            var user = new Sys_UserDto();

            user = _userService.GetCurrentUser().data;
            ViewBag.StatusList = new SelectList(Enum.GetValues(typeof(UserStatus)).Cast <UserStatus>());
            return(View(user));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 登陆
        /// </summary>
        /// <param name="dto">user实体</param>
        /// <returns></returns>
        public async Task <Result <Sys_UserDto> > Login(Sys_UserDto dto)
        {
            var result    = new Result <Sys_UserDto>();
            var loginUser = GetByIdAsync(dto.Id);

            if (loginUser != null)
            {
                var loginResult = await UserLogin(dto);

                if (loginResult.flag)
                {
                    var loginedUser = loginResult.data;
                    if (loginedUser.Status == UserStatus.未激活)
                    {
                        result.msg = "登陆失败,账户未激活";
                    }
                    else if (loginedUser.Status == UserStatus.禁用)
                    {
                        result.msg = "登陆失败,账户已禁用";
                    }
                    else if (loginedUser.Status == UserStatus.已激活)
                    {
                        result.flag = true;
                        result.msg  = "登陆成功";
                        WebHelper.SetSession(UserSessionName, loginedUser);
                    }
                    else
                    {
                        result.msg = "登陆失败,账户状态未知";
                    }
                }
                else
                {
                    result.msg = "登陆失败,请检查输入的信息";
                }
            }
            else
            {
                result.flag = false;
                result.msg  = "登陆失败,用户不存在";
            }
            try
            {
                //记录登录日志
                await _loginLogService.AddAsync(new Sys_LoginLogDto
                {
                    UserId      = dto.Id,
                    UserName    = dto.UserName,
                    ClientIP    = WebHelper.GetClientIP(),
                    ClientMac   = WebHelper.GetClientMac(),
                    Description = result.msg
                });
            }
            catch (Exception)
            {
            }
            return(result);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 更新单个数据
 /// </summary>
 /// <param name="dto">sys_user实体</param>
 /// <returns></returns>
 public async Task <Result <Sys_UserDto> > UpdateAsync(Sys_UserDto dto)
 {
     using (var db = GetDb())
     {
         var result = new Result <Sys_UserDto>();
         db.Update(MapTo <Sys_UserDto, Sys_UserEntity>(dto));
         result.flag = (await db.SaveChangesAsync()) > 0;
         return(result);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 删除单个sys_user
 /// </summary>
 /// <param name="dto">sys_user实体</param>
 /// <returns></returns>
 public async Task <Result <Sys_UserDto> > DeleteAsync(Sys_UserDto dto)
 {
     using (var db = GetDb())
     {
         var result = new Result <Sys_UserDto>();
         var ds     = GetDbSet(db);
         var entity = MapTo <Sys_UserDto, Sys_UserEntity>(dto);
         ds.Remove(entity);
         result.flag = (await db.SaveChangesAsync()) > 0;
         return(result);
     }
 }
Ejemplo n.º 6
0
        public async Task <IActionResult> Add(UrlParameter param, Sys_UserDto user)
        {
            var result      = new Result <Sys_UserDto>();
            var existResult = await _userService.GetByExpAsync(item => item.UserName == user.UserName);

            if (existResult.flag)
            {
                result.msg = "该用户名已存在";
            }
            else
            {
                user.Password = SecurityHelper.Md5(user.Password);
                result        = await _userService.AddAsync(user);
            }
            return(Json(result));
        }
Ejemplo n.º 7
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            var currentUserResult = Sys_UserService.GetCurrentUserBySession();

            if (currentUserResult.flag)
            {
                CurrentUser = new Sys_UserDto
                {
                    Id       = currentUserResult.data.Id,
                    UserName = currentUserResult.data.UserName
                };
                SysService.currentUserId = CurrentUser.Id.ToString();
                if (!WebHelper.IsAjax(context.HttpContext))
                {
                    var operationLogService = ServiceLocator.Get <ISys_OperationLogService>();
                    operationLogService.AddAsync(new Sys_OperationLogDto
                    {
                        ClientIP             = WebHelper.GetClientIP(),
                        ClientMac            = WebHelper.GetClientMac(),
                        Description          = "访问",
                        OperationDescription = "访问",
                        OperationUrl         = context.HttpContext.Request.Path,
                        UserId   = CurrentUser.Id,
                        UserName = CurrentUser.UserName
                    });
                }
            }
            else
            {
                if (!WebHelper.IsAjax(context.HttpContext))
                {
                    var operationLogService = ServiceLocator.Get <ISys_OperationLogService>();
                    operationLogService.AddAsync(new Sys_OperationLogDto
                    {
                        ClientIP             = WebHelper.GetClientIP(),
                        ClientMac            = WebHelper.GetClientMac(),
                        Description          = "访问",
                        OperationDescription = "访问",
                        OperationUrl         = context.HttpContext.Request.Path,
                        UserId   = 0,
                        UserName = "******"
                    });
                    CurrentUser = null;
                }
            }
            base.OnActionExecuting(context);
        }
        /// <summary>
        /// 新增\修改
        /// </summary>
        /// <param name="Dto"></param>
        /// <returns></returns>
        public async Task <Guid> SaveAsync(Sys_UserDto Dto)
        {
            var model   = Dto.Model;
            var roleIds = Dto.RoleIds;

            if (string.IsNullOrWhiteSpace(model.User_Pwd))
            {
                MessageBox.Show("密码不能为空!");
            }

            if (model.User_ID == Guid.Empty)
            {
                model.User_Pwd = string.IsNullOrWhiteSpace(model.User_Pwd) ? "123" : model.User_Pwd; //Tools.MD5Encrypt("123");
                model          = await this.InsertAsync(model);
            }
            else
            {
                await this.UpdateByIdAsync(model);
            }

            //变更用户角色
            if (roleIds.Count > 0)
            {
                var _Sys_UserRoleList = await dbUserRole.ToListAsync(w => w.UserRole_UserID == model.User_ID);

                await dbUserRole.DeleteAsync(w => w.UserRole_UserID == model.User_ID);

                foreach (var item in roleIds)
                {
                    var _Sys_UserRole = _Sys_UserRoleList.FirstOrDefault(w => w.UserRole_RoleID == item);

                    var userRoleModel = new Sys_UserRole();
                    userRoleModel.UserRole_ID = _Sys_UserRole == null?Guid.NewGuid() : _Sys_UserRole.UserRole_ID;

                    userRoleModel.UserRole_RoleID = item;
                    userRoleModel.UserRole_UserID = model.User_ID;
                    await dbUserRole.InsertAsync(userRoleModel);
                }
            }

            return(model.User_ID);
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> EditCurrent(UrlParameter param, Sys_UserDto user)
        {
            var result     = new Result <Sys_UserDto>();
            var userResult = await _userService.GetByExpAsync(item => item.UserName == user.UserName && item.Password == SecurityHelper.Md5(user.OldPassword));

            if (userResult.flag)
            {
                if (string.IsNullOrEmpty(user.Password))  //密码可以为空 为空就保留现在的密码
                {
                    user.Password = _userService.GetCurrentUser().data.Password;
                }
                else //密码可以为空 为空就保留现在的密码
                {
                    user.Password = SecurityHelper.Md5(user.Password);
                }
                result = await _userService.UpdateAsync(user);
            }
            else
            {
                result.msg = "密码错误";
            }
            return(Json(result));
        }
Ejemplo n.º 10
0
 public async Task <ApiResult> SaveAsync(Sys_UserDto Model)
 => this.ResultOk(await this.service.SaveAsync(Model));
Ejemplo n.º 11
0
 public IActionResult ForgetPwd(Sys_UserDto user)
 {
     return(View());
 }
Ejemplo n.º 12
0
        public async Task <IActionResult> Register(Sys_UserDto dto)
        {
            var result = await _userService.Register(dto);

            return(Json(result));
        }
Ejemplo n.º 13
0
        public async Task <IActionResult> Login(Sys_UserDto dto)
        {
            var result = await _userService.Login(dto);

            return(Json(result));
        }
Ejemplo n.º 14
0
        public async Task <Result <Sys_UserDto> > UserLogin(Sys_UserDto dto)
        {
            var userResult = await GetByExpAsync(item => item.UserName == dto.UserName && item.Password == SecurityHelper.Md5(dto.Password));

            return(userResult);
        }
Ejemplo n.º 15
0
        public async Task <Result <Sys_UserDto> > Register(Sys_UserDto dto)
        {
            var result = await AddAsync(dto);

            return(result);
        }