예제 #1
0
        public async Task <Guid> Register(AdditionRegisterInDto model)
        {
            var _      = model as AdditionRegisterInDto;
            var result = await _baseLogic.Of <User>().GetQueryable(x => x.Login == _.Login)
                         .AsNoTracking()
                         .FirstOrDefaultAsync();

            if (result != default)
            {
                throw new ArgumentException("Данный пользователь уже зарегистрирован в системе");
            }

            var user = new User
            {
                Login      = _.Login,
                LastName   = _.LastName,
                FirstName  = _.FirstName,
                MiddleName = _.MiddleName,
                Password   = HashPwd(_.Password),
                Audience   = PortalEnum.Ext
            };
            var role = await _baseLogic.Of <Role>().Base().FirstOrDefaultAsync(a => a.Value == model.RoleId);

            user.UserRoles.Add(new UserRole
            {
                RoleId = role.Id
            });
            return(await _baseLogic.Of <User>().Add(user));
        }
예제 #2
0
        public async Task <IActionResult> Register([FromBody] AdditionRegisterInDto model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                var _ = await _logic.Register(model);

                return(Ok(_));
            }
            catch (Exception e)
            {
                return(ExceptionResult(e));
            }
        }
예제 #3
0
        public async Task <bool> AddUser(AdditionRegisterInDto model)
        {
            var _      = model as AdditionRegisterInDto;
            var result = await _baseLogic.Of <Data.Context.User>().GetQueryable(x => x.Login == _.Login)
                         .AsNoTracking()
                         .FirstOrDefaultAsync();

            var role = await _baseLogic.Of <Role>().Base().FirstOrDefaultAsync(a => a.Value == model.RoleId);

            if (result != default)
            {
                return(false);
            }
            else
            {
                var user = new Data.Context.User
                {
                    Login        = _.Login,
                    Email        = _.Email,
                    LastName     = _.LastName,
                    FirstName    = _.FirstName,
                    MiddleName   = _.MiddleName,
                    Password     = HashPwd(_.Password),
                    Audience     = PortalEnum.Int,
                    ContractorId = _.ContractorId
                };

                user.UserRoles.Add(new UserRole
                {
                    RoleId = role.Id
                });
                await _baseLogic.Of <Data.Context.User>().Add(user);

                return(true);
            }
        }