public HttpResponseMessage GET(int id = 0) { try { if (id != 0) { SubjectYearCombinationViewModel req_list = db.SubjectYearCombinations.Find(id) == null?null:new SubjectYearCombinationViewModel(db.SubjectYearCombinations.Find(id)); response = Request.CreateResponse(HttpStatusCode.OK, new { Message = "Request successful.", list = req_list, subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } else { List <SubjectYearCombinations> req_list = db.SubjectYearCombinations.OrderBy(m => m.year).ToList(); response = Request.CreateResponse(HttpStatusCode.OK, new { Message = "Request successful.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(req_list), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } } catch (Exception exception) { response = Request.CreateResponse(HttpStatusCode.InternalServerError, new { Message = "An error occur " + exception.ToString() }); } return(response); }
public HttpResponseMessage PostSubjectYearCombinations(SubjectYearCombinations subjectYearCombinations) { if (!ModelState.IsValid) { response = Request.CreateResponse(HttpStatusCode.BadRequest, "Bad Request: Improper Data Passed"); } else { if (db.SubjectYearCombinations.Any(m => m.sub_id == subjectYearCombinations.sub_id && m.year == subjectYearCombinations.year)) { response = Request.CreateResponse(HttpStatusCode.OK, new { message = "You have already added.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(db.SubjectYearCombinations.Where(m => m.year == subjectYearCombinations.year).ToList()), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } else { db.SubjectYearCombinations.Add(subjectYearCombinations); try { db.SaveChanges(); } catch (DbUpdateException exception) { if (SubjectYearCombinationsExists(subjectYearCombinations.id)) { response = Request.CreateResponse(HttpStatusCode.Conflict, new { message = "Conflict occurs.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(db.SubjectYearCombinations.Where(m => m.year == subjectYearCombinations.year).ToList()), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } else { response = Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = "Failed to update." + exception.GetBaseException() }); } } response = Request.CreateResponse(HttpStatusCode.OK, new { message = "You have successfully added.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(db.SubjectYearCombinations.Where(m => m.year == subjectYearCombinations.year).ToList()), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } } return(response); }
public HttpResponseMessage PutSubjectYearCombinations(SubjectYearCombinations subjectYearCombinations) { if (!ModelState.IsValid) { response = Request.CreateResponse(HttpStatusCode.BadRequest, new { Message = "Bad Request" }); } else { if (db.SubjectYearCombinations.Any(m => m.sub_id == subjectYearCombinations.sub_id && m.year == subjectYearCombinations.year && m.incl_in_total == subjectYearCombinations.incl_in_total)) { response = Request.CreateResponse(HttpStatusCode.OK, new { Message = "Duplicate found. The same combination of subject and year already exist before.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(db.SubjectYearCombinations.Where(m => m.year == subjectYearCombinations.year).OrderBy(m => m.year).ToList()), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } else { db.Entry(subjectYearCombinations).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateException exception) { if (SubjectYearCombinationsExists(subjectYearCombinations.id)) { response = Request.CreateResponse(HttpStatusCode.Conflict, new { Message = "Conflict occurs.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(db.SubjectYearCombinations.Where(m => m.year == subjectYearCombinations.year).OrderBy(m => m.year).ToList()), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } else { response = Request.CreateResponse(HttpStatusCode.InternalServerError, new { Message = "Failed to update." + exception.GetBaseException() }); } } response = Request.CreateResponse(HttpStatusCode.OK, new { Message = "You have successfully updated.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(db.SubjectYearCombinations.Where(m => m.year == subjectYearCombinations.year).OrderBy(m => m.year).ToList()), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } } return(response); }
public HttpResponseMessage GetByYear(int id) { /* id will be taken as year*/ List <SubjectYearCombinations> req_list = db.SubjectYearCombinations.Where(m => m.year == id).OrderBy(m => m.year).ToList(); response = Request.CreateResponse(HttpStatusCode.OK, new { Message = "Request successful.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(req_list), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); return(response); }
// GET: Subjects public ActionResult Index() { return(View(SubjectViewModel.GetModelList(db.Subjects.ToList()))); }
public HttpResponseMessage DeleteSubjectYearCombinations(int id) { if (!ModelState.IsValid) { response = Request.CreateResponse(HttpStatusCode.BadRequest, new { Message = "Bad Request" }); } else if (SubjectYearCombinationsExists(id)) { SubjectYearCombinations subjectYearCombinations = db.SubjectYearCombinations.Find(id); db.SubjectYearCombinations.Remove(subjectYearCombinations); try { db.SaveChanges(); response = Request.CreateResponse(HttpStatusCode.OK, new { Message = "Successfully removed.", list = SubjectYearCombinationViewModel.ConvertToSubjectYearCombinationViewModel(db.SubjectYearCombinations.Where(m => m.year == subjectYearCombinations.year).OrderBy(m => m.year).ToList()), subjects = SubjectViewModel.GetModelList(db.Subjects.OrderBy(m => m.name).ToList()) }); } catch (Exception exception) { response = Request.CreateResponse(HttpStatusCode.InternalServerError, new { Message = "An error has occured." + exception.GetBaseException() }); } } return(response); }