public async Task <IActionResult> Put(int id, [FromBody] UserAddDto updatedUser)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                _logger.LogInformation("UsersController:: PUT called");

                Request.Headers.TryGetValue("ApiKey", out var apikey);

                var user = await _unitOfWork.Users.GetAsync(id);

                if (user == null)
                {
                    return(BadRequest(new { message = "User not found. Update failed." }));
                }

                //can be improved by adding change tracking in unit of
                //work but since this has few properties, this will surfice without any performance knock
                user.Email           = updatedUser.Email ?? user.Email;
                user.Firstname       = updatedUser.Firstname ?? user.Firstname;
                user.Lastname        = updatedUser.Lastname ?? user.Lastname;
                user.Password        = updatedUser.Password ?? user.Password;
                user.Role            = updatedUser.Role ?? user.Role;
                user.ServiceProvider = apikey;

                await _unitOfWork.CompleteAsync();

                return(Ok(new { message = "User updated successfully..." }));
            }
            catch (Exception ex)
            {
                _logger.LogError("UsersController:: PUT error", ex.StackTrace);
                return(StatusCode(StatusCodes.Status500InternalServerError, "Server error"));
            }
        }
示例#2
0
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public string Add(UserAddDto user)
        {
            using (var scope = _dbContextScopeFactory.Create())
            {
                var entity = _mapper.Map <UserAddDto, UserEntity>(user);
                entity.Id = BaseIdGenerator.Instance.GetId();
                if (entity.UserRoles.AnyOne())
                {
                    entity.UserRoles.ForEach(r =>
                    {
                        r.UserId = entity.Id;
                        r.Id     = BaseIdGenerator.Instance.GetId();
                    });
                }
                entity.Password = entity.Password.ToMd5();
                var db    = scope.DbContexts.Get <JuCheapContext>();
                var dbSet = db.Set <UserEntity>();
                dbSet.Add(entity);

                return(scope.SaveChanges() > 0 ? entity.Id : string.Empty);
            }
        }
