public async Task Init() { if (_initiated) { return; } _initiated = true; var configGroups = (_alfrescoConfig?.Groups != null ? JsonConvert.DeserializeObject <List <GroupModel> >(File.ReadAllText(_alfrescoConfig.Groups)) : new List <GroupModel>()).Select(x => x.Body).ToList(); var configUsers = _alfrescoConfig?.Users != null ? JsonConvert.DeserializeObject <List <UserARM> >(File.ReadAllText(_alfrescoConfig.Users)) : new List <UserARM>(); configUsers.Insert(0, SpisumAdmin); configUsers.Insert(0, EmailboxAdmin); configUsers.Insert(0, DataboxAdmin); configUsers.Insert(0, SpisumSuperuser); foreach (var user in configUsers) { await CheckCreateUser(user); } // add system user to all groups configGroups.Add(new GroupBodyCreate { Id = SpisumNames.Groups.RepositoryGroup }); configGroups.Add(new GroupBodyCreate { Id = SpisumNames.Groups.MailroomGroup }); foreach (var group in configGroups) { await _initialUser.CheckCreateGroupAndAddPerson(SpisumNames.SystemUsers.Spisum, group.Id); } // delete alfresco default users var deleteUsers = new[] { "abeecher", "mjackson" }; foreach (var user in deleteUsers) { try { var userInfo = await _alfrescoHttpClient.GetPerson(user); await _alfrescoHttpClient.DeletePerson(user); } catch { } } }