示例#1
0
 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);
 }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
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);
        }
示例#6
0
 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);
 }