private async Task <List <string> > GetUserNames() { var model = new List <string>(); var puckRole = await roleManager.FindByNameAsync(PuckRoles.Puck); var userCollection = repo.GetPuckUser().Where(x => x.Roles.Any(xx => xx.RoleId == puckRole.Id)).ToList(); model = userCollection.Select(x => x.UserName).ToList(); return(model); }
private async Task <List <PuckUserViewModel> > GetUsers() { var model = new List <PuckUserViewModel>(); var puckRole = await roleManager.FindByNameAsync(PuckRoles.Puck); var userCollection = repo.GetPuckUser().Where(x => x.Roles.Any(xx => xx.RoleId == puckRole.Id)).ToList(); foreach (PuckUser pu in userCollection) { var puvm = new PuckUserViewModel(); puvm.LastLoginDate = pu.PuckLastLoginDate; puvm.LastLoginDateString = "user has never logged in"; if (puvm.LastLoginDate.HasValue) { puvm.LastLoginDateString = puvm.LastLoginDate.Value.ToString("dd/MM/yyyy hh:mm"); } puvm.UserName = pu.UserName; puvm.Email = pu.Email; puvm.FirstName = pu.PuckFirstName; puvm.Surname = pu.PuckSurname; puvm.User = pu; puvm.Roles = (await userManager.GetRolesAsync(pu)).ToList(); if (pu.PuckStartNodeId != Guid.Empty) { puvm.StartNode = new List <PuckPicker> { new PuckPicker { Id = pu.PuckStartNodeId.Value } } } ; puvm.UserVariant = pu.PuckUserVariant; puvm.StartPath = "/"; if (pu.PuckStartNodeId != Guid.Empty) { var node = repo.GetPuckRevision().FirstOrDefault(x => x.Id == pu.PuckStartNodeId && x.Current); if (node != null) { puvm.StartPath = node.Path; } } model.Add(puvm); } return(model); }
private async Task <List <PuckUserViewModel> > GetUsers() { var model = new List <PuckUserViewModel>(); var puckRole = await roleManager.FindByNameAsync(PuckRoles.Puck); var userCollection = repo.GetPuckUser().Where(x => x.Roles.Any(xx => xx.RoleId == puckRole.Id)).ToList(); foreach (PuckUser pu in userCollection) { var puvm = new PuckUserViewModel(); puvm.LastLoginDate = pu.PuckLastLoginDate; puvm.LastLoginDateString = "user has never logged in"; if (puvm.LastLoginDate.HasValue) { puvm.LastLoginDateString = puvm.LastLoginDate.Value.ToString("dd/MM/yyyy hh:mm"); } puvm.UserName = pu.UserName; puvm.Email = pu.Email; puvm.FirstName = pu.PuckFirstName; puvm.Surname = pu.PuckSurname; puvm.User = pu; puvm.Roles = (await userManager.GetRolesAsync(pu)).ToList(); if (!string.IsNullOrEmpty(pu.PuckStartNodeIds)) { puvm.StartNodes = pu.PuckStartNodeIds.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(x => new PuckReference { Id = Guid.Parse(x) }).ToList(); } puvm.UserVariant = pu.PuckUserVariant; puvm.StartPaths = "/"; if (puvm.StartNodes != null && puvm.StartNodes.Any()) { Guid[] startIds = puvm.StartNodes.Select(x => x.Id).ToArray(); var nodes = repo.GetPuckRevision().Where(x => startIds.Contains(x.Id) && x.Current).ToList().GroupBy(x => x.Id); if (nodes.Any()) { puvm.StartPaths = string.Join(",", nodes.Select(x => x.First().Path)); } } model.Add(puvm); } return(model); }