Пример #1
0
        public async Task <IActionResult> SubmitCourseWork()
        {
            AppUser currentStudent = null;

            try
            {
                await users.OpenConnectionAsync();

                currentStudent = await users.GetByEmailAsync(User.Identity.Name);
            }
            finally
            {
                users.CloseConnection();
            }

            try
            {
                await courseWorks.OpenConnectionAsync();

                CourseWork courseWork = await courseWorks.GetAsync(currentStudent.Id);

                return(View(new CourseWorkSubmissionModel
                {
                    StudentId = currentStudent.Id,
                    Theme = courseWork?.Theme ?? string.Empty,
                    Task = courseWork?.Task ?? string.Empty
                }));
            }
            finally
            {
                courseWorks.CloseConnection();
            }
        }
Пример #2
0
        public void Setup()
        {
            var courseWorkTemplate = new CourseWork();

            _template = courseWorkTemplate;
            _path     = Environment.CurrentDirectory + @"\TestDocuments\FieldDocs\";
        }
Пример #3
0
        //*****************************************************************************
        // Method: OpenButton_Click
        //
        // Purpose: Opens the file dialog to allow the user to select a json file to open.
        //*****************************************************************************
        private void OpenButton_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.InitialDirectory = Directory.GetCurrentDirectory();
            openFileDialog.Filter           = "JSON files (*.json)|*.json";
            if (openFileDialog.ShowDialog() == true)
            {
                string fileName = openFileDialog.FileName;

                // display file path name
                txtFilename.Text = fileName;

                // instantiate couseWork
                courseWork = new CourseWork();

                // try reading from file, if exception thrown, break
                try
                {
                    FileStream reader = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                    DataContractJsonSerializer input;
                    input      = new DataContractJsonSerializer(typeof(CourseWork));
                    courseWork = (CourseWork)input.ReadObject(reader);
                    reader.Close();
                }
                catch (IOException)
                {
                    Console.WriteLine("Invalid file name.\n");
                    return;
                }

                // clear all submission textboxes
                txtAssignmentName.Clear();
                txtSubAssignment.Clear();
                txtSubCateogry.Clear();
                txtSubGrade.Clear();

                // display course name and overall grade
                txtCourseName.Text   = courseWork.CourseName;
                txtOverallGrade.Text = Math.Round(courseWork.CalculateGrade(), 2).ToString();

                // add to category listview
                for (int i = 0; i < courseWork.Categories.Count; ++i)
                {
                    listCategories.Items.Add(courseWork.Categories[i]);
                }

                // add to assignment listview
                for (int i = 0; i < courseWork.Assignments.Count; ++i)
                {
                    listAssignments.Items.Add(courseWork.Assignments[i]);
                }

                // add to submission listview
                for (int i = 0; i < courseWork.Submissions.Count; ++i)
                {
                    listSubmissions.Items.Add(courseWork.Submissions[i]);
                }
            }
        }
        public async Task <IActionResult> Create(CreateCourseWorkModel model)
        {
            if (ModelState.IsValid)
            {
                var courseWork = new CourseWork()
                {
                    Name        = model.Name,
                    Description = model.Description
                };

                using (var memoryStream = new MemoryStream())
                {
                    if (model.File != null)
                    {
                        courseWork.File_name = model.File.FileName;
                        await model.File.CopyToAsync(memoryStream);

                        courseWork.File = Convert.ToBase64String(memoryStream.ToArray());
                    }
                    else
                    {
                        return(RedirectToAction("Create"));
                    }
                }

                db.CourseWorks.Add(courseWork);
                await db.SaveChangesAsync();

                return(RedirectToAction("AllCourseWorks"));
            }

            return(null);
        }
Пример #5
0
        //*****************************************************************************
        // Method: ImportItem_Handler
        //
        // Purpose: Reads course work data from the selected course work JSON file
        // into the database
        //*****************************************************************************
        private void ImportItem_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.InitialDirectory = Directory.GetCurrentDirectory();
            openFileDialog.Filter           = "JSON files (*.json)|*.json";
            if (openFileDialog.ShowDialog() == true)
            {
                string fileName = openFileDialog.FileName;

                // try reading from file, if exception thrown, break
                try
                {
                    FileStream reader = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                    DataContractJsonSerializer input;
                    input      = new DataContractJsonSerializer(typeof(CourseWork));
                    courseWork = (CourseWork)input.ReadObject(reader);
                    reader.Close();
                }
                catch (IOException)
                {
                    Console.WriteLine("Invalid file name.\n");
                    return;
                }

                // add data to the database
                AddData(courseWork);

                // display data from database in the submission listbox
                DisplayData();
            }
        }
