using mws.backend.dotnet.application.Permissions; using mws.backend.dotnet.domain.Roles; namespace mws.backend.dotnet.application.Permissions; 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(); } }