public GroupType(NotificationFacade notificationFacade, UserGroupFacade userGroupFacade, GroupSubjectFacade groupSubjectFacade) { Field(x => x.Id); Field <StringGraphType>("name", resolve: context => context.Source.Name); Field <ListGraphType <NotificationType> >( "notifications", resolve: context => notificationFacade.GetByGroupId(context.Source.Id)); Field <ListGraphType <UserGroupType> >( "userGroups", resolve: context => userGroupFacade.GetByGroupId(context.Source.Id)); Field <ListGraphType <GroupSubjectType> >( "groupSubjects", resolve: context => groupSubjectFacade.GetByGroupId(context.Source.Id)); Field <NotificationType>("notification", arguments: new QueryArguments(new QueryArgument <IntGraphType> { Name = "id" }), resolve: context => notificationFacade.GetById(context.GetArgument <int>("id"))); Field <UserGroupType>("userGroup", arguments: new QueryArguments(new QueryArgument <IntGraphType> { Name = "id" }), resolve: context => userGroupFacade.GetById(context.GetArgument <int>("id"))); Field <GroupSubjectType>("groupSubject", arguments: new QueryArguments(new QueryArgument <IntGraphType> { Name = "id" }), resolve: context => groupSubjectFacade.GetById(context.GetArgument <int>("id"))); }
public Mutations(MarkFacade markFacade, UserFacade userFacade, GroupFacade groupFacade, GroupSubjectFacade groupSubjectFacade, NotificationFacade notificationFacade, NotificationStudentFacade notificationStudentFacade, SubjectFacade subjectFacade, UserGroupFacade userGroupFacade, UserMarkFacade userMarkFacade, UserRoleFacade userRoleFacade) { AddMarkMutations(markFacade); AddUserMutations(userFacade, userRoleFacade, userGroupFacade, groupFacade); AddGroupMutations(groupFacade); AddGroupSubjectMutations(groupSubjectFacade, userFacade); AddNotificationMutations(notificationFacade, groupFacade, notificationStudentFacade); AddNotificationStudentMutations(notificationStudentFacade); AddSubjectMutations(subjectFacade); AddUserGroupMutations(userGroupFacade); AddUserMarkMutations(userMarkFacade); AddUserRoleMutations(userRoleFacade); }
private void AddGroupSubjectMutations(GroupSubjectFacade groupSubjectFacade, UserFacade userFacade) { Field <GroupSubjectType>("addGroupSubject", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "userId" }, new QueryArgument <NonNullGraphType <GroupSubjectInputType> > { Name = "groupSubject" }), resolve: context => { var group = context.GetArgument <GroupSubject>("groupSubject"); return(groupSubjectFacade.Add(group)); } ); Field <GroupSubjectType>("deleteGroupSubject", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "groupSubjectId" }), resolve: context => { var groupSubjectId = context.GetArgument <int>("groupSubjectId"); return(groupSubjectFacade.Delete(groupSubjectFacade.GetById(groupSubjectId))); } ); }
public UserType(UserGroupFacade userGroupFacade, UserMarkFacade userMarkFacade, UserRoleFacade userRoleFacade, GroupFacade groupFacade, GroupSubjectFacade groupSubjectFacade) { Field(x => x.Id); Field <StringGraphType>("login", resolve: context => context.Source.Login); Field <StringGraphType>("password", resolve: context => context.Source.Password); Field <StringGraphType>("firstName", resolve: context => context.Source.FirstName); Field <StringGraphType>("lastName", resolve: context => context.Source.LastName); Field <StringGraphType>("secondName", resolve: context => context.Source.SecondName); Field <ListGraphType <GroupType> >("group", resolve: context => { return(userGroupFacade.GetByUserId(context.Source.Id, groupFacade)); } ); Field <ListGraphType <UserMarkType> >("userMarks", resolve: context => userMarkFacade.GetByUserId(context.Source.Id) ); Field <UserMarkType>("userMark", arguments: new QueryArguments(new QueryArgument <IntGraphType> { Name = "id" }), resolve: context => userMarkFacade.GetById(context.GetArgument <int>("id"))); Field <UserRoleType>( "userRole", resolve: context => userRoleFacade.GetById(context.Source.UserRoleId) ); }
public Queries(MarkFacade markFacade, UserFacade userFacade, GroupFacade groupFacade, GroupSubjectFacade groupSubjectFacade, NotificationFacade notificationFacade, NotificationStudentFacade notificationStudentFacade, SubjectFacade subjectFacade, UserGroupFacade userGroupFacade, UserMarkFacade userMarkFacade, UserRoleFacade userRoleFacade) { AddMarkQueries(markFacade); AddUserQueries(userFacade, userRoleFacade); AddGroupQueries(groupFacade); AddGroupSubjectQueries(groupSubjectFacade, subjectFacade, userFacade); AddNotificationQueries(notificationFacade); AddNotificationStudentQueries(notificationStudentFacade); AddSubjectQueries(subjectFacade); AddUserGroupQueries(userGroupFacade); AddUserMarkQueries(userMarkFacade); AddUserRoleQueries(userRoleFacade); AddAuthorizeQueries(userFacade, userRoleFacade); }
public SubjectType(GroupSubjectFacade groupSubjectFacade) { Field(x => x.Id); Field <StringGraphType>("subjectName" , resolve: context => context.Source.SubjectName); Field <ListGraphType <GroupSubjectType> >("groupSubjects", resolve: context => groupSubjectFacade.GetBySubjectId(context.Source.Id) ); Field <GroupSubjectType>("groupSubject", arguments: new QueryArguments(new QueryArgument <IntGraphType> { Name = "id" }), resolve: context => groupSubjectFacade.GetById(context.GetArgument <int>("id"))); }
public UserMarkType(GroupSubjectFacade groupSubjectFacade, UserFacade userFacade, MarkFacade markFacade) { Field(x => x.Id); Field <DateTimeGraphType>("issueData", resolve: context => context.Source.IssueData ); Field <GroupSubjectType>("groupSubject", resolve: context => groupSubjectFacade.GetById(context.Source.GroupSubjectId) ); Field <UserType>("user", resolve: context => userFacade.GetById(context.Source.StudentId) ); Field <MarkType>("mark", resolve: context => markFacade.GetById(context.Source.MarkId) ); Field <StringGraphType>("stringData", resolve: context => context.Source.IssueData.ToString() ); }
private void AddGroupSubjectQueries(GroupSubjectFacade groupSubjectFacade, SubjectFacade subjectFacade, UserFacade userFacade) { Field <ListGraphType <GroupSubjectType> >( "allGroupSubjects", resolve: context => groupSubjectFacade.GetAll() ); Field <ListGraphType <GroupSubjectType> >("subjectListOnWeek", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "groupId" }), resolve: context => { var groupId = context.GetArgument <int>("groupId"); IEnumerable <GroupSubject> groupSubjects = groupSubjectFacade.GetByGroupId(groupId); foreach (var groupSubject in groupSubjects) { groupSubject.Subject = subjectFacade.GetById(groupSubject.SubjectId); groupSubject.Teacher = userFacade.GetById(groupSubject.TeacherId); } return(groupSubjects); } ); Field <ListGraphType <GroupSubjectType> >("subjectsForTeacher", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "teacherId" }), resolve: context => { var teacherId = context.GetArgument <int>("teacherId"); IEnumerable <GroupSubject> groupSubjects = groupSubjectFacade.GetScheduleByTeacherId(teacherId); foreach (var groupSubject in groupSubjects) { groupSubject.Subject = subjectFacade.GetById(groupSubject.SubjectId); groupSubject.Teacher = userFacade.GetById(groupSubject.TeacherId); } return(groupSubjects); } ); Field <ListGraphType <GroupSubjectType> >("teachersDisabled", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "dayOfWeek" }, new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "orderNumber" }, new QueryArgument <ListGraphType <IntGraphType> > { Name = "teachers" }), resolve: context => { var teachers = context.GetArgument <List <int> >("teachers"); var dayOfWeek = context.GetArgument <int>("dayOfWeek"); var orderNumber = context.GetArgument <int>("orderNumber"); List <GroupSubject> groupSubjects = new List <GroupSubject>(); foreach (var teacher in teachers) { GroupSubject groupSubject = groupSubjectFacade.GetByDayAndOrderAndTeacher(dayOfWeek, orderNumber, teacher); if (groupSubject != null) { groupSubjects.Add(groupSubject); } } return(groupSubjects); } ); Field <ListGraphType <GroupSubjectType> >("subjectsOnDay", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "groupId" }, new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "dayOfWeek" }), resolve: context => { var groupId = context.GetArgument <int>("groupId"); var dayOfWeek = context.GetArgument <int>("dayOfWeek"); return(groupSubjectFacade.GetByDayAndGroup(groupId, dayOfWeek)); } ); Field <GroupSubjectType>("groupSubject", arguments: new QueryArguments(new QueryArgument <IntGraphType> { Name = "id" }), resolve: context => { var id = context.GetArgument <int?>("id"); return(id != null ? (groupSubjectFacade.GetById((int)id)) : null); } ); }