using Mws.Application.Permissions; using Mws.Domain.Roles; namespace Mws.Application.Roles; internal static class RolePermissionBuilder { public static List Build(List entries) { var byScreen = entries.Where(e => ScreenCatalog.Keys.Contains(e.Screen)).ToDictionary(e => e.Screen); return ScreenCatalog.Keys.Select(key => { byScreen.TryGetValue(key, out var entry); return new RolePermission { Screen = key, CanView = entry?.CanView ?? false, CanCreate = entry?.CanCreate ?? false, CanEdit = entry?.CanEdit ?? false, CanDelete = entry?.CanDelete ?? false, }; }).ToList(); } }