/// <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); }
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"); }
public Guid Post([FromBody] MetaObjectDto metaObjectDto) { return(_lancetService.CreateMetaObject(metaObjectDto)); }