Пример #6
0
        //*****************************************************************************
        // Method: AddData
        //
        // Purpose: Reads in data from the CourseWork object and adds it to the database
        //*****************************************************************************
        private void AddData(CourseWork c)
        {
            // delete all existing records before inserting new data
            string delete = "DELETE FROM Submission;";

            SqlConnection sqlConn;

            sqlConn = new SqlConnection(connString);
            sqlConn.Open();

            SqlCommand command      = new SqlCommand(delete, sqlConn);
            int        rowsAffected = command.ExecuteNonQuery();

            for (int i = 0; i < c.Submissions.Count; ++i)
            {
                // sql insert statement to insert input fields into new row
                string insert = "INSERT INTO Submission (AssignmentName, CategoryName, Grade)" +
                                "VALUES ('" + c.Submissions[i].AssignmentName + "', '" + c.Submissions[i].CategoryName + "', '" + c.Submissions[i].Grade + "');";

                sqlConn = new SqlConnection(connString);
                sqlConn.Open();

                command      = new SqlCommand(insert, sqlConn);
                rowsAffected = command.ExecuteNonQuery();
            }
        }
        public ActionResult AddCourseWork(IFormCollection collection,
                                          [FromServices] IGoogleAuthProvider auth)
        {
            string          title       = collection["Title"];
            string          description = collection["Description"];
            string          courseId    = collection["CourseId"];
            List <Material> materials   = new List <Material>()
            {
                new Material()
                {
                    Link = new Link()
                    {
                        Url = "https://www.researchgate.net/publication/303182670_Minimum_Viable_Product_or_Multiple_Facet_Product_The_Role_of_MVP_in_Software_Startups",
                    }
                }
            };

            CourseWork courseWork = new CourseWork()
            {
                CourseId                = courseId,
                Title                   = title,
                Description             = description,
                WorkType                = "ASSIGNMENT",
                MaxPoints               = 100,
                State                   = "PUBLISHED",
                AssociatedWithDeveloper = true,
                Materials               = materials,
            };
            var request = this.GetGoogleClassRoomService(auth).Courses.CourseWork.Create(courseWork, courseId).Execute();

            return(Redirect(request.AlternateLink));
        }
        //****************************************************
        // Method: ReadFromFile
        //
        // Purpose: Reads Json into  CourseWork Instance
        //          Sets TextBoxes and ListViews to Approperate
        //          Values
        //****************************************************
        private void ReadFromFile(string filename)
        {
            //Reads Json into CourseWork Class
            StreamReader sr = new StreamReader(filename);

            reader  = new FileStream(filename, FileMode.Open, FileAccess.Read);
            jsonSer = new DataContractJsonSerializer(typeof(CourseWork));
            cw      = (CourseWork)jsonSer.ReadObject(reader);
            reader.Close();
            sr.Close();

            // Sets File Path, CourseName and Grade rounded to 2 decimal places
            textBoxFilePath.Text     = filename;
            textBoxCourseName.Text   = cw.CourseName;
            textBoxOverallGrade.Text = Math.Round(cw.CalculateGrade(), 2).ToString();

            //Reads Categories, Assignments, Submissions into their respective ListViews
            foreach (Category c in cw.Categories)
            {
                listViewCategories.Items.Add(c);
            }

            foreach (Assignment a in cw.Assignments)
            {
                listViewAssignment.Items.Add(a);
            }

            foreach (Submission s in cw.Submissions)
            {
                listViewSubmissions.Items.Add(s);
            }
        }
        public async Task <IActionResult> Edit(CreateCourseWorkModel model)
        {
            if (ModelState.IsValid)
            {
                CourseWork old_courseWork = await db.CourseWorks.FirstOrDefaultAsync(p => p.Id == model.Id);

                old_courseWork.Name        = model.Name;
                old_courseWork.Description = model.Description;

                using (var memoryStream = new MemoryStream())
                {
                    if (model.File != null)
                    {
                        old_courseWork.File_name = model.File.FileName;
                        await model.File.CopyToAsync(memoryStream);

                        old_courseWork.File = Convert.ToBase64String(memoryStream.ToArray());
                    }
                }

                db.CourseWorks.Update(old_courseWork);
                await db.SaveChangesAsync();

                return(RedirectToAction("AllCourseWorks"));
            }

            return(null);
        }
