Exemplo n.º 1
0
        protected override SirenEntityBuilder AddCollectionActions(
            SirenEntityBuilder entity)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && (c.Value.Equals(Roles.Admin) || c.Value.Equals(Roles.Teacher)))
            {
                entity
                .WithAction(new ActionBuilder()
                            .WithName("add-student-to-class")
                            .WithTitle("Add Student To Class")
                            .WithMethod("POST")
                            .WithHref(Url.AbsoluteRouteUrl(
                                          Routes.ClassParticipantAdd,
                                          new { id = Identifier })
                                      )
                            .WithType("application/json")
                            .WithField(new FieldBuilder()
                                       .WithTitle("Number")
                                       .WithName("number")
                                       .WithType("number")));
            }

            return(entity);
        }
Exemplo n.º 2
0
        /*
         |-----------------------------------------------------------------------
         | Collection
         |-----------------------------------------------------------------------
         */

        protected override SirenEntityBuilder AddCollectionActions(SirenEntityBuilder entity)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && c.Value.Equals(Roles.Admin))
            {
                entity
                .WithAction(new ActionBuilder()
                            .WithName("add-course")
                            .WithTitle("Add Course")
                            .WithMethod("POST")
                            .WithHref(UrlTo(Routes.CourseCreate))
                            .WithType("application/json")
                            .WithField(new FieldBuilder()
                                       .WithTitle("Name")
                                       .WithName("name")
                                       .WithType("text"))
                            .WithField(new FieldBuilder()
                                       .WithTitle("Acronym")
                                       .WithName("acronym")
                                       .WithType("text"))
                            .WithField(new FieldBuilder()
                                       .WithTitle("Coordinator Number")
                                       .WithName("coordinatorId")
                                       .WithType("number")));
            }

            return(entity);
        }
Exemplo n.º 3
0
        protected override SirenEntityBuilder AddCollectionActions(SirenEntityBuilder entity)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && (c.Value.Equals(Roles.Admin) || c.Value.Equals(Roles.Teacher)))
            {
                entity
                .WithAction(new ActionBuilder()
                            .WithName("add-group-to-class")
                            .WithTitle("Add Group to Class")
                            .WithMethod("POST")
                            .WithHref(UrlTo(Routes.GroupCreate))
                            .WithType("application/json")
                            .WithField(new FieldBuilder()
                                       .WithName("ClassId")
                                       .WithType("hidden")
                                       .WithValue(Identifier.ToString()))
                            .WithField(new FieldBuilder()
                                       .WithTitle("Number")
                                       .WithName("number")
                                       .WithType("number"))
                            );
            }

            return(entity);
        }
Exemplo n.º 4
0
        /*
         |-----------------------------------------------------------------------
         | Collection
         |-----------------------------------------------------------------------
         */

        protected override SirenEntityBuilder AddCollectionActions(
            SirenEntityBuilder entity)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && c.Value.Equals(Roles.Admin))
            {
                entity
                .WithAction(new ActionBuilder()
                            .WithName("add-student")
                            .WithTitle("Add Student")
                            .WithMethod("POST")
                            .WithHref(UrlTo(Routes.StudentCreate))
                            .WithType("application/json")
                            .WithField(new FieldBuilder()
                                       .WithTitle("Number")
                                       .WithName("number")
                                       .WithType("number"))
                            .WithField(new FieldBuilder()
                                       .WithTitle("Name")
                                       .WithName("name")
                                       .WithType("text"))
                            .WithField(new FieldBuilder()
                                       .WithTitle("E-mail")
                                       .WithName("email")
                                       .WithType("email"))
                            .WithField(new FieldBuilder()
                                       .WithTitle("Password")
                                       .WithName("password")
                                       .WithType("password")));
            }

            return(entity);
        }
Exemplo n.º 5
0
        /*
         |-----------------------------------------------------------------------
         | Entity
         |-----------------------------------------------------------------------
         */

        protected override SirenEntityBuilder AddEntityActions(SirenEntityBuilder entity, Group item)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && (c.Value.Equals(Roles.Admin) || c.Value.Equals(Roles.Teacher)))
            {
                entity.WithAction(new ActionBuilder()
                                  .WithName("delete-group")
                                  .WithTitle("Delete Group")
                                  .WithMethod("Delete")
                                  .WithHref(
                                      Url.AbsoluteRouteUrl(
                                          Routes.GroupDelete,
                                          new { id = item.Id }
                                          )
                                      ));
            }

            return(entity);
        }
