Exemple #1
0
        internal static void ProjectUserResponseHandler(IRestResponse response)
        {
            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                ProjectUserResponse r = JsonConvert.DeserializeObject <ProjectUserResponse>(response.Content);
                if (r != null)
                {
                    Log.Info($"Success: {r.success}");
                    Log.Error($"Failures: {r.failure}");
                    foreach (ProjectUserFailureItem f in r.failure_items)
                    {
                        Log.Error($"Errors for user with email {f.email}:");
                        foreach (var e in f.errors)
                        {
                            Log.Error($"code:{e.code}  message:{e.message}");
                        }
                    }

                    foreach (ProjectUserSuccessItem si in r.success_items)
                    {
                        if (si.status == Status.active)
                        {
                            DataController.AllProjects.FirstOrDefault(p => p.id == si.project_id).status = Status.active;
                        }
                    }
                }
            }
            else
            {
                LogResponse(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);
        }
 internal static bool ActivateProjectResponseHandler(IRestResponse response, string id, int rowIndex = -1)
 {
     LogResponse(response);
     if (response.StatusCode == System.Net.HttpStatusCode.OK)
     {
         ProjectUserResponse r = JsonConvert.DeserializeObject <ProjectUserResponse>(response.Content);
         if (r != null)
         {
             if (r.failure_items.Count() > 0)
             {
                 Log.Error($"- roject activation failed.");
                 return(false);
             }
         }
         // Update data in the data controller
         DataController.AllProjects.Find(x => x.id == r.success_items[0].project_id).status = Status.active;
         Log.Info($"- project activation succeed.");
         return(true);
     }
     Log.Error($"- project activation failed. Code: {response.StatusCode}\t message: {response.ErrorMessage}");
     return(false);
 }