示例#3
0
        public async Task <bool> Register(UserAddDto model)
        {
            try
            {
                User entity = new User
                {
                    UserName     = model.Name,
                    Email        = model.Email,
                    PasswordHash = model.Password,
                    UserType     = model.UserType,
                    EducationId  = model.EducationId,
                    ContactId    = model.ContactId
                };

                _context.Users.Add(entity);
                await _context.SaveChangesAsync();

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
 public IActionResult AdminChangeUser(int id, [FromBody] UserAddDto dto, [FromServices] IUserEditAdminCommand command)
 {
     dto.Id = id;
     executor.ExecuteCommand(command, dto);
     return(NoContent());
 }
 public IActionResult Post([FromBody] UserAddDto dto, [FromServices] IUserAddCommand command)
 {
     executor.ExecuteCommand(command, dto);
     return(StatusCode(StatusCodes.Status201Created));
 }
示例#6
0
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="vUser">用户信息</param>
        /// <returns></returns>
        public string AddUser(UserAddDto vUser)
        {
            vUser = StringManage.EmptyStringSetNull(vUser);
            if (vUser.Password != null && !vUser.IsNoEncryptPassword)
            {
                vUser.Password = StringManage.EncryptPassword(vUser.Password);
            }
            if (vUser.UserType == 1)
            {
                vUser.OrganizationIds = new List <UserPositionDto>();
                vUser.OrganizationIds.Add(new UserPositionDto
                {
                    OrganizationId   = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构", vUser.SystemCode, "APP"),
                    OrganizationName = "APP"
                });
            }
            else if (vUser.UserType == 2 || vUser.UserType == 4)
            {
                vUser.OrganizationIds = new List <UserPositionDto>();
                vUser.OrganizationIds.Add(new UserPositionDto
                {
                    OrganizationId   = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构", vUser.SystemCode, "微信"),
                    OrganizationName = "微信"
                });
            }
            else if (vUser.UserType == 3)
            {
                vUser.OrganizationIds = new List <UserPositionDto>();
                vUser.OrganizationIds.Add(new UserPositionDto
                {
                    OrganizationId   = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构", vUser.SystemCode, "QQ"),
                    OrganizationName = "QQ"
                });
            }

            vUser.OrganizationIds = CompleteUserPositionDto(vUser.OrganizationIds);
            TUser user = AutoMapperExtensions.MapTo <TUser>(vUser);
            Dictionary <string, object> keyValuePairs = new Dictionary <string, object>();

            if (vUser.ExtendAttribution != null)
            {
                foreach (KeyValueItem keyValue in vUser.ExtendAttribution)
                {
                    keyValuePairs.Add(keyValue.Key, keyValue.Value);
                }
            }
            user.ExtendAttribution = SerializationUtility.ObjectToJson(keyValuePairs);
            if (string.IsNullOrEmpty(user.Id))
            {
                user.Id = IdentityHelper.NewSequentialGuid().ToString("N");
            }
            if (string.IsNullOrEmpty(user.SystemId) && !string.IsNullOrEmpty(user.SystemCode))
            {
                user.SystemId = IocUnity.Get <RepositorySystem>().GetId(user.SystemCode);
            }
            if (!string.IsNullOrEmpty(user.SystemId) && string.IsNullOrEmpty(user.SystemCode))
            {
                user.SystemCode = IocUnity.Get <RepositorySystem>().GetCode(user.SystemId);
            }
            IList <TRelationUserOrganization> relationUserPositions = new List <TRelationUserOrganization>();

            if (vUser.OrganizationIds != null)
            {
                foreach (UserPositionDto od in vUser.OrganizationIds)
                {
                    TRelationUserOrganization relationUserOrganization = AutoMapperExtensions.MapTo <TRelationUserOrganization>(od);
                    relationUserOrganization.Id     = IdentityHelper.NewSequentialGuid().ToString("N");
                    relationUserOrganization.UserId = user.Id;
                    if (!string.IsNullOrEmpty(relationUserOrganization.OrganizationId) && !string.IsNullOrEmpty(relationUserOrganization.DepartmentId) && !string.IsNullOrEmpty(relationUserOrganization.PositionId))
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.PositionId;
                    }
                    else if (!string.IsNullOrEmpty(relationUserOrganization.OrganizationId) && !string.IsNullOrEmpty(relationUserOrganization.DepartmentId) && string.IsNullOrEmpty(relationUserOrganization.PositionId))
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.DepartmentId;
                    }
                    else if (!string.IsNullOrEmpty(relationUserOrganization.OrganizationId) && string.IsNullOrEmpty(relationUserOrganization.DepartmentId) && string.IsNullOrEmpty(relationUserOrganization.PositionId))
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.OrganizationId;
                    }
                    else if (!string.IsNullOrEmpty(relationUserOrganization.OrganizationId) && string.IsNullOrEmpty(relationUserOrganization.DepartmentId) && !string.IsNullOrEmpty(relationUserOrganization.PositionId))
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.PositionId;
                    }
                    relationUserPositions.Add(relationUserOrganization);
                }
            }
            IocUnity.Get <RepositoryUser>().DapperRepository.ExcuteTransaction(tranc =>
            {
                IocUnity.Get <RepositoryUser>().Insert(user);
                IocUnity.Get <RepositoryRelationUserOrganization>().Insert(relationUserPositions);
            });
            return(user.Id);
        }
示例#7
0
        public async Task <ActionResult <ResultData> > AddUser([FromBody] UserAddDto userDto)
        {
            if (userDto.UserName == null || userDto.Password == null)
            {
                return(BadRequest());
            }
            {
                var user = await _userManager.FindByNameAsync(userDto.UserName);

                if (user != null)
                {
                    return(new ResultData(ReturnCode.Error, -1, "用户已存在", null));
                }
                string today       = DateTime.Now.ToString("yyyyMMdd");
                var    lastTeacher = _teacherRepository
                                     .LoadEntities(o => o.TeacherId.ToString().StartsWith(today))
                                     .LastOrDefault();
                int teacherId;

                if (lastTeacher == null)
                {
                    teacherId = Convert.ToInt32(today + "00");
                }
                else
                {
                    string lastTwoChar = lastTeacher.TeacherId.ToString().Substring(lastTeacher.TeacherId.ToString().Length - 2, 2);
                    int    index       = Convert.ToInt32(lastTwoChar.StartsWith("0") ? lastTwoChar.Substring(1, 1) : lastTwoChar);
                    if (index < 99)
                    {
                        index++;
                        if (index.ToString().Length == 1)
                        {
                            teacherId = Convert.ToInt32(today + "0" + index.ToString());
                        }
                        else
                        {
                            teacherId = Convert.ToInt32(today + index.ToString());
                        }
                    }
                    else
                    {
                        return(new ResultData(ReturnCode.Error, -1, "每天只能添加100个用户", null));
                    }
                }
                user = new ApplicationIdentityUser
                {
                    UserName = userDto.UserName,
                    Teacher  = new Teacher
                    {
                        TeacherId = teacherId,
                    }
                };
                var result = await _userManager.CreateAsync(user, userDto.Password);

                if (result.Succeeded)
                {
                    return(new ResultData(ReturnCode.Succeed, -1, "添加成功", teacherId));
                }
                return(new ResultData(ReturnCode.Error, -1, "添加失败", null));
            }
        }