Пример #10
0
        public ActionResult DeleteConfirmed(int id)
        {
            CourseWork courseWork = db.CourseWorks.Find(id);

            db.CourseWorks.Remove(courseWork);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #11
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            CourseWork courseWork = await db.CourseWorks.FindAsync(id);

            db.CourseWorks.Remove(courseWork);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Пример #12
0
        public IActionResult Get(int id)
        {
            CourseWork courseWork = db.CourseWorks.FirstOrDefault(x => x.Id == id);

            if (courseWork != null)
            {
                return(new ObjectResult(courseWork));
            }
            return(NotFound());
        }
Пример #13
0
        public async Task <ActionResult> Edit(CourseWork courseWork)
        {
            if (ModelState.IsValid)
            {
                db.Entry(courseWork).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(courseWork));
        }
Пример #14
0
 public ActionResult Edit([Bind(Include = "CourseWorkID,CourseID,Assignment1,OutOfAs1,Assignment2,OutOfAs2,Assignment3,OutOfAs3,Test1,OutOfTs1,Test2,OutOfTs2,CourseWorkRatio")] CourseWork courseWork)
 {
     if (ModelState.IsValid)
     {
         db.Entry(courseWork).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CourseID = new SelectList(db.Courses, "CourseID", "CourseName", courseWork.CourseID);
     return(View(courseWork));
 }
Пример #15
0
        /// <summary>
        /// 3. Create the assignment
        /// </summary>
        public async Task <IActionResult> Assign(CancellationToken cancellationToken, CourseWorkModel model)
        {
            var appFlow = new AppFlowMetadata(ClientId, ClientSecret, _context);
            var token   = await appFlow.Flow.LoadTokenAsync(model.UserId, cancellationToken);

            var credential = new UserCredential(appFlow.Flow, model.UserId, token);

            try
            {
                // Create the assignment
                using (var classroomService = new ClassroomService(new BaseClientService.Initializer
                {
                    HttpClientInitializer = credential,
                    ApplicationName = "gc2lti"
                }))
                {
                    var nonce   = CalculateNonce(8);
                    var linkUrl = IsRequestLocal()
                            ? $"{_configuration["Localhost"]}/gc2lti/{nonce}?u={model.Url}&c={model.CourseId}&t={model.Title}"
                            : $"{_configuration["Remotehost"]}/gc2lti/{nonce}?u={model.Url}&c={model.CourseId}&t={model.Title}";
                    var courseWork = new CourseWork
                    {
                        Title       = model.Title,
                        Description = model.Description,
                        MaxPoints   = model.MaxPoints,
                        WorkType    = "ASSIGNMENT",
                        Materials   = new List <Material>
                        {
                            new Material
                            {
                                Link = new Link
                                {
                                    Title = model.Title, // The title will be overwritten by Google's thumbnail generator
                                    Url   = linkUrl
                                }
                            }
                        },
                        State = "PUBLISHED"
                    };

                    var createRequest = classroomService.Courses.CourseWork.Create(courseWork, model.CourseId);
                    courseWork = await createRequest.ExecuteAsync(cancellationToken).ConfigureAwait(false);

                    model.CourseWorkId = courseWork.Id;

                    return(RedirectToAction("View", model));
                }
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, e));
            }
        }
Пример #16
0
        //****************************************************
        // Method: ReadFromFile
        //
        // Purpose: Reads Json into  CourseWork Instance
        //          Sets TextBoxes and ListViews to Approperate
        //          Values
        //****************************************************
        private void ReadFromFile(string filename)
        {
            //Reads Json into CourseWork Class
            StreamReader sr = new StreamReader(filename);

            reader  = new FileStream(filename, FileMode.Open, FileAccess.Read);
            jsonSer = new DataContractJsonSerializer(typeof(CourseWork));
            cw      = (CourseWork)jsonSer.ReadObject(reader);
            reader.Close();
            sr.Close();

            InsertDataToDB(cw);
        }
        // детализация информации о курсовом
        public async Task <IActionResult> Details(int?id)
        {
            if (id != null)
            {
                CourseWork courseWork = await db.CourseWorks.FirstOrDefaultAsync(p => p.Id == id);

                if (courseWork != null)
                {
                    return(View(courseWork));
                }
            }
            return(NotFound());
        }
Пример #18
0
        // GET: CourseWorks/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CourseWork courseWork = db.CourseWorks.Find(id);

            if (courseWork == null)
            {
                return(HttpNotFound());
            }
            return(View(courseWork));
        }
