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
     };
 }