public string CreateOrganization(NewOrganizationRequestDto dto) { if (dto.IsNotValidForExistingUsersOrganizationCreation) { return null; } var user = GetUser(dto.UserEmail); if (user == null) { return null; } if (IsUserDoesNotHaveSameOrganizaiton(user.IdStr, dto.OrganizationName)) { var org = MapOrganization(dto, user); var result = _orgRepo.Add(org); if (result.Ok) { CreateGroupWallsAndSetUsersRoles(org, user); return org.IdStr; } } return null; }
public string CreateOrganizationWithUser(NewOrganizationRequestDto dto) { if (dto.IsNotValid) { return null; } var user = GetOrCreateUser(dto.UserEmail, dto.UserFirstName, dto.UserLastName, dto.UserName, dto.Initial, dto.UserPassword); if (IsUserDoesNotHaveSameOrganizaiton(user.IdStr, dto.OrganizationName)) { var org = MapOrganization(dto, user); var result = _orgRepo.Add(org); if (result.Ok) { CreateGroupWallsAndSetUsersRoles(org, user); return org.IdStr; } } return null; }
private Organization MapOrganization(NewOrganizationRequestDto dto, User user) { var urlname = UpdateSlugIfNecessary(dto.OrganizationUrlName); return new Organization { Name = dto.OrganizationName, NameLowered = dto.OrganizationName.ToLowerInvariant(), NameUrl = urlname, CreatedBy = user.IdStr, UpdatedBy = user.IdStr, UserId = user.IdStr, Users = new List<UserSummary> { new UserSummary { UserId = user.IdStr, Initial = user.Initial, Name = user.Name } }, WallIds = new List<string>(), Groups = Consts.DefaultGroups, CustomerType = "free", MaxUserCount = 2 }; }