Exemple #1
0
        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."));
            }
        }
Exemple #6
0
        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());
            }
        }
Exemple #7
0
        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());
            }
        }