public async Task <IHttpActionResult> GetStudentPlacement(int id) { StudentPreference studentPlacement = await db.StudentPreferences.FindAsync(id); if (studentPlacement == null) { return(NotFound()); } return(Ok(studentPlacement)); }
public async Task <IHttpActionResult> DeleteStudentPlacement(int id) { StudentPreference studentPlacement = await db.StudentPreferences.FindAsync(id); if (studentPlacement == null) { return(NotFound()); } db.StudentPreferences.Remove(studentPlacement); await db.SaveChangesAsync(); return(Ok(studentPlacement)); }
public dynamic DeletePreferenceSIDPID(string sid, int pid, int pref) { var sps = db.StudentPreferences.Where(p => p.SID == sid && p.PID == pid && p.Preference == pref) .Select(p => p); if (sps.Count() == 0) { return(NoContent("")); } StudentPreference toDelete = sps.First(); db.StudentPreferences.Remove(toDelete); db.SaveChanges(); return(Ok(toDelete.PID.ToString() + " was deleted")); }
public dynamic PostPreferenceSIDPID(string sid, int pid, int pref) { if (db.StudentPreferences.Where(p => p.SID == sid && p.PID == pid && p.Preference == pref) .Select(p => p).Count() > 0) { return(BadRequest("Preference already exists for this student placement")); } StudentPreference sp = new StudentPreference { SID = sid, PID = pid, Preference = pref, Status = 0, TimeStamp = DateTime.Now.Date }; db.StudentPreferences.Add(sp); db.SaveChanges(); return(Ok(sp)); }
public async Task <IHttpActionResult> PostStudentPlacement(StudentPreference studentPlacement) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // Check for preferences exceeded var currentStudentPlacements = db.StudentPreferences.Select(sp => sp.SID == studentPlacement.SID); if (currentStudentPlacements.Count() > 2) { throw BadRequest("Preferences cannot be more than " + currentStudentPlacements.Count().ToString()); } db.StudentPreferences.Add(studentPlacement); try { await db.SaveChangesAsync(); } catch (DbUpdateException) { if (StudentPlacementExists(studentPlacement.PID, studentPlacement.SID)) { return(Conflict()); } else { throw; } } return(Ok(studentPlacement)); }
public async Task <IHttpActionResult> PutStudentPlacement(int Pid, string Sid, StudentPreference studentPlacement) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (Pid != studentPlacement.PID && Sid != studentPlacement.SID) { return(BadRequest()); } db.Entry(studentPlacement).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!StudentPlacementExists(Pid, Sid)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }