Exemple #1
0
        // GET: api/Students
        //working as intended
        public IQueryable <Student> GetStudents()
        {
            var User_Id = IdService.getUserId(db, User);

            var result = db.Students.Where((s) => s.User_Id == User_Id);

            return(result);
        }
Exemple #2
0
        // GET: api/Classrooms
        //working as intended
        public IQueryable <Classroom> GetClassrooms()
        {
            var User_Id = IdService.getUserId(db, User);

            var result = from c in db.Classrooms
                         where c.User_Id == User_Id
                         select c;

            return(result);
        }
Exemple #3
0
        public async Task <IHttpActionResult> GetStudent(int id)
        {
            var User_Id = IdService.getUserId(db, User);

            Student student = await db.Students.Where((s) => s.User_Id == User_Id && s.Stu_Id == id).FirstOrDefaultAsync();

            if (student == null)
            {
                return(NotFound());
            }

            return(Ok(student));
        }
Exemple #4
0
        public async Task <IHttpActionResult> GetClassroom(int id)
        {
            var User_Id = IdService.getUserId(db, User);

            Classroom classroom = await db.Classrooms.Where((c) => c.User_Id == User_Id && c.Cls_Id == id).FirstOrDefaultAsync();

            if (classroom == null)
            {
                return(NotFound());
            }

            return(Ok(classroom));
        }
Exemple #5
0
        public async Task <IHttpActionResult> PostStudent(Student student)
        {
            student.User_Id = IdService.getUserId(db, User);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Students.Add(student);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = student.Stu_Id }, student));
        }
Exemple #6
0
        public async Task <IHttpActionResult> PostClassroom(Classroom classroom)
        {
            classroom.User_Id = IdService.getUserId(db, User); //sets the user id for the new classroom

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Classrooms.Add(classroom);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = classroom.Cls_Id }, classroom));
        }
Exemple #7
0
        public async Task <IHttpActionResult> PutStudent(int id, [FromBody] Student student)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //if the requested student does not belong to the current user
            if (db.Students.AsNoTracking().Where((s) => s.Stu_Id == id).FirstOrDefault().User_Id != IdService.getUserId(db, User))
            {
                return(BadRequest("invalid student id for the logged in user"));
            }

            if (id != student.Stu_Id)
            {
                return(BadRequest());
            }

            db.Entry(student).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StudentExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.OK));
        }
Exemple #8
0
        public async Task <IHttpActionResult> DeleteStudent(int id)
        {
            Student student = await db.Students.FindAsync(id);

            if (student == null)
            {
                return(NotFound());
            }

            //if the requested student does not belong to the current user
            if (db.Students.AsNoTracking().Where((e) => e.Stu_Id == id).FirstOrDefault().User_Id != IdService.getUserId(db, User))
            {
                return(BadRequest("invalid student id for the logged in user"));
            }

            db.Students.Remove(student);
            await db.SaveChangesAsync();

            return(Ok(student));
        }
Exemple #9
0
        public async Task <IHttpActionResult> DeleteClassroom(int id)
        {
            Classroom classroom = await db.Classrooms.FindAsync(id);

            if (classroom == null)
            {
                return(NotFound());
            }

            //if the requested room does not belong to the current user
            if (db.Classrooms.AsNoTracking().Where((e) => e.Cls_Id == id).FirstOrDefault().User_Id != IdService.getUserId(db, User))
            {
                return(BadRequest("invalid class id for the logged in user"));
            }

            db.Classrooms.Remove(classroom);
            await db.SaveChangesAsync();

            return(Ok(classroom));
        }