public ActionResult Create([Bind(Include = "Name")] School school) { if (ModelState.IsValid) { db.Schools.Add(school); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(school)); }
public ActionResult Create([Bind(Include = "StudntID,SchoolID,StudiesInID")] SchoolAndStudent schoolAndStudent) { if (ModelState.IsValid) { db.SchoolAndStudents.Add(schoolAndStudent); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.SchoolID = new SelectList(db.Schools, "SchoolID", "Name", schoolAndStudent.SchoolID); ViewBag.StudntID = new SelectList(db.Students, "studentID", "Name", schoolAndStudent.StudntID); return(View(schoolAndStudent)); }
public IHttpActionResult Delete(int studentId) { if (studentId >= 0) { using (var ctx = new MyTestDBEntities()) { var existingStudent = ctx.Students.FirstOrDefault(s => s.StudentID == studentId); if (existingStudent == null) { return(NotFound()); } ctx.Entry(existingStudent).State = System.Data.Entity.EntityState.Deleted; ctx.SaveChanges(); return(StatusCode(HttpStatusCode.OK)); } } else { return(BadRequest("Invalid Student ID.")); } }
/*POST, PUT METHODS BELOW*/ /* http://localhost:58710/api/student - This will throw because API does not know which GET to be called, to handle it , * make some changes * public IHttpActionResult GetAllStudentswithAddress() * { * IList<StudentViewModel> students = null; * * using (var ctx = new MyTestDBEntities()) * { * students = ctx.Students.Include("StudentAddress").Select(s => new StudentViewModel() * { * Id = s.StudentID, * FirstName = s.FirstName, * LastName = s.LastName, * Address = s.StudentAddresses == null ? null : (AddressViewModel)s.StudentAddresses.Where(a => a.StudentID == s.StudentID) * .Select(ad => new AddressViewModel() * { * Address1 = ad.Address1, * Address2 = ad.Address2, * City = ad.City, * State = ad.State * }) * }).ToList<StudentViewModel>(); * } * * if (students == null) * { * return NotFound(); * } * * return Ok(students); * } */ //public IHttpActionResult GetAllStudents(bool includeAddress = false) //To overcome the above scenario of multiple get methods calls //{ // IList<StudentViewModel> students = null; // using (var ctx = new MyTestDBEntities()) // { // students = ctx.Students.Include("StudentAddress").Select(s => new StudentViewModel() // { // Id = s.StudentID, // FirstName = s.FirstName, // LastName = s.LastName, // Address = s.StudentAddresses == null || includeAddress == false ? null : new AddressViewModel() // { // StudentId = s.StudentAddresses.StudentID, // Address1 = s.StudentAddresses.Address1, // Address2 = s.StudentAddresses.Address2, // City = s.StudentAddresses.City, // State = s.StudentAddresses.State // } // }).ToList<StudentViewModel>(); // } // if (students == null) // { // return NotFound(); // } // return Ok(students); //} public IHttpActionResult PostNewStudent(StudentViewModel student) { if (ModelState.IsValid) { using (var ctx = new MyTestDBEntities()) { ctx.Students.Add(new Student() { FirstName = student.FirstName, LastName = student.LastName, StandardID = 3 // Hard coded to make it create , need to look after the descrepancy of sql tables and edmx classes against tutorial teacher..! //StandardID = student.Standard.StandardId }); ctx.SaveChanges(); } return(Created(Request.RequestUri + "/" + student.Id.ToString(), student)); } else { return(BadRequest("Invalid data.")); } }
public IHttpActionResult Put(int studentId, StudentViewModel student) { if (ModelState.IsValid) { using (var ctx = new MyTestDBEntities()) { var existingStudent = ctx.Students.FirstOrDefault(s => s.StudentID == studentId); if (existingStudent == null) { return(NotFound()); } existingStudent.FirstName = student.FirstName; existingStudent.LastName = student.LastName; ctx.SaveChanges(); return(StatusCode(HttpStatusCode.OK)); } } else { return(BadRequest("Invalid Data.")); } }
protected void Page_Load(object sender, EventArgs e) { try { //Read The IPN POST string strFormValues = Encoding.ASCII.GetString(Request.BinaryRead(Request.ContentLength)); string strNewRequest; //Create IPN verification request HttpWebRequest req = WebRequest.Create("https://www.sandbox.paypal.com/cgi-bin/webscr") as HttpWebRequest; req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; strNewRequest = strFormValues + "&cmd=_notify-validate"; req.ContentLength = strNewRequest.Length; StreamWriter swOut = new StreamWriter(req.GetRequestStream(), Encoding.ASCII); swOut.Write(strNewRequest); swOut.Close(); HttpWebResponse httwebresponseResponse = req.GetResponse() as HttpWebResponse; Stream stIPNResponseStream = httwebresponseResponse.GetResponseStream(); Encoding encEncode = System.Text.Encoding.GetEncoding("utf-8"); StreamReader srStream = new StreamReader(stIPNResponseStream, encEncode); NVPCodec nvpResponse = new NVPCodec(); //Getting Name Value Pairs Collection nvpResponse.Decode(strFormValues); string strIPNResponse = srStream.ReadToEnd(); Label lblMessage = new Label(); lblMessage.Text = strIPNResponse; Page.Form.Controls.Add(lblMessage); //Creating new database object MyTestDBEntities MyTestDB = new MyTestDBEntities(); IPN_Main ipn_main = new IPN_Main() { IPN_Status = strIPNResponse, DateTimeStamp = DateTime.Now, RawString = strFormValues }; MyTestDB.IPN_Main.AddObject(ipn_main); MyTestDB.SaveChanges(); for (int intCounter = 0; intCounter < nvpResponse.Count; ++intCounter) { IPN_Variables ipn_variables = new IPN_Variables() { IPN_ID = ipn_main.IPN_ID, Name = nvpResponse.GetKey(intCounter), Variable = nvpResponse.Get(intCounter) }; MyTestDB.IPN_Variables.AddObject(ipn_variables); //Writing to debug stream for debugging pupose string strTemp = nvpResponse.GetKey(intCounter) + nvpResponse.Get(intCounter) + Environment.NewLine; Debug.Write(strTemp); } MyTestDB.SaveChanges(); srStream.Close(); } catch (Exception exErrors) { //generic exception handling: adding label on page with exception details Label lblErrorMessage = new Label(); lblErrorMessage.Text = "Exception: " + exErrors.Message + "<br/>" + exErrors.ToString(); form1.Controls.Add(lblErrorMessage); Debug.WriteLine("Exception: " + exErrors.Message + "\n\t" + exErrors.ToString()); } }