示例#8
0
 public void Update(UserAddDto dto)
 {
     throw new NotImplementedException();
 }
        public async Task <IActionResult> Post(UserAddDto users)
        {
            await _userServices.Add(_mapper.Map <Users>(users));

            return(NoContent());
        }
示例#10
0
 public static UserEntity EntityMap(this UserAddDto model)
 {
     return(Mapper.Map <UserEntity>(model));
 }
 /// <summary>
 /// Add a new user and return it.
 /// </summary>
 /// <param name="userDto"></param>
 /// <returns></returns>
 public UserGetDto AddUser(UserAddDto userDto)
 {
     return(_userRepo
            .AddUser(userDto.ToEntity())
            .ToDto());
 }
示例#12
0
 /// <inheritdoc/>
 public async Task <int> CreateAsync(UserAddDto model, CancellationToken token = default)
 => await PostAsync <UserAddDto, int>(UrlConstants.Users, model, token);
 /// <summary>
 ///
 /// </summary>
 /// <param name="model"></param>
 public CreateUserCommand(UserAddDto model)
 {
     Model = model;
 }
 public async Task <ActionResult <UserDto> > CreateUser([FromBody] UserAddDto returnVisit, [FromHeader(Name = "Accept")] string mediaType)
 {
     throw new NotImplementedException();
 }
 public ActionResult <UserGetDto> Register(UserAddDto user)
 {
     return(Ok(_userManager.AddUser(user)));
 }
示例#16
0
        public ActionResult Index()
        {
            try
            {
                int type = 1;
                if (Session["CourseType"] != null && Session["CourseType"].ToString() != "")
                {
                    type = int.Parse(Session["CourseType"].ToString());
                }
                logger.Info($"type={type}");
                var code   = HttpContext.Request.QueryString["code"];
                var openId = Session["OpenId"].ToString();
                logger.Info($"openId={openId}");
                //没有授权,没有获取
                if (string.IsNullOrEmpty(openId) && string.IsNullOrEmpty(code))
                {
                    return(Redirect("/Authorize/Index?type=" + type));
                }
                //有code,没有openid
                if (string.IsNullOrEmpty(openId) && !string.IsNullOrEmpty(code))
                {
                    //有了code之后,判断如果授权之后,获取用户信息
                    var content    = oauth.GetUserInfo(AppId, Appsecret, code);
                    var wxUserInfo = JsonConvert.DeserializeObject <WxUserInfo>(content);
                    Session["OpenId"] = wxUserInfo.openid;
                    //判断该微信号有没有注册过
                    UserAddDto user = new UserAddDto
                    {
                        AccountNumber    = wxUserInfo.openid,
                        HeadPortraitSrc  = wxUserInfo.headimgurl,
                        RegisterDataTime = DateTime.Now,
                        UserName         = wxUserInfo.nickname,
                        WxAddress        = wxUserInfo.country + "/" + wxUserInfo.province + "/" + wxUserInfo.city,
                        Sex = wxUserInfo.sex == "1"
                    };
                    logger.Info("添加用户信息," + content);
                    UserService.AddNew(user);
                }

                //获取轮播图
                var listShouYeLunBo = IdNamesService.GetByTypeName("首页轮播图");
                ViewBag.ShouYeLunBo = listShouYeLunBo;

                //获取公告
                var listGongGao = IdNamesService.GetByTypeName("首页公告");
                ViewBag.ShouYeGongGao = listGongGao;

                //首页分类
                var model          = IdNamesService.GetById(type);
                var listCourseType = IdNamesService.GetByTypeName(model.Name);
                ViewBag.ShouYeCourseType = listCourseType;
                ViewBag.CourseTypeId     = type;

                //var listVideoList = VideoService.GetAll().Where().Take(10).ToList();
                //ViewBag.ShouYeVideo = listVideoList;
                return(View());
            }
            catch (Exception ex)
            {
                logger.Error("主页加载错误", ex);
                return(Content(ex.Message));
            }
        }
 public async Task <IActionResult> Create(
     [FromBody] UserAddDto model,
     CancellationToken token)
 => Ok(await _mediator.Send(new CreateUserCommand(model), token));
示例#18
0
 public async Task <CommonResultDto <UserViewDto> > Register([FromBody] UserAddDto model)
 {
     return(await _userService.Create(model));
 }