예제 #1
0
 public ActionResult SubjectYearCreate([Bind(Include = "sub_id,year,incl_in_total")] SubjectYearCombinations model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             if (db.SubjectYearCombinations.Any(m => m.sub_id == model.sub_id && m.year == model.year))
             {
                 return(Json(new { status = "success", message = "Already added.", list = db.SubjectYearCombinations.Where(m => m.year == model.year).ToList() }));
             }
             else
             {
                 db.SubjectYearCombinations.Add(model);
                 db.SaveChanges();
                 return(Json(new { status = "success", message = "Saved successfully.", list = db.SubjectYearCombinations.ToList() }));
             }
         }
         catch (Exception exception) {
             return(Json(new { status = "error", message = "Failed in saving. " + exception.GetBaseException() }));
         }
     }
     else
     {
         return(Json(new { status = "error", message = "Error in saving" }));
     }
 }
예제 #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 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);
 }