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(); } }
public void Setup() { var courseWorkTemplate = new CourseWork(); _template = courseWorkTemplate; _path = Environment.CurrentDirectory + @"\TestDocuments\FieldDocs\"; }
//***************************************************************************** // 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); }
//***************************************************************************** // 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(); } }
//***************************************************************************** // 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); }
public ActionResult DeleteConfirmed(int id) { CourseWork courseWork = db.CourseWorks.Find(id); db.CourseWorks.Remove(courseWork); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <ActionResult> DeleteConfirmed(int id) { CourseWork courseWork = await db.CourseWorks.FindAsync(id); db.CourseWorks.Remove(courseWork); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public IActionResult Get(int id) { CourseWork courseWork = db.CourseWorks.FirstOrDefault(x => x.Id == id); if (courseWork != null) { return(new ObjectResult(courseWork)); } return(NotFound()); }
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)); }
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)); }
/// <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)); } }
//**************************************************** // 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()); }
// 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)); }
// 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)); }
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)); }
// 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)); }
// 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()); }
//**************************************************** // 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()); }
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(); }
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 }
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); } }
public CourseworkWrapper(CourseWork newCoursework) { coursework = newCoursework; }