Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 1af8a62a

Přidáno uživatelem Dominik Chlouba před téměř 4 roky(ů)

Added application role and user seed, users list and create/update bug fixes

Zobrazit rozdíly:

src/Core/Application/Leuze.Core.Application.UI/Pages/Users/Components/UserAside.razor
56 56

  
57 57
                        @foreach (var user in Users)
58 58
                        {
59
                            <option value="@user.Id" selected="@(Senior == user.Id)">@user.Name</option>
59
                            @if (UserId != default(Guid) && user.Id == UserId) { }
60
                            else
61
                            {
62
                                <option value="@user.Id" selected="@(Senior == user.Id)">@user.Name</option>
63
                            }
60 64
                        }
61 65
                    </select>
62 66
                }
......
287 291
            Name = result.Result.User.Name;
288 292
            Email = result.Result.User.Email;
289 293
            Role = result.Result.User.Role.Id;
294
            Senior = result.Result.User.SeniorId ?? default(Guid);
290 295
            Loading = false;
291 296
        }
292 297
    }
src/Core/Domain/Leuze.Core.Domain/Domains/Users/DTOs/UserDetailDto.cs
6 6
    /// <summary>
7 7
    /// 
8 8
    /// </summary>
9
    public record UserDetailDto(Guid Id, string Name, string Email, bool IsAdUser, RoleItem Role);
9
    public record UserDetailDto(Guid Id, string Name, string Email, bool IsAdUser, Guid? SeniorId, RoleItem Role);
10 10
}
src/Core/Infrastructure/Leuze.Core.Infrastructure.Persistence/Repository/DomainUserRepository.cs
67 67
        /// <inheritdoc/>
68 68
        public async Task<UserDetailDto> GetDetailByIdAsync(Guid id)
69 69
            => await dbSet.Include(o => o.User).ThenInclude(o => o.Roles).Where(o => o.UserId == id)
70
                .Select(o => new UserDetailDto(o.UserId, o.Name.FullName, o.EmailAddress.Email, o.User.IsAdUser, o.User.Roles.Select(a => new RoleItem(a.Id, a.Name)).FirstOrDefault()))
70
                .Select(o => new UserDetailDto(o.UserId, o.Name.FullName, o.EmailAddress.Email, o.User.IsAdUser, o.SeniorUserId, o.User.Roles.Select(a => new RoleItem(a.Id, a.Name)).Single()))
71 71
                .SingleOrDefaultAsync();
72 72

  
73 73
        /// <inheritdoc/>
src/Core/Infrastructure/Leuze.Core.Infrastructure.Persistence/Seeds/ApplicationSeed.cs
24 24
        public static void Run(LeuzeDbContext context, UserManager<ApplicationUser> userManager, RoleManager<ApplicationRole> roleManager)
25 25
        {
26 26
            var permissions = context.Set<ApplicationPermission>().ToList();
27
            var role1 = context.Set<ApplicationRole>().Single(o => o.Id == CreateRole("Administrátor", false, roleManager, permissions).Id);
28
            var role2 = context.Set<ApplicationRole>().Single(o => o.Id == CreateRole("MA", false, roleManager, permissions).Id);
29
            var role3 = context.Set<ApplicationRole>().Single(o => o.Id == CreateRole("Uživatel", true, roleManager, permissions).Id);
27
            var role1 = CreateRole("Admin", false, roleManager, permissions);
28
            var role2 = CreateRole("TL", false, roleManager, permissions);
29
            var role3 = CreateRole("MA", true, roleManager, permissions);
30
            CreateUser("Testovací admin", "admin@test.cz", role1, context, userManager);
31
            CreateUser("Testovací TL", "tl@test.cz", role2, context, userManager);
32
            CreateUser("Testovací MA", "ma@test.cz", role3, context, userManager);
30 33
        }
31 34

  
32 35
        private static void CreateUser(string name, string email, ApplicationRole role, LeuzeDbContext context, UserManager<ApplicationUser> userManager)
......
34 37
            ApplicationUser user = new(email, email, false);
35 38
            userManager.CreateAsync(user).Wait();
36 39
            userManager.AddPasswordAsync(user, "Test123*").Wait();
40
            userManager.AddToRoleAsync(user, role.Name).Wait();
37 41
            user = context.Set<ApplicationUser>().Single(o => o.Id == user.Id);
38
            DomainUser domainUser = new(user, new("Testovací uživatel"), new("test@test.cz"), null!);
42
            DomainUser domainUser = new(user, new(name), new(email), null!);
39 43
            context.Add(domainUser);
40 44
            context.SaveChanges();
41 45
        }

Také k dispozici: Unified diff