Exemplo n.º 6
0
        protected override SirenEntityBuilder AddEntityActions(SirenEntityBuilder entity, Teacher item)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && (c.Value.Equals(Roles.Admin) || c.Value.Equals(Roles.Teacher)))
            {
                entity
                .WithAction(
                    new ActionBuilder()
                    .WithName("remove-teacher-from-class")
                    .WithTitle("Remove Teacher from Class")
                    .WithMethod("DELETE")
                    .WithHref(Url.AbsoluteRouteUrl(
                                  Routes.ClassTeacherRemove,
                                  new { id = Identifier, teacherId = item.Number }
                                  ))
                    );
            }

            return(entity);
        }
Exemplo n.º 7
0
        /*
         |-----------------------------------------------------------------------
         | Collection
         |-----------------------------------------------------------------------
         */

        protected override SirenEntityBuilder AddCollectionActions(
            SirenEntityBuilder entity)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && (c.Value.Equals(Roles.Admin) || c.Value.Equals(Roles.Teacher)))
            {
                entity
                .WithAction(
                    new ActionBuilder()
                    .WithName("add-class")
                    .WithTitle("Add Class")
                    .WithMethod("POST")
                    .WithHref(UrlTo(Routes.ClassCreate))
                    .WithType("application/json")
                    .WithField(new FieldBuilder()
                               .WithTitle("Course")
                               .WithName("CourseId")
                               .WithType("number"))
                    .WithField(new FieldBuilder()
                               .WithTitle("Semester")
                               .WithName("SemesterId")
                               .WithType("number"))
                    .WithField(new FieldBuilder()
                               .WithTitle("Name")
                               .WithName("name")
                               .WithType("text"))
                    .WithField(new FieldBuilder()
                               .WithTitle("Group Size")
                               .WithName("maxGroupSize")
                               .WithType("number"))
                    .WithField(new FieldBuilder()
                               .WithTitle("Auto Enrollment")
                               .WithName("autoEnrollment")
                               .WithType("checkbox"))
                    );
            }

            return(entity);
        }
Exemplo n.º 8
0
        protected override SirenEntityBuilder AddEntityActions(
            SirenEntityBuilder entity,
            Student item)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && c.Value.Equals(Roles.Admin))
            {
                entity
                .WithAction(
                    new ActionBuilder()
                    .WithName("edit-student")
                    .WithTitle("Edit Student")
                    .WithMethod("PUT")
                    .WithHref(Url.ToStudent(Routes.StudentEdit, item.Number))
                    .WithType("application/json")
                    .WithField(
                        new FieldBuilder()
                        .WithTitle("Name")
                        .WithName("name")
                        .WithType("text")
                        .WithValue(item.Name))
                    .WithField(
                        new FieldBuilder()
                        .WithTitle("E-mail")
                        .WithName("email")
                        .WithType("email")
                        .WithValue(item.Email)))
                .WithAction(
                    new ActionBuilder()
                    .WithName("delete-student")
                    .WithTitle("Delete Student")
                    .WithMethod("DELETE")
                    .WithHref(Url.ToStudent(Routes.StudentDelete, item.Number))
                    );
            }
            this.AddCollectionActions(entity);

            return(entity);
        }
