Beispiel #1
0
        public GroupResponse Create(string name, string description)
        {
            var group = new Models.Group
            {
                Id          = Guid.NewGuid(),
                Name        = name,
                Description = description
            };

            var user              = _authorizedUserHelper.GetAuthorizedUser();
            var groupUser         = new GroupUser(user, group, Role.Admin);
            var documentGroupUser = new Documents.GroupUser(user.Id, group.Id);

            _groupUserRepository.Add(groupUser);
            _groupUserStore.AddToBus(documentGroupUser);

            _groupEventService.AddGroupCreatedEvent(group, _user);
            _groupEventService.AddUserAddedToGroupEvent(group, _user, _user);

            _mailService.SendMail(
                user.Email,
                "CallGate - New group created successfully",
                $"Congratz! You created a new group '{name}'."
                );

            return(_mapper.Map <GroupResponse>(group));
        }
Beispiel #2
0
 private void SeedGroupEvents(User author, Group[] groups)
 {
     foreach (var group in groups)
     {
         _groupEventService.AddGroupCreatedEvent(group, author);
     }
 }