private static Hometask GetHometaskById(int hometaskId) { using (SqlConnection connection = GetConnection()) { SqlCommand sqlCommand = new SqlCommand($@"SELECT * FROM Hometask WHERE Id = {hometaskId}", connection); Hometask hometask = new Hometask(); using (var reader = sqlCommand.ExecuteReader()) { while (reader.Read()) { hometask.Id = reader.GetInt32(0); hometask.Date = reader.GetDateTime(1); hometask.Title = reader.GetString(2); hometask.Description = reader.GetString(3); hometask.Number = reader.GetInt16(4); int courseId = reader.GetInt32(5); hometask.Course = GetCourseById(courseId); } } return(hometask); } }
public static List <Hometask> GetAllHometasks() { using (SqlConnection connection = GetConnection()) { SqlCommand sqlCommand = new SqlCommand(@"SELECT * FROM HomeTask", connection); List <Hometask> hometasks = new List <Hometask>(); using (var reader = sqlCommand.ExecuteReader()) { while (reader.Read()) { Hometask hometask = new Hometask(); hometask.Id = reader.GetInt32(0); hometask.Date = reader.GetDateTime(1); hometask.Title = reader.GetString(2); hometask.Description = reader.GetString(3); hometask.Number = reader.GetInt16(4); int courseId = reader.GetInt32(5); hometask.Course = GetCourseById(courseId); hometasks.Add(hometask); } } return(hometasks); } }
private XElement GetHometaskXmlPresentation(Hometask hometask) { XElement hometaskElement = new XElement("hometask", new XAttribute("id", hometask.Id), new XAttribute("name", hometask.Name), new XAttribute("description", hometask.Description), new XAttribute("date", hometask.Date.GetDate()), new XAttribute("serial-number", hometask.SerialNumber) ); XElement course = new XElement("course"); course.Add(new XElement("course", new XAttribute("id", hometask.Course.Id), new XAttribute("name", hometask.Course.Name)) ); XElement hometaskMarksList = new XElement("hometask-marks"); foreach (var mark in hometask.HomeworkMarks) { hometaskMarksList.Add(new XElement("mark", new XAttribute("id", mark.Id), new XAttribute("done", mark.Done)) ); } hometaskElement.Add(course); hometaskElement.Add(hometaskMarksList); return(hometaskElement); }
/// <summary> /// Запись домашнего задания. /// </summary> /// <param name="hometask">Домашнее задание.</param> /// <returns>Ответ от сервера.</returns> public HttpResponseMessage PostHometasks(Hometask hometask) { using (var client = createClient(_accessToken)) { var response = client.PostAsJsonAsync(_appPath + "/api/Hometasks", hometask).Result; return(response); } }
public void SummarizeHometask_Test() { var hometask = new Hometask { Description = "Exercises 8, 9, 10", DueDate = DateTime.Now.AddMinutes(10), Id = 3, Subject = "InfoTech" }; Assert.AreEqual(hometask.ToString(), TextBuilder.Summarize(hometask)); }
private List <Hometask> GetHometasksFromNode(XElement hometasksNode) { List <Hometask> hometasks = new List <Hometask>(); foreach (var hometask in hometasksNode.Elements()) { Hometask importHometask = new Hometask { Id = Convert.ToInt32(hometask.Attribute("id").Value), Name = hometask.Attribute("name").Value, Description = hometask.Attribute("description").Value, Date = hometask.Attribute("date").Value.GetDate(), SerialNumber = Convert.ToInt32(hometask.Attribute("serial-number").Value) }; hometasks.Add(importHometask); } return(hometasks); }
/// <summary> /// Запись домашнего задания. /// </summary> /// <param name="error">Ошибка.</param> /// <param name="lesson">Предмет.</param> /// <param name="value">Текст домашнего задания.</param> /// <returns></returns> public HttpStatusCode PostHometask(out string error, Hometask hometask) { error = ""; HttpResponseMessage response = null; try { response = _database.PostHometasks(hometask); } catch (WebException ex) { error = _errorDisconnect; return(HttpStatusCode.BadGateway); } if (response.StatusCode != HttpStatusCode.OK) { error = getErrorMessage(response); return(response.StatusCode); } return(response.StatusCode); }
private Academy GetAcademyObjectModelFromXml(XDocument document) { Academy academy = new Academy(); XElement academyNode = document.Elements().First(); XElement coursesNode = academyNode.Descendants("courses-list").FirstOrDefault(); List <Course> courses = GetCoursesFromNode(coursesNode); XElement lecturersNode = academyNode.Descendants("lecturers-list").FirstOrDefault(); List <Lecturer> lecturers = GetLecturersFromNode(lecturersNode); XElement studentsNode = academyNode.Descendants("students-list").FirstOrDefault(); List <Student> students = GetStudentsFromNode(studentsNode); XElement hometasksNode = academyNode.Descendants("hometasks-list").FirstOrDefault(); List <Hometask> hometasks = GetHometasksFromNode(hometasksNode); XElement hometasksMarksNode = academyNode.Descendants("hometasks-marks-list").FirstOrDefault(); List <HometaskMark> hometasksMarks = GetHometasksMarksFromNode(hometasksMarksNode); List <KeyValuePair <int, int> > bindingCoursesLecturersDictionary = GetBindingDictionaryById(coursesNode, "lecturers"); List <KeyValuePair <int, int> > bindingCoursesStudentsDictionary = GetBindingDictionaryById(coursesNode, "students"); List <KeyValuePair <int, int> > bindingCoursesHometasksDictionary = GetBindingDictionaryById(coursesNode, "hometasks"); List <KeyValuePair <int, int> > bindingStudentsMarksDictionary = GetBindingDictionaryById(studentsNode, "hometask-marks"); List <KeyValuePair <int, int> > bindingMarksHometasksDictionary = GetBindingDictionaryById(hometasksMarksNode, "hometask"); List <KeyValuePair <int, int> > bindingMarksCoursesDictionary = GetBindingDictionaryById(hometasksMarksNode, "course"); // courses and lecturers binding foreach (var courseLecturer in bindingCoursesLecturersDictionary) { Course course = courses.Where(n => n.Id == courseLecturer.Key).First(); Lecturer lecturer = lecturers.Where(n => n.Id == courseLecturer.Value).First(); course.Lecturers.Add(lecturer); lecturer.Courses.Add(course); } // courses and students binding foreach (var courseStudent in bindingCoursesStudentsDictionary) { Course course = courses.Where(n => n.Id == courseStudent.Key).First(); Student student = students.Where(n => n.Id == courseStudent.Value).First(); course.Students.Add(student); student.Courses.Add(course); } // courses and hometasks binding foreach (var courseHometask in bindingCoursesHometasksDictionary) { Course course = courses.Where(n => n.Id == courseHometask.Key).First(); Hometask hometask = hometasks.Where(n => n.Id == courseHometask.Value).First(); course.Hometasks.Add(hometask); hometask.Course = course;; } // staudents and marks binding foreach (var studentMark in bindingStudentsMarksDictionary) { Student student = students.Where(n => n.Id == studentMark.Key).First(); HometaskMark mark = hometasksMarks.Where(n => n.Id == studentMark.Value).First(); student.Marks.Add(mark); } // marks and hometasks binding foreach (var markHometask in bindingMarksHometasksDictionary) { HometaskMark mark = hometasksMarks.Where(n => n.Id == markHometask.Key).First(); Hometask hometask = hometasks.Where(n => n.Id == markHometask.Value).First(); mark.Hometask = hometask; hometask.HomeworkMarks.Add(mark); } // marks and courses binding foreach (var markHometask in bindingMarksCoursesDictionary) { HometaskMark mark = hometasksMarks.Where(n => n.Id == markHometask.Key).First(); Course course = courses.Where(n => n.Id == markHometask.Value).First(); mark.Course = course; } academy.Courses = courses; academy.Lecturers = lecturers; academy.Students = students; academy.Hometasks = hometasks; academy.HometasksMarks = hometasksMarks; return(academy); }
protected override void Seed(Context context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. E.g. // // context.People.AddOrUpdate( // p => p.FullName, // new Person { FullName = "Andrew Peters" }, // new Person { FullName = "Brice Lambson" }, // new Person { FullName = "Rowan Miller" } // ); // var hometasks = new Hometask[] { new Hometask { Description = "Exercises 1, 2, 3", DueDate = DateTime.Now.AddDays(-1), Id = 1, Subject = "IELTS" }, new Hometask { Description = "Exercises 5, 6, 7", DueDate = DateTime.Now.AddDays(1), Id = 2, Subject = "Economics" }, new Hometask { Description = "Exercises 8, 9, 10", DueDate = DateTime.Now.AddMinutes(10), Id = 3, Subject = "InfoTech" } }; var deadlines = new Deadline[] { new Deadline { Description = "Complete the survey", DueDate = DateTime.Now.AddDays(-1), Id = 1, Subject = "Statistics" }, new Deadline { Description = "Design a database", DueDate = DateTime.Now.AddDays(1), Id = 2, Subject = "Data management" }, new Deadline { Description = "Essay #1", DueDate = DateTime.Now.AddDays(-1), Id = 1, Subject = "Enterprise Architecture" } }; var users = new User[] { new User { FullName = "Sergey Pavlov", ChatId = 99999999 }, new User { FullName = "Igor Tresoumov", ChatId = 1 } }; context.Deadlines.AddOrUpdate(d => d.Description, deadlines[0], deadlines[1], deadlines[2]); context.Hometasks.AddOrUpdate(h => h.Description, hometasks); context.Users.AddOrUpdate(u => u.ChatId, users); }
public async Task AddHometask(Hometask hometask) { _db.Hometasks.Add(hometask); await _db.SaveChangesAsync(); }