public IActionResult GetTeachersForClass([FromRoute] string id) { if (db.IMSClasses.SingleOrDefault(k => k.Id == id) == null) { return(NotFound()); } IQueryable <User> teachersQuery = db.Users .Include(u => u.UserOrgs) .ThenInclude(uo => uo.Org) .Include(u => u.UserAgents) .ThenInclude(ua => ua.Agent) .Include(u => u.Enrollments) .Where(u => u.Enrollments.Where(e => e.IMSClassId == id && e.Role == Vocabulary.RoleType.teacher).Count() > 0); teachersQuery = ApplyBinding(teachersQuery); var teachers = teachersQuery.ToList(); serializer = new Serializers.OneRosterSerializer("users"); serializer.Writer.WriteStartArray(); foreach (var teacher in teachers) { teacher.AsJson(serializer.Writer, BaseUrl()); } serializer.Writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }
public IActionResult GetClassesForUser([FromRoute] string id) { var user = db.Users .Include(u => u.UserOrgs) .ThenInclude(uo => uo.Org) .Include(u => u.UserAgents) .ThenInclude(ua => ua.Agent) .SingleOrDefault(u => u.Id == id); if (user == null) { return(NotFound()); } // get all Enrollments for the given userId var enrollments = db.Enrollments .Include(e => e.IMSClass) .ThenInclude(k => k.IMSClassAcademicSessions) .ThenInclude(kas => kas.AcademicSession) .Include(e => e.IMSClass) .ThenInclude(k => k.Course) .Include(e => e.IMSClass) .ThenInclude(k => k.School) .Where(e => e.UserId == id); serializer = new Serializers.OneRosterSerializer("classes"); serializer.writer.WriteStartArray(); foreach (var enrollment in enrollments) { enrollment.IMSClass.AsJson(serializer.writer, BaseUrl()); } serializer.writer.WriteEndArray(); return(JsonOk(serializer.Finish())); }
public IActionResult GetResultsForStudentForClass([FromRoute] string id, [FromRoute] string studentId) { if (db.IMSClasses.SingleOrDefault(k => k.Id == id) == null || db.Users.SingleOrDefault(u => u.Id == studentId) == null || db.Enrollments.SingleOrDefault(e => e.IMSClassId == id && e.UserId == studentId && e.Role == Vocabulary.RoleType.student) == null) { return(NotFound()); } IQueryable <Result> resultQuery = db.Results .Where(r => r.StudentUserId == studentId && r.LineItem.IMSClassId == id) .Include(r => r.Student) .Include(r => r.LineItem); resultQuery = ApplyBinding(resultQuery); var results = resultQuery.ToList(); serializer = new Serializers.OneRosterSerializer("results"); serializer.Writer.WriteStartArray(); foreach (var result in results) { result.AsJson(serializer.Writer, BaseUrl()); } serializer.Writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }
public IActionResult GetResultsForLineItemForClass([FromRoute] string id, [FromRoute] string lineItemId) { if (db.IMSClasses.SingleOrDefault(k => k.Id == id) == null || db.LineItems.SingleOrDefault(li => li.Id == lineItemId) == null) { return(NotFound()); } IQueryable <Result> resultQuery = db.Results .Where(r => r.LineItemId == lineItemId) .Include(r => r.Student) .Include(r => r.LineItem); resultQuery = ApplyBinding(resultQuery); var results = resultQuery.ToList(); serializer = new Serializers.OneRosterSerializer("results"); serializer.Writer.WriteStartArray(); foreach (var result in results) { result.AsJson(serializer.Writer, BaseUrl()); } serializer.Writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }
public IActionResult GetLineItemsForClass([FromRoute] string id) { if (db.IMSClasses.SingleOrDefault(k => k.Id == id) == null) { return(NotFound()); } IQueryable <LineItem> lineItemQuery = db.LineItems .Where(li => li.IMSClassId == id) .Include(li => li.LineItemCategory) .Include(li => li.AcademicSession); lineItemQuery = ApplyBinding(lineItemQuery); var lineItems = lineItemQuery.ToList(); serializer = new Serializers.OneRosterSerializer("lineItems"); serializer.Writer.WriteStartArray(); foreach (var lineItem in lineItems) { lineItem.AsJson(serializer.Writer, BaseUrl()); } serializer.Writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }
public IActionResult GetCategory([FromRoute] string id) { var category = db.LineItemCategories.SingleOrDefault(c => c.Id == id); if (category == null) { return(NotFound()); } serializer = new Serializers.OneRosterSerializer("category"); category.AsJson(serializer.Writer, BaseUrl()); return(JsonOk(serializer.Finish())); }
public IActionResult GetDemographic([FromRoute] string user_id) { var user = db.Demographics .SingleOrDefault(u => u.Id == user_id); if (user == null) { return(NotFound()); } serializer = new Serializers.OneRosterSerializer("demographic"); user.AsJson(serializer.writer, BaseUrl()); return(JsonOk(serializer.Finish())); }
public IActionResult GetResult([FromRoute] string id) { var result = db.Results .Include(r => r.LineItem) .Include(r => r.Student) .SingleOrDefault(li => li.Id == id); if (result == null) { return(NotFound()); } serializer = new Serializers.OneRosterSerializer("result"); result.AsJson(serializer.writer, BaseUrl()); return(JsonOk(serializer.Finish())); }
public IActionResult GetAllCategories() { IQueryable <LineItemCategory> categoryQuery = db.LineItemCategories; categoryQuery = ApplyBinding(categoryQuery); var categories = categoryQuery.ToList(); serializer = new Serializers.OneRosterSerializer("categories"); serializer.Writer.WriteStartArray(); foreach (var category in categories) { category.AsJson(serializer.Writer, BaseUrl()); } serializer.Writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }
public IActionResult GetLineItem([FromRoute] string id) { var lineItem = db.LineItems .Include(li => li.LineItemCategory) .Include(li => li.IMSClass) .Include(li => li.AcademicSession) .SingleOrDefault(li => li.Id == id); if (lineItem == null) { return(NotFound()); } serializer = new Serializers.OneRosterSerializer("lineItem"); lineItem.AsJson(serializer.Writer, BaseUrl()); return(JsonOk(serializer.Finish())); }
public IActionResult GetUser([FromRoute] string id) { var user = db.Users .Include(u => u.UserOrgs) .ThenInclude(uo => uo.Org) .Include(u => u.UserAgents) .ThenInclude(ua => ua.Agent) .SingleOrDefault(u => u.Id == id); if (user == null) { return(NotFound()); } serializer = new Serializers.OneRosterSerializer("user"); user.AsJson(serializer.writer, BaseUrl()); return(JsonOk(serializer.Finish())); }
public IActionResult GetAllResults() { IQueryable <Result> resultsQuery = db.Results .Include(r => r.LineItem) .Include(r => r.Student); resultsQuery = ApplyBinding(resultsQuery); var results = resultsQuery.ToList(); serializer = new Serializers.OneRosterSerializer("results"); serializer.Writer.WriteStartArray(); foreach (var result in results) { result.AsJson(serializer.Writer, BaseUrl()); } serializer.Writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }
public IActionResult GetAllLineItems() { IQueryable <LineItem> lineItemsQuery = db.LineItems .Include(li => li.LineItemCategory) .Include(li => li.IMSClass) .Include(li => li.AcademicSession); lineItemsQuery = ApplyBinding(lineItemsQuery); var lineItems = lineItemsQuery.ToList(); serializer = new Serializers.OneRosterSerializer("lineItems"); serializer.Writer.WriteStartArray(); foreach (var lineItem in lineItems) { lineItem.AsJson(serializer.Writer, BaseUrl()); } serializer.Writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }
public IActionResult GetAllUsers() { IQueryable <User> userQuery = db.Users .Include(u => u.UserOrgs) .ThenInclude(uo => uo.Org) .Include(u => u.UserAgents) .ThenInclude(ua => ua.Agent); userQuery = ApplyBinding(userQuery); var users = userQuery.ToList(); serializer = new Serializers.OneRosterSerializer("users"); serializer.writer.WriteStartArray(); foreach (var user in users) { user.AsJson(serializer.writer, BaseUrl()); } serializer.writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }
public IActionResult GetResourcesForClass([FromRoute] string id) { var imsClass = db.IMSClasses .Include(k => k.Course) .SingleOrDefault(k => k.Id == id); if (imsClass == null) { return(NotFound()); } serializer = new Serializers.OneRosterSerializer("resources"); serializer.Writer.WriteStartArray(); if (imsClass.Course != null && imsClass.Course.Resources != null) { foreach (var resourceId in imsClass.Course.Resources) { var resource = db.Resources .SingleOrDefault(r => r.Id == resourceId); resource.AsJson(serializer.Writer, BaseUrl()); } } if (imsClass.Resources != null) { foreach (var resourceId in imsClass.Resources) { var resource = db.Resources .SingleOrDefault(r => r.Id == resourceId); resource.AsJson(serializer.Writer, BaseUrl()); } } serializer.Writer.WriteEndArray(); return(JsonOk(FinishSerialization(), ResponseCount)); }