Exemplo n.º 9
0
        /*
         |-----------------------------------------------------------------------
         | Entity
         |-----------------------------------------------------------------------
         */

        protected override SirenEntityBuilder AddEntityActions(SirenEntityBuilder entity, Course item)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && c.Value.Equals(Roles.Admin))
            {
                entity
                .WithAction(
                    new ActionBuilder()
                    .WithName("edit-course")
                    .WithTitle("Edit Course")
                    .WithMethod("PUT")
                    .WithHref(Url.ToCourse(Routes.CourseEdit, item.Id))
                    .WithType("application/json")
                    .WithField(
                        new FieldBuilder()
                        .WithTitle("Name")
                        .WithName("name")
                        .WithType("text")
                        .WithValue(item.Name))
                    .WithField(
                        new FieldBuilder()
                        .WithTitle("Acronym")
                        .WithName("acronym")
                        .WithType("text")
                        .WithValue(item.Acronym))
                    .WithField(
                        new FieldBuilder()
                        .WithTitle("Coordinator Number")
                        .WithName("coordinatorId")
                        .WithType("number")
                        .WithValue(item.CoordinatorId.ToString()))
                    )
                .WithAction(
                    new ActionBuilder()
                    .WithName("add-class-to-course")
                    .WithTitle("Add Class to Course")
                    .WithMethod("POST")
                    .WithHref(UrlTo(Routes.ClassCreate))
                    .WithType("application/json")
                    .WithField(new FieldBuilder()
                               .WithName("CourseId")
                               .WithType("hidden")
                               .WithValue(item.Id.ToString()))
                    .WithField(new FieldBuilder()
                               .WithTitle("Semester")
                               .WithName("SemesterId")
                               .WithType("number"))
                    .WithField(new FieldBuilder()
                               .WithTitle("Name")
                               .WithName("name")
                               .WithType("text"))
                    .WithField(new FieldBuilder()
                               .WithTitle("Group Size")
                               .WithName("maxGroupSize")
                               .WithType("number"))
                    .WithField(new FieldBuilder()
                               .WithTitle("Auto Enrollment")
                               .WithName("autoEnrollment")
                               .WithType("checkbox")))
                .WithAction(
                    new ActionBuilder()
                    .WithName("delete-course")
                    .WithTitle("Delete Course")
                    .WithMethod("DELETE")
                    .WithHref(Url.ToCourse(Routes.CourseDelete, item.Id))
                    );
            }

            return(entity);
        }
Exemplo n.º 10
0
        protected override SirenEntityBuilder AddEntityActions(SirenEntityBuilder entity, Class item)
        {
            Claim c = Context.HttpContext.User.FindFirst(ClaimTypes.Role);

            if (c != null && c.Value.Equals(Roles.Admin))
            {
                entity
                .WithAction(
                    new ActionBuilder()
                    .WithName("edit-class")
                    .WithTitle("Edit Class")
                    .WithMethod("PUT")
                    .WithHref(Url.ToClass(Routes.ClassEdit, item.Id))
                    .WithType("application/json")
                    .WithField(
                        new FieldBuilder()
                        .WithTitle("Name")
                        .WithName("name")
                        .WithType("text")
                        .WithValue(item.Name))
                    .WithField(
                        new FieldBuilder()
                        .WithTitle("Max Group Size")
                        .WithName("maxGroupSize")
                        .WithType("number")
                        .WithValue(item.MaxGroupSize.ToString()))
                    .WithField(
                        new FieldBuilder()
                        .WithTitle("Auto Enrollment")
                        .WithName("autoEnrollment")
                        .WithType("checkbox")
                        .WithValue(item.AutoEnrollment.ToString())))
                .WithAction(
                    new ActionBuilder()
                    .WithName("delete-class")
                    .WithTitle("Delete Class")
                    .WithMethod("DELETE")
                    .WithHref(Url.ToClass(Routes.CourseDelete, item.Id)))
                .WithAction(
                    new ActionBuilder()
                    .WithName("add-teacher-to-class")
                    .WithTitle("Add Teacher to Class")
                    .WithMethod("POST")
                    .WithHref(
                        Url.AbsoluteRouteUrl(
                            Routes.ClassTeacherAdd, new { id = item.Id }
                            )
                        )
                    .WithType("application/json")
                    .WithField(new FieldBuilder()
                               .WithTitle("Number")
                               .WithName("number")
                               .WithType("text")));
                // .WithAction(new ActionBuilder()
                //         .WithName("remove-teacher-from-class")
                //         .WithTitle("Remove Teacher from Class")
                //         .WithMethod("DELETE")
                //         .WithHref(
                //             Url.AbsoluteRouteUrl(
                //                 Routes.ClassTeacherRemove, new {id = item.Id, teacherId = }
                //             )
                //         )
                //         .WithType("application/json")
                //         .WithField(new FieldBuilder()
                //             .WithTitle("Number")
                //             .WithName("number")
                //             .WithType("text"))
                // );
            }

            return(entity);
        }