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)); }
private void SeedGroupEvents(User author, Group[] groups) { foreach (var group in groups) { _groupEventService.AddGroupCreatedEvent(group, author); } }