//POST: api/Admission/SubmitAdmission public async Task <Object> SubmitAdmission(tbAdmission model) { //Student apply dupplicate admission var mailChk = db.Admissions.SingleOrDefault(e => e.StudentEmail.Equals(model.StudentEmail)); if (mailChk != null) { if (mailChk.FieldCode.Equals(model.FieldCode)) { return(BadRequest("Admission just register with email!")); } } if (!ModelState.IsValid) { return(BadRequest()); } if (!AdmissionService.ValidateAge(model.DoB)) { return(BadRequest("Age must over than 18 year old!")); } //Generator Key Admission var AdmissionKey = AdmissionService.GenerateKey(model.StreamCode); model.StatusID = 0; //Save AdmissionForm + finalString to Db var admission = new tbAdmission { AdmissionID = AdmissionKey, StudentEmail = model.StudentEmail, StudentName = model.StudentName, FatherName = model.FatherName, MotherName = model.MotherName, DoB = model.DoB, Gender = model.Gender, ResidentialAddress = model.ResidentialAddress, PermanentAddress = model.PermanentAddress, StreamCode = model.StreamCode, FieldCode = model.FieldCode, SportsDetails = model.SportsDetails, StatusID = model.StatusID, ExUniversity = model.ExUniversity, ExEnrollmentNumber = model.ExEnrollmentNumber, ExCenter = model.ExCenter, ExStream = model.ExStream, ExField = model.ExField, ExMarkSecured = model.ExMarkSecured, OutOfDate = model.OutOfDate, ClassObtained = model.ClassObtained, SpecializedSubjectID = model.SpecializedSubjectID, OptionalSubjectID = model.OptionalSubjectID }; await db.Admissions.AddAsync(admission); await db.SaveChangesAsync(); //Return key to Student return(new { AdmissionKey }); }
//POST: api/Admission/DeleteAdmission public async Task <IActionResult> EditAdmission(string Id, tbAdmission model) { if (Id == null) { return(BadRequest("Admission ID cannot null!")); } var Admission = await db.Admissions.FindAsync(Id); if (Admission != null) { if (Admission.StatusID == 1) //Cannot edit admission when accepnt from admin { return(BadRequest("Cannot Delete Admission when accepted!")); } else { Admission.StudentEmail = model.StudentEmail; Admission.StudentName = model.StudentName; Admission.FatherName = model.FatherName; Admission.MotherName = model.MotherName; Admission.DoB = model.DoB; Admission.Gender = model.Gender; Admission.ResidentialAddress = model.ResidentialAddress; Admission.PermanentAddress = model.PermanentAddress; Admission.StreamCode = model.StreamCode; Admission.FieldCode = model.FieldCode; Admission.SportsDetails = model.SportsDetails; Admission.StatusID = model.StatusID; Admission.ExUniversity = model.ExUniversity; Admission.ExEnrollmentNumber = model.ExEnrollmentNumber; Admission.ExCenter = model.ExCenter; Admission.ExStream = model.ExStream; Admission.ExField = model.ExField; Admission.ExMarkSecured = model.ExMarkSecured; Admission.OutOfDate = model.OutOfDate; Admission.ClassObtained = model.ClassObtained; Admission.SpecializedSubjectID = model.SpecializedSubjectID; Admission.OptionalSubjectID = model.OptionalSubjectID; db.Entry(Admission).State = EntityState.Modified; await db.SaveChangesAsync(); return(Ok("Edit Success!")); } } return(NotFound()); }