public override async void OnRefreshDataAsync() { base.OnRefreshDataAsync(); JarsUsersResponse jarsUserResponse = await ServiceClient.GetAsync(new FindJarsUsers()); defaultBindingSource.DataSource = jarsUserResponse.UserAccounts.ConvertAllTo <JarsUser>(); UpdateLinkedBindingSources(); FormEditState = FormEditStates.Browsing; }
public JarsUsersResponse Any(FindJarsUsers request) { IAuthRepository ssAuthRepo = ServiceStackHost.Instance.GetAuthRepository(); var _headerRepository = _DataRepositoryFactory.GetDataRepository <IGenericEntityRepositoryBase <JarsUserHeader, IDataContextNhJars> >(); //get all users in ss List <IUserAuth> ssUsers = ssAuthRepo.GetUserAuths(); //get all users in jars List <JarsUserHeader> jUsers = _headerRepository.GetAll().ToList(); ////create jars user for every missing auth user List <JarsUserHeader> newUsers = new List <JarsUserHeader>(); foreach (var ssUser in ssUsers) { var jUser = jUsers.Where(j => j.UserName == ssUser.UserName).FirstOrDefault(); if (jUser == null) { jUser = ssUser.ConvertTo <JarsUserHeader>(); jUser.Id = 0; jUser.IsActive = false; newUsers.Add(jUser); } } if (newUsers.Count > 0) { _headerRepository.CreateUpdateList(newUsers, CurrentSessionUsername); } JarsUsersResponse response = new JarsUsersResponse(); IList <JarsUser> dataBaseList = new List <JarsUser>(); if (request.FetchEagerly) { IJarsUserRepository repository = _DataRepositoryFactory.GetDataRepository <IJarsUserRepository>(); var plist = new List <Expression <Func <JarsUser, object> > > { //plist.Add(p => p.Roles); p => p.Settings }; if (request.IsActive.HasValue) { dataBaseList = repository.Where(a => a.IsActive == request.IsActive.Value, request.FetchEagerly, plist); } else { dataBaseList = repository.Where(g => g.Id != 0, request.FetchEagerly, plist); } } else { if (request.IsActive.HasValue) { dataBaseList = _headerRepository.Where(g => g.IsActive == request.IsActive.Value, false).ConvertAllTo <JarsUser>().ToList();; } else { dataBaseList = _headerRepository.Where(g => g.Id != 0, false).ConvertAllTo <JarsUser>().ToList();; } } ////add the api key if the current user is admin //IUserAuth usr = ssAuthRepo.GetUserAuthByUserName(CurrentSessionUsername); //if (usr != null && usr.Roles.Intersect(new[] { JarsRoles.Admin }).Any()) //{ // var apiRepo = (IManageApiKeys)HostContext.TryResolve<IAuthRepository>(); // foreach (var u in dataBaseList) // { // IUserAuth ua = ssUsers.Find(ssu => ssu.UserName == u.UserName); // if (ua != null && apiRepo != null) // { // var apiKeys = apiRepo.GetUserApiKeys(ua.RefIdStr); // u.ApiKey = apiKeys.Find(k => k.KeyType == "publishable" && k.Environment == "live").Id; // } // } //} response.UserAccounts = dataBaseList.ConvertAllTo <JarsUserDto>().ToList(); return(response); }