Пример #1
0
        //****************************************************
        // Method: OpenCourseWorkBtn_Click
        //
        // Purpose: Opens file chooser dialog, deserializes JSON data using CouseWork.dll and populates
        // controls on the front end with said data.
        //****************************************************
        private void OpenCourseWorkBtn_Click(object sender, RoutedEventArgs e)
        {
            string         filename       = "";
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Multiselect      = false;
            openFileDialog.Filter           = "JSON files (*.json)|*.json";
            openFileDialog.InitialDirectory = Directory.GetCurrentDirectory();
            openFileDialog.Title            = "Open Course Work From JSON";
            if (openFileDialog.ShowDialog() == true)
            {
                filename = openFileDialog.FileName;
                CourseWorkFilenameTb.Text = filename;
            }
            else
            {
                return;
            }


            try
            {
                CategoriesListView.Items.Clear();
                AssignmentsListView.Items.Clear();
                SubmissionsListView.Items.Clear();
                FileStream fileStream;
                DataContractJsonSerializer serializerJSON;
                fileStream          = new FileStream(filename, FileMode.Open, FileAccess.Read);
                serializerJSON      = new DataContractJsonSerializer(typeof(CourseWork.CourseWork));
                cw                  = (CourseWork.CourseWork)serializerJSON.ReadObject(fileStream);
                CourseNameTb.Text   = cw.CourseName;
                OverallGradeTb.Text = Math.Round(cw.CalculateGrade(), 2).ToString();
                foreach (Category c in cw.Categories)
                {
                    CategoriesListView.Items.Add(c);
                }
                foreach (Assignment a in cw.Assignments)
                {
                    AssignmentsListView.Items.Add(a);
                }
                foreach (Submission s in cw.Submissions)
                {
                    SubmissionsListView.Items.Add(s);
                }
                TargetAssignmentTb.Clear();
                AssignmentNameTb.Clear();
                CategoryNameTb.Clear();
                GradeTb.Clear();
            }
            catch
            {
                MessageBoxResult result = MessageBox.Show("Error parsing JSON file.",
                                                          "Error",
                                                          MessageBoxButton.OK,
                                                          MessageBoxImage.Error);
            }
        }
Пример #2
0
 private void Clear()
 {
     SaveBtn.Enabled     = true;
     CategoryNameTb.Text = "";
     CategoryNameTb.Focus();
 }