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); }
[HttpPost]// for inserting new subject fields public HttpResponseMessage PostSubjectFields(SubjectFieldModel model) { if (!ModelState.IsValid) { response = Request.CreateResponse(HttpStatusCode.BadRequest, new { message = "Bad Request" }); } else { if (db.SubjectFields.Any(x => x.sub_year_id == model.sub_year_id && x.field_name == model.field_name)) { response = Request.CreateResponse(HttpStatusCode.Conflict, new { message = "Duplicate Record Found!" }); } else { model.id = generateRandomString(26); db.SubjectFields.Add(model.getSubjectField()); try { db.SaveChanges(); List <SubjectFields> fields = db.SubjectFields.Where(m => m.sub_year_id == model.sub_year_id).OrderBy(m => m.field_seq).ToList(); List <SubjectFieldModel> model_fields = new List <SubjectFieldModel>(); foreach (SubjectFields field in fields) { model_fields.Add(new SubjectFieldModel(field)); } SubjectYearCombinationViewModel sub_year_combination = new SubjectYearCombinationViewModel(db.SubjectYearCombinations.Find(model.sub_year_id)); response = Request.CreateResponse(HttpStatusCode.OK, new { message = "Saved successfully", list = model_fields, sub_year_combination = sub_year_combination }); } catch (Exception exp) { response = Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = "Error in saving " + exp.GetBaseException() }); } } } return(response); }
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); }