private void AddUsers(List <ProjectUser> _projectUsers)
        {
            if (_projectUsers == null || _projectUsers.Count < 1)
            {
                return;
            }

            HqUser hqAdmin = new HqUser();

            if (!CheckAdminEmail(_options.HqAdmin, out hqAdmin))
            {
                return;
            }

            Log.Info($"");
            Log.Info($"Start adding users to projects");
            var projectNames = _projectUsers.Select(u => u.project_name).Distinct();

            foreach (string name in projectNames)
            {
                Log.Info($"- add users to project {name}");
                var users = _projectUsers.Where(u => u.project_name.Equals(name));
                if (users == null || users.Any() == false)
                {
                    Log.Warn(
                        $"- no valid users found for project {name} - skipping this project and continue with next");
                    continue;
                }

                var project = DataController.AllProjects.FirstOrDefault(p => p.name != null && p.name.Equals(name));

                if (users.Count() < 50)
                {
                    IRestResponse response = _projectsApi.PostUsersImport(project.id, hqAdmin.uid, users.ToList());
                    ProjectUserResponseHandler(response);
                }
                else if (users.Count() >= 50)
                {
                    List <IRestResponse> responses           = new List <IRestResponse>();
                    IEnumerable <List <ProjectUser> > chunks = Util.SplitList(users.ToList());
                    foreach (List <ProjectUser> list in chunks)
                    {
                        IRestResponse response = _projectsApi.PostUsersImport(project.id, hqAdmin.uid, list);
                        ProjectUserResponseHandler(response);
                    }
                }
            }
        }
        private bool ActivateProject(string newProjId, HqUser admin, List <string> roleIds = null,
                                     string accountId = null)
        {
            Log.Info("");
            Log.Info("Project activation process started.");

            List <ProjectUser> users = new List <ProjectUser>();
            ProjectUser        user  = new ProjectUser();

            user.services.document_management = new DocumentManagement();
            user.services.document_management.access_level = AccessLevel.admin;

            user.services.project_administration = new ProjectAdministration();
            user.services.project_administration.access_level = AccessLevel.admin;

            user.industry_roles = roleIds;
            user.company_id     = admin.company_id;
            user.email          = admin.email;

            users.Add(user);
            IRestResponse res = _projectApi.PostUsersImport(newProjId, admin.uid, users, accountId);

            if (res.StatusCode == System.Net.HttpStatusCode.OK)
            {
                ProjectUserResponse r = JsonConvert.DeserializeObject <ProjectUserResponse>(res.Content);
                if (r != null)
                {
                    if (r.failure_items.Count() > 0)
                    {
                        Log.Error($"- project activation failed.");
                        foreach (var item in r.failure_items)
                        {
                            foreach (var error in item.errors)
                            {
                                Log.Error("\t" + error.message);
                            }
                        }
                        return(false);
                    }
                }

                // If the function is not used for the hub 2 hub copy
                if (accountId == null)
                {
                    DataController.AllProjects.Find(x => x.id == newProjId).status = Status.active;
                }

                Log.Info($"- project activation succeed.");
                return(true);
            }

            Log.Error($"- project activation failed. Code: {res.StatusCode}\t message: {res.ErrorMessage}");
            return(false);
        }