예제 #1
0
        /// <summary>
        /// 新增用户
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <bool> AddAsync(UserShowDto dto)
        {
            try
            {
                SysUser sysUser = new SysUser
                {
                    UserName = dto.User.UserName
                };
                sysUser.Account    = sysUser.UserName.ToPinYin().Trim();
                sysUser.CreateTime = DateTime.Now.ToTimeStamp();
                sysUser.Password   = EncryptProvider.CreateSha1Code(dto.User.Password);

                //工号生成
                sysUser.JobNumber = DateTime.Now.ToString("yyyyMMdd") + DateTime.Now.ToString("ff");

                await _databaseFixture.Db.SysUser.InsertAsync(sysUser);

                return(true);
            }
            catch (Exception e)
            {
                _logJobs.ExceptionLog(dto.User.CreateUserId, e);
                return(false);
            }
        }
예제 #2
0
        public async Task <IActionResult> Update([FromBody] UserShowDto dto)
        {
            dto.User.UpdateUserId = UserIdentity.UserId;
            var res = await _userService.UpdateAsync(dto);

            return(Ok(res));
        }
        public async Task <bool> UpdateAsync(UserShowDto dto)
        {
            var uri      = API.SysUser.UpdateAsync(_baseUrl);
            var content  = new StringContent(JsonConvert.SerializeObject(dto), System.Text.Encoding.UTF8, "application/json");
            var response = await _apiClient.PostAsync(uri, content);

            response.EnsureSuccessStatusCode();
            string res = await response.Content.ReadAsStringAsync();

            return(res.ToLower() == bool.TrueString.ToLower());
        }
예제 #4
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public async Task <UserShowDto> GetAsync(long userid)
        {
            UserShowDto model = new UserShowDto
            {
                User = new SysUser()
            };

            if (userid > 0)
            {
                var dbuser = await _databaseFixture.Db.SysUser.FindAsync(m => m.UserId == userid);

                model.User.UserName   = dbuser.UserName;
                model.User.UserId     = dbuser.UserId;
                model.User.Account    = dbuser.Account;
                model.User.CreateTime = dbuser.CreateTime;
                model.User.JobNumber  = dbuser.JobNumber;
                model.User.IsDel      = dbuser.IsDel;
            }
            return(model);
        }
예제 #5
0
        private async Task CreateClaimsAndSignInAsync(UserShowDto user)
        {
            var claims = new List <Claim>
            {
                //Set User Identity Name to actual user Id - easier access with user connected operations
                new Claim(ClaimTypes.Name, user.Id.ToString())
            };

            if (user.Role.HasFlag(Roles.Company))
            {
                claims.Add(new Claim(ClaimTypes.Role, Roles.Company.ToString()));
            }
            if (user.Role.HasFlag(Roles.JobSeeker))
            {
                claims.Add(new Claim(ClaimTypes.Role, Roles.JobSeeker.ToString()));
            }
            var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
            await HttpContext.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme,
                new ClaimsPrincipal(identity));
        }
예제 #6
0
        /// <summary>
        /// 更新用户信息
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <bool> UpdateAsync(UserShowDto dto)
        {
            try
            {
                var dbuser = await _databaseFixture.Db.SysUser.FindAsync(m => m.UserId == dto.User.UserId);

                if (dbuser == null)
                {
                    return(false);
                }
                dbuser.UserName     = dto.User.UserName;
                dbuser.IsDel        = dto.User.IsDel;
                dbuser.UpdateTime   = DateTime.Now.ToTimeStamp();
                dbuser.UpdateUserId = dto.User.UpdateUserId;
                await _databaseFixture.Db.SysUser.UpdateAsync(dbuser);

                return(true);
            }
            catch (Exception e)
            {
                _logJobs.ExceptionLog(dto.User.UserId, e);
                return(false);
            }
        }
예제 #7
0
 public async Task <bool> UpdateAsync([FromBody] UserShowDto dto)
 {
     return(await _userService.UpdateAsync(dto));
 }