private void ConfirmButton_Click(object sender, RoutedEventArgs e) { if (_titleTextBox.Text == null) { error.Foreground = new SolidColorBrush(Colors.Red); error.Content = "Intitulé obligatoire"; return; } string description = _titleTextBox.Text; if (_datePicker.SelectedDate == null) { error.Foreground = new SolidColorBrush(Colors.Red); error.Content = "Date obligatoire"; return; } DateTime endDateTime = (DateTime)_datePicker.SelectedDate; int endDateTimestamp = (int)new DateTimeOffset(endDateTime).ToUnixTimeSeconds(); int selectedClassroomId = (int)_classroomComboBox.SelectedValue; List <StudentInfo> studentList = Database.Get.Student.AllFromClassroomId(selectedClassroomId); DateTime currentDate = DateTime.Now; int currentTimestamp = (int)new DateTimeOffset(currentDate).ToUnixTimeSeconds(); using SQLiteCommand cmd = GlobalFunction.OpenDbConnection(); List <HomeworkInfo> homeworkInfos = new List <HomeworkInfo>(); foreach (StudentInfo student in studentList) { HomeworkInfo homework = new HomeworkInfo() { studentId = student.studentId, description = description, endDate = endDateTimestamp, }; homeworkInfos.Add(homework); } int generatedHomework = Database.Insert.Homework.Multiple(homeworkInfos); error.Foreground = new SolidColorBrush(Colors.Green); error.Content = $"{generatedHomework} devoirs ajoutés avec succès"; }
public async Task CreateHomeworkAsync(NewHomeworkDto homeworkDto) { _logService.LogInfo($"Start creating homework {homeworkDto.HomeworkTitle} for group with id {homeworkDto.GroupId}, subject {homeworkDto.SubjectId}"); var number = await _repository.GetAll <HomeworkInfo>() .Where(homework => homework.SubjectId == homeworkDto.SubjectId) .CountAsync(); number++; var dbHomework = new HomeworkInfo { SubjectId = homeworkDto.SubjectId, MaxPoints = homeworkDto.MaxPoints, Number = number, Title = homeworkDto.HomeworkTitle }; _repository.Add(dbHomework); await _repository.SaveContextAsync(); var studentPerformanceIds = await _repository.GetAll <StudentPerformance>() .Where(performance => performance.Subject.SubjectId == dbHomework.SubjectId) .Select(performance => performance.StudentPerformanceId) .ToListAsync(); foreach (var studentPerformanceId in studentPerformanceIds) { _repository.Add(new HomeworkResult { HomeworkInfoId = dbHomework.HomeworkInfoId, StudentPerformanceId = studentPerformanceId, Points = 0 }); } await _repository.SaveContextAsync(); _logService.LogInfo($"Homework {homeworkDto.HomeworkTitle} for group with id {homeworkDto.GroupId}, subject {homeworkDto.SubjectId} created"); }
public static List <HomeworkInfo> All(string type) { using SQLiteCommand cmd = GlobalFunction.OpenDbConnection(); List <HomeworkInfo> homeworks = new List <HomeworkInfo>(); cmd.CommandText = "SELECT * FROM homeworks"; using SQLiteDataReader rdr = cmd.ExecuteReader(); //homeworks(homeworkId INTEGER PRIMARY KEY, studentId INTEGER, creationDate INTEGER, endDate INTEGER, retrieveDate INTEGER, description TEXT, active BOOLEAN); while (rdr.Read()) { HomeworkInfo homework = new HomeworkInfo() { homeworkId = rdr.GetInt32(0), studentId = rdr.GetInt32(1), creationDate = rdr.GetInt32(2), endDate = rdr.GetInt32(3), retrieveDate = rdr.GetInt32(4), description = rdr.GetString(5), active = rdr.GetBoolean(6) }; homeworks.Add(homework); } return(homeworks); }