public List <GroupFunctionViewModel> GetGroupFunctions() { var functions = new GetFunctionsQueryHandler(new DataBaseContext()).Handle(new GetFunctionsQuery { ForSpy = false }); var groups = new GetGroupsQueryHandler(new DataBaseContext()).Handle(new GetGroupsQuery()); var groupFunctions = new GroupFunctionsQueryHandler(new DataBaseContext()).Handle(new GroupFunctionsQuery()); var result = groups.Select(group => new GroupFunctionViewModel { GroupId = group.Id, GroupName = group.Name, Functions = functions.Select(function => new FunctionViewModel { Name = function.Name, FunctionName = function.FunctionName, FunctionId = function.FunctionId, Assigned = groupFunctions.Any( groupFunction => groupFunction.FunctionId == function.FunctionId && groupFunction.GroupId == group.Id), FunctionTypeName = function.FunctionTypeName, TypeName = function.TypeName }).ToList() }).ToList(); return(result); }
public GroupList GetGroups() { var groups = new GetGroupsQueryHandler(new DataBaseContext()).Handle(new GetGroupsQuery()); return(new GroupList { Groups = groups.Select(data => new Group { Id = data.Id, Name = data.Name }).ToList() }); }