コード例 #1
0
        [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);
        }
コード例 #2
0
        [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);
        }