コード例 #1
0
        /// <summary>
        /// Создание мета-объекта
        /// </summary>
        /// <param name="metaObjectDto"></param>
        /// <returns></returns>
        public Guid CreateMetaObject(MetaObjectDto metaObjectDto)
        {
            var metaObject = _mapper.Map <MetaObject>(metaObjectDto);

            metaObject.Id         = Guid.NewGuid();
            metaObject.CreateDate = DateTime.UtcNow;

            if (_unitOfWork.MetaObjectRepository.Add(metaObject))
            {
                _unitOfWork.Save();
                return(metaObject.Id);
            }
            return(Guid.Empty);
        }
コード例 #2
0
        public User CreateUser(UserDto userDto)
        {
            if (userDto == null)
            {
                throw new AppException("Wrong user data");
            }

            var user = Mapper.Map <User>(userDto);

            user.Id = Guid.NewGuid();
            // validation
            if (string.IsNullOrWhiteSpace(userDto.Password))
            {
                throw new AppException("Password is required");
            }

            if (_unitOfWork.UserRepository.Get(x => x.Username == user.Username).Count() > 0)
            {
                throw new AppException("Username \"" + user.Username + "\" is already taken");
            }

            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(userDto.Password, out passwordHash, out passwordSalt);

            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;

            _unitOfWork.UserRepository.Add(user);
            _unitOfWork.Save();

            var account = new MetaObjectDto()
            {
                Name       = user.Username,
                Title      = String.Format("{0} {1}", user.FirstName, user.LastName),
                MetaTypeId = Types.Account.Id
            };
            var result = CreateMetaObject(account);

            if (result != Guid.Empty)
            {
                return(user);
            }
            throw new AppException("Account creating has been falied");
        }
コード例 #3
0
 public Guid Post([FromBody] MetaObjectDto metaObjectDto)
 {
     return(_lancetService.CreateMetaObject(metaObjectDto));
 }