Пример #19
0
        // GET: CourseWorks/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CourseWork courseWork = await db.CourseWorks.FindAsync(id);

            if (courseWork == null)
            {
                return(HttpNotFound());
            }
            return(View(courseWork));
        }
Пример #20
0
        public async Task <ActionResult> Create(CourseWork courseWork)
        {
            if (ModelState.IsValid)
            {
                courseWork.Subject = await db.Subjects.FindAsync(courseWork.Subject.Id);

                db.CourseWorks.Add(courseWork);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(courseWork));
        }
Пример #21
0
        // GET: CourseWorks/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CourseWork courseWork = await db.CourseWorks.Include(cw => cw.Subject).FirstOrDefaultAsync(cw => cw.Id == id);

            if (courseWork == null)
            {
                return(HttpNotFound());
            }
            return(View(courseWork));
        }
Пример #22
0
        // GET: CourseWorks/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CourseWork courseWork = db.CourseWorks.Find(id);

            if (courseWork == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CourseID = new SelectList(db.Courses, "CourseID", "CourseName", courseWork.CourseID);
            return(View(courseWork));
        }
        public async Task <IActionResult> Delete(int?id)
        {
            if (id != null)
            {
                CourseWork courseWork = await db.CourseWorks.FirstOrDefaultAsync(p => p.Id == id);

                if (courseWork != null)
                {
                    db.CourseWorks.Remove(courseWork);
                    await db.SaveChangesAsync();

                    return(RedirectToAction("AllCourseWorks"));
                }
            }
            return(NotFound());
        }
Пример #24
0
        //****************************************************
        // Method: InsertDataToDB
        //
        // Purpose: Inserts Data to DataBase from CorseWork
        //          Variable
        //****************************************************
        private void InsertDataToDB(CourseWork cw)
        {
            SqlConnection sqlConn = OpenConn();

            foreach (Submission s in cw.Submissions)
            {
                string sql = string.Format(
                    "INSERT INTO Submissions " +
                    "(AssignmentName, CategoryName, Grade) Values" +
                    "('{0}', '{1}', '{2}')", s.AssignmentName, s.CategoryName, s.Grade);


                SqlCommand command      = new SqlCommand(sql, sqlConn);
                int        rowsAffected = command.ExecuteNonQuery();
            }
            sqlConn.Close();
        }
        // редактирование существующей курсовой работы
        public async Task <IActionResult> Edit(int?id)
        {
            if (id != null)
            {
                CourseWork courseWork = await db.CourseWorks.FirstOrDefaultAsync(p => p.Id == id);

                if (courseWork != null)
                {
                    CreateCourseWorkModel courseWorkModel = new CreateCourseWorkModel()
                    {
                        Id          = courseWork.Id,
                        Name        = courseWork.Name,
                        Description = courseWork.Description
                    };

                    return(View(courseWorkModel));
                }
            }
            return(NotFound());
        }
Пример #26
0
    public static void Main(string[] args)
    {
        int n = int.Parse(Console.ReadLine());

        for (int i = 0; i < n; i++)
        {
            string[]   lines = Console.ReadLine().Split(' ');
            CourseWork cw    = null;
            if (lines[2] == "1")
            {
                cw = new FirstYearCourseWork(lines[0], int.Parse(lines[1]));
            }
            else
            {
                cw = new SecondYearCourseWork(lines[0], int.Parse(lines[1]));
            }
        }
        Console.WriteLine(CourseWork.GetHowManyPassed);
        Console.WriteLine(SecondYearCourseWork.GetMaximum());
    }
        /// <summary>
        /// actual code to create one assignement for each sitePage
        /// </summary>
        /// <param name="state"></param>
        private void DoApiWork(object state)
        {
            foreach (var siteAssignment in sitePages)
            {
                CourseWork work = new CourseWork
                {
                    WorkType    = "ASSIGNMENT",
                    CourseId    = selectedCourse.CourseId,
                    Description = siteAssignment.Description,
                    Title       = siteAssignment.Title,
                    Materials   = new Material[] { new Material {
                                                       Link = new Link {
                                                           Url = siteAssignment.Url
                                                       }
                                                   } }.ToList(),
                         State = "DRAFT"
                };

                work = service.Courses.CourseWork.Create(work, selectedCourse.CourseId).Execute();
                //Logger.Instance.Log($"Assignment {work.Title}[{work.Id}] created");
            }

            OnCreateEnded();
        }
Пример #28
0
        static void Main(string[] args)
        {
            string menuSelection;

            // instantiate object to use with serialization/deserialization
            CourseWork courseWork = new CourseWork();

            // file names
            string fileName;

            do
            {
                // display menu
                Console.WriteLine("Course Work Menu");
                Console.WriteLine("-------------------");
                Console.WriteLine("1 - Read course work from JSON file");
                Console.WriteLine("2 - Read course work from XML file");
                Console.WriteLine("3 - Write course work to JSON file");
                Console.WriteLine("4 - Write course work to XML file");
                Console.WriteLine("5 - Display all course work on screen");
                Console.WriteLine("6 - Find submission");
                Console.WriteLine("7 - Exit");
                Console.Write("Enter Choice: ");

                // read and store user's selection
                menuSelection = Console.ReadLine();
                Console.WriteLine();

                // perform unit testing based on user's input or exit the program
                switch (menuSelection)
                {
                case "1":     // Read course work from JSON file
                    // prompt user for file name
                    Console.Write("Enter a file name to read from: ");
                    fileName = Console.ReadLine();
                    // try reading from file, if exception thrown, break
                    try
                    {
                        FileStream   reader       = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                        StreamReader streamReader = new StreamReader(reader, Encoding.UTF8);
                        string       jsonString   = streamReader.ReadToEnd();
                        byte[]       byteArray    = Encoding.UTF8.GetBytes(jsonString);
                        MemoryStream stream       = new MemoryStream(byteArray);
                        DataContractJsonSerializer input;
                        input      = new DataContractJsonSerializer(typeof(CourseWork));
                        courseWork = (CourseWork)input.ReadObject(stream);
                        reader.Close();
                    }
                    catch (IOException)
                    {
                        Console.WriteLine("Invalid file name.\n");
                    }
                    catch (SerializationException e) {
                        Console.WriteLine("Serialization exception.\n");
                        Console.WriteLine(e);
                    }
                    break;

                case "2":     // Read course work from XML file
                    // prompt user for file name
                    Console.Write("Enter a file name to read from: ");
                    fileName = Console.ReadLine();
                    // try reading from file, if exception thrown, break
                    try
                    {
                        FileStream             reader = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                        DataContractSerializer input;
                        input      = new DataContractSerializer(typeof(CourseWork));
                        courseWork = (CourseWork)input.ReadObject(reader);
                        reader.Close();
                    }
                    catch (IOException)
                    {
                        Console.WriteLine("Invalid file name.\n");
                    }
                    break;

                case "3":     // Write course work to JSON file
                    // prompt user for file name
                    Console.Write("Enter a file name to write to: ");
                    fileName = Console.ReadLine();
                    // serialization code
                    FileStream jsonWriter = new FileStream(fileName, FileMode.Create, FileAccess.Write);
                    DataContractJsonSerializer jsonSer;
                    jsonSer = new DataContractJsonSerializer(typeof(CourseWork));
                    jsonSer.WriteObject(jsonWriter, courseWork);
                    jsonWriter.Close();
                    break;

                case "4":     // Write course work to XML file
                    // prompt user for file name
                    Console.Write("Enter a file name to write to: ");
                    fileName = Console.ReadLine();
                    // serialization code
                    FileStream             xmlWriter = new FileStream(fileName, FileMode.Create, FileAccess.Write);
                    DataContractSerializer xmlSer;
                    xmlSer = new DataContractSerializer(typeof(CourseWork));
                    xmlSer.WriteObject(xmlWriter, courseWork);
                    xmlWriter.Close();
                    break;

                case "5":     // Display course work data on screen
                    Console.WriteLine(courseWork);
                    Console.WriteLine("Overall grade: " + courseWork.CalculateGrade());
                    break;

                case "6":     // Find submission
                    Console.Write("Enter assignment name: ");
                    string     assignment = Console.ReadLine();
                    Submission s          = courseWork.FindSubmission(assignment);
                    if (s != null)
                    {
                        Console.WriteLine(s);
                    }
                    else
                    {
                        Console.WriteLine("Submission not found");
                    }
                    break;

                case "7":     // Exit
                    Console.WriteLine("Exiting program.\n");
                    break;

                default:
                    Console.WriteLine("Invalid input. Please enter a choice from the menu.\n");
                    break;
                }

                Console.WriteLine();
            } while (menuSelection != "7"); // display menu until user enters "16" to exit
        }
Пример #29
0
        static void Main(string[] args)
        {
            //Variables
            string num;
            string fileNameCreate;
            string fileNameRead;
            string userInput;
            int i;

            #region Class Instatiation
            CourseWork work = new CourseWork();
            #endregion

            #region Do-while Loop
            //Loop to loop menu
            do
            {
                Console.WriteLine("CourseWork Menu");
                Console.WriteLine("---------------");
                Console.WriteLine("1 - Read Coursework from JSON file");
                Console.WriteLine("2 - Read Coursework from XML file");
                Console.WriteLine("3 - Write Coursework to JSON file");
                Console.WriteLine("4 - Write Coursework to XML file");
                Console.WriteLine("5 - Display all Coursework data on screen");
                Console.WriteLine("6 - Find Submission");
                Console.WriteLine("7 - Exit");
                Console.Write("Enter Choice: ");
                num = Console.ReadLine();
                Console.WriteLine("");

                //Parse string to int 
                if (!Int32.TryParse(num, out i)) { }

                //Checks if user inputed 1
                if (i == 1)
                {

                    //Prompt User for filename
                    Console.Write("Enter JSON Filename: ");
                    fileNameRead = Console.ReadLine();
                    Console.WriteLine("");

                    //Searches and Opens file
                    FileStream reader = new FileStream(fileNameRead, FileMode.Open, FileAccess.Read);

                    //Pulls Data from file
                    DataContractJsonSerializer inputSerializer;
                    inputSerializer = new DataContractJsonSerializer(typeof(CourseWork));

                    //Pulls Data from file and inputs it into class
                    work = (CourseWork)inputSerializer.ReadObject(reader);
                    reader.Close(); //Closes File
                }

                //Checks if User inputed 2
                if (i == 2)
                {

                    //Prompt User for filename
                    Console.Write("Enter XML Filename: ");
                    fileNameRead = Console.ReadLine();
                    Console.WriteLine("");

                    //Searches and Opens file
                    FileStream reader = new FileStream(fileNameRead, FileMode.Open, FileAccess.Read);

                    //Pulls Data from file
                    DataContractSerializer inputSerializer;
                    inputSerializer = new DataContractSerializer(typeof(CourseWork));

                    //Pulls Data from file and inputs it into class
                    work = (CourseWork)inputSerializer.ReadObject(reader);
                    reader.Close();
                }

                //Checks if user inputed 3
                if (i == 3)
                {
                    //Prompts user for filename 
                    Console.Write("Enter JSON Filename: ");
                    fileNameCreate = Console.ReadLine();
                    Console.WriteLine("");

                    //Creates JSON file to be written to 
                    FileStream writer = new FileStream(fileNameCreate, FileMode.Create, FileAccess.Write);

                    //Uses the DataContract to write to file
                    DataContractJsonSerializer ser;
                    ser = new DataContractJsonSerializer(typeof(CourseWork));

                    //Writes to file
                    ser.WriteObject(writer, work);
                    writer.Close(); //Closes File
                }

                //Checks if user inputed 4
                if (i == 4)
                {
                    //Prompts user for filename 
                    Console.Write("Enter XML Filename: ");
                    fileNameCreate = Console.ReadLine();
                    Console.WriteLine("");

                    //Creates XML file to be written to 
                    FileStream writer = new FileStream(fileNameCreate, FileMode.Create, FileAccess.Write);

                    //Uses the DataContract to write to file
                    DataContractSerializer ser;
                    ser = new DataContractSerializer(typeof(CourseWork));

                    //Writes to file
                    ser.WriteObject(writer, work);
                    writer.Close(); //Closes File
                }

                //Checks if user inputed 5
                if(i == 5)
                {
                    Console.WriteLine(work.ToString());
                }

                //Checks if user inputed 6
                if(i == 6)
                {
                    Console.WriteLine("Enter Assignment Name");
                    userInput = Console.ReadLine().Trim();
                    Console.WriteLine(work.FindSubmission(userInput).ToString());
                }

                //Checks for vaild user input
                if (i < 1 || i > 7)
                {
                    Console.WriteLine("Invaild Input");
                    Console.WriteLine("Enter 1 to 7");
                    Console.WriteLine("");
                }

            } while (i != 7); //Loop will not exit until user inputs 7
            #endregion

            //Checks if user inputed 7
            if (i == 7)
            {
                //Terminates Application
                System.Environment.Exit(1);
            }
        }
Пример #30
0
 public CourseworkWrapper(CourseWork newCoursework)
 {
     coursework = newCoursework;
 }