[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); }
[HttpPut]// For updating subject fields public HttpResponseMessage PutSubjectFields(string id, SubjectFieldModel model) { if (!ModelState.IsValid || id == null || model == null || model.id == null || (id != model.id)) { response = Request.CreateResponse(HttpStatusCode.BadRequest, new { Message = "Bad Request" }); } else { SubjectFields subjectFields = model.getSubjectField(); db.Entry(subjectFields).State = EntityState.Modified; try { db.SaveChanges(); List <SubjectFields> fields = db.SubjectFields.Where(m => m.sub_year_id == subjectFields.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)); } response = Request.CreateResponse(HttpStatusCode.OK, new { Message = "Saved successfully", list = model_fields }); } catch (DbUpdateConcurrencyException) { if (!SubjectFieldsExists(id)) { response = Request.CreateResponse(HttpStatusCode.NotFound, new { Message = "Subject field not found." }); } else { response = Request.CreateResponse(HttpStatusCode.InternalServerError, new { Message = "An error occurs while updating." }); } } } return(response); }