Exemple #1
0
        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);
        }
        public GroupSubjectType(UserMarkFacade userMarkFacade, SubjectFacade subjectFacade, UserFacade userFacade,
                                GroupFacade groupFacade)
        {
            Field(x => x.Id);
            Field <IntGraphType>(
                "orderNumber",
                resolve: context => context.Source.OrderNumber);
            Field <IntGraphType>(
                "dayOfWeek",
                resolve: context => context.Source.DayOfWeek);
            Field <ListGraphType <UserMarkType> >(
                "userMarks",
                resolve: context => userMarkFacade.GetByGroupSubjectId(context.Source.Id));

            Field <SubjectType>("subject",
                                resolve: context => subjectFacade.GetById(context.Source.SubjectId)
                                );

            Field <UserType>("teacher",
                             resolve: context => userFacade.GetById(context.Source.TeacherId)
                             );

            Field <GroupType>("group",
                              resolve: context => groupFacade.GetById(context.Source.GroupId)
                              );
        }
Exemple #3
0
 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)
         );
 }
Exemple #4
0
        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);
        }
Exemple #5
0
        private void AddUserMarkQueries(UserMarkFacade userMarkFacade)
        {
            Field <ListGraphType <UserMarkType> >(
                "allUserMarks",
                resolve: context => userMarkFacade.GetAll()
                );

            Field <UserMarkType>("userMark",
                                 arguments: new QueryArguments(new QueryArgument <IntGraphType> {
                Name = "id"
            }),
                                 resolve: context => {
                var id = context.GetArgument <int?>("id");

                return(id != null ? (userMarkFacade.GetById((int)id)) : null);
            }
                                 );

            Field <ListGraphType <UserMarkType> >("attendance",
                                                  arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > {
                Name = "groupSubjectId"
            },
                                                                                new QueryArgument <NonNullGraphType <DateTimeGraphType> > {
                Name = "date"
            }),
                                                  resolve: context => {
                var groupSubjectId = context.GetArgument <int>("groupSubjectId");
                var date           = context.GetArgument <DateTime>("date");
                var leftDate       = date.AddMinutes(-1);
                var rightDate      = date.AddMinutes(1);
                return(userMarkFacade.GetByGroupSubjectAndIssueDate(groupSubjectId, leftDate, rightDate));
            }
                                                  );

            Field <ListGraphType <UserMarkType> >("studentAttendance",
                                                  arguments: new QueryArguments(
                                                      new QueryArgument <NonNullGraphType <IntGraphType> > {
                Name = "groupSubjectId"
            },
                                                      new QueryArgument <NonNullGraphType <IntGraphType> > {
                Name = "studentId"
            }
                                                      ),
                                                  resolve: context => {
                var groupSubjectId = context.GetArgument <int>("groupSubjectId");
                var studentId      = context.GetArgument <int>("studentId");

                return(userMarkFacade.GetByGroupSubjectAndStudentId(groupSubjectId, studentId));
            }
                                                  );
        }
Exemple #6
0
        public MarkType(UserMarkFacade userMarkFacade)
        {
            Field(x => x.Id);
            Field <StringGraphType>("markValue",
                                    resolve: context => context.Source.MarkValue);
            Field <ListGraphType <UserMarkType> >(
                "userMarks",
                resolve: context => userMarkFacade.GetByMarkId(context.Source.Id));

            Field <UserMarkType>("userMark",
                                 arguments: new QueryArguments(new QueryArgument <IntGraphType> {
                Name = "id"
            }),
                                 resolve: context => userMarkFacade.GetById(context.GetArgument <int>("id")));
        }
Exemple #7
0
        private void AddUserMarkMutations(UserMarkFacade userMarkFacade)
        {
            Field <UserMarkType>("editUserMarkByUserList",
                                 arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ListGraphType <UserMarkInputType> > > {
                Name = "userMarks"
            }),
                                 resolve: context => {
                List <UserMark> marks = context.GetArgument <List <UserMark> >("userMarks");

                foreach (UserMark mark in marks)
                {
                    if (mark.IssueData != null)
                    {
                        DateTime leftDate  = mark.IssueData.Value.AddMinutes(-1);
                        DateTime rightDate = mark.IssueData.Value.AddMinutes(1);

                        UserMark old = userMarkFacade.GetByUserMarkInputType(mark, leftDate, rightDate);
                        if (old == null)
                        {
                            userMarkFacade.Add(mark);
                        }
                        else
                        {
                            if (old.MarkId != mark.MarkId)
                            {
                                old.MarkId = mark.MarkId;
                                userMarkFacade.Update(old);
                            }
                        }
                    }
                }

                return(null);
            }
                                 );
        }