示例#1
0
 internal Space(SpaceCreate createData, User user)
 {
     UserId       = user.Id;
     Name         = createData.Name;
     Description  = createData.Description;
     CreationDate = DateTime.UtcNow;
     IsDefault    = createData.IsDefault;
 }
示例#2
0
        public async Task <Space> Create(SpaceCreate data, User user)
        {
            // Check if name is available.
            Space?existing = await repo.FindByName(data.Name);

            if (existing != null)
            {
                throw new SpaceNameAlreadyInUseException($"{data.Name} is unavailable.");
            }

            Space s = factory.Create(data, user);

            await repo.Add(s);

            await bus.Dispatch(new SpaceCreateEvent(s));

            return(s);
        }
示例#3
0
 public Space Create(SpaceCreate createData, User user) => new Space(createData, user);