Exemplo n.º 1
0
 private void Button1Click(object sender, RoutedEventArgs e)
 {
     // Ready to add new row
     switch (button1.Content.ToString()) {
         case "Add": {
             button1.Content = "New";
             var student = new StudentDTO {
                                              Avg = float.Parse(tbAvg.Text),
                                              Birthday = DateTime.Parse(dpBirthday.Text),
                                              Code = tbCode.Text,
                                              Name = tbName.Text,
                                              Status = true,
                                          };
             StudentController.Create(student, _imageFile);
             _dataSource.Add(student);
         }
             break;
         case "New":
             button1.Content = "Add";
             button1.IsEnabled = false;
             tbName.Text = "Name";
             tbCode.Text = "Student Code";
             tbAvg.Text = "Average Mark";
             dpBirthday.Text = "Birthday";
             break;
     }
 }
Exemplo n.º 2
0
 public static string Update(StudentDTO dto, string imageFile)
 {
     var request = WebRequest.Create(ServiceURL + "students/update") as HttpWebRequest;
     return GetPostResult(dto,request, imageFile);
 }
Exemplo n.º 3
0
 public static string Delete(StudentDTO dto)
 {
     // TODO: Change to normal get for better performance
     var request = WebRequest.Create(ServiceURL + "students/" + dto.Id + "/delete") as HttpWebRequest;
     return GetPostResult(dto,request, null);
 }
Exemplo n.º 4
0
        private static string PostOtherData(StudentDTO dto, HttpWebRequest request)
        {
            if (request != null) {
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentType = "application/json";
            }

            // Create a byte array of the data we want to send
            var byteData = Encoding.UTF8.GetBytes(
                "{'Id' : '" + dto.Id + "','Name' : '" + dto.Name + "', 'Status' : '" + dto.Status + "',  'Code': '" + dto.Code +
                "', 'Avg' : " + dto.Avg + ", 'Birthday' : '" + dto.Birthday + "'}"
                );

            // Set the content length in the request headers
            request.ContentLength = byteData.Length;

            // Write data
            using (var postStream = request.GetRequestStream())
                postStream.Write(byteData, 0, byteData.Length);

            // Get response
            string result;
            try {
                using (var response = request.GetResponse() as HttpWebResponse)
                    result = new StreamReader(response.GetResponseStream()).ReadToEnd();
            }
            catch {
                result = "failed";
            }
            return result;
        }
Exemplo n.º 5
0
        private static void PostImage(StudentDTO dto, string filePath)
        {
            var request = (HttpWebRequest)WebRequest.Create(ServiceURL + "students/upload/" + dto.Name);

            request.Accept = "text/xml";
            request.Method = "POST";
            request.ContentType = "image/jpeg";
            using (var fileStream = File.OpenRead(filePath))
            using (var requestStream = request.GetRequestStream()) {
                var buffer = new byte[1024];
                int byteCount;
                while ((byteCount = fileStream.Read(buffer, 0, 1024)) > 0) {
                    requestStream.Write(buffer, 0, byteCount);
                }
            }
            string result;
            try
            {
                var response = request.GetResponse();
                using (var reader = new StreamReader(response.GetResponseStream()))
                {
                    result = reader.ReadToEnd();
                }
            }
            catch (Exception exception) {
                MessageBox.Show("Your image size is too big !");
            }
        }
Exemplo n.º 6
0
        private static string GetPostResult(StudentDTO dto, HttpWebRequest request, string imageFileAddress)
        {
            // Upload image to server
            PostImage(dto, imageFileAddress);

            // Set type to POST
            var result = PostOtherData(dto, request);
            return result;
        }
Exemplo n.º 7
0
 // Update
 private void Button2Click(object sender, RoutedEventArgs e)
 {
     var selectedStudent = (StudentDTO) studentGrid.SelectedItems[0];
     var index = studentGrid.SelectedIndex;
     var student = new StudentDTO {
                                      Avg = float.Parse(tbAvg.Text),
                                      Birthday = DateTime.Parse(dpBirthday.Text),
                                      Code = tbCode.Text,
                                      Name = tbName.Text,
                                      Status = true,
                                      Id = selectedStudent.Id
                                  };
     if (StudentController.Update(student, _imageFile) == "failed") {
         MessageBox.Show("Update failed");
     } else {
         _dataSource[index] = student;
     }
 }