private void btnSave_Click(object sender, EventArgs e) { lblError.Text = ""; if (nddScore.Value <= 0) { lblError.Text = @"Score is required"; return; } if ((nddScore.Value % 1) != 0) { lblError.Text = @"Score is whole number"; return; } try { MatricNumber = AspNetUserService.GetStudentId((string)ddlMatricNumber.SelectedValue); var studentDetails = $"{MatricNumber.FirstName} {MatricNumber.LastName}({MatricNumber.MatricNumber})"; var level = LevelService.GetItem(LevelId); if (level.SectionModels != null && level.SectionModels.Count > 0) { var message = $@"Result Details {Environment.NewLine}Matric Number: {studentDetails}{Environment.NewLine}Course: {(string)ddlCourse.SelectedValue}{Environment.NewLine}Result: {nddScore.Value}"; var dialogResult = MessageBox.Show(message, @"Result Details", MessageBoxButtons.OK, MessageBoxIcon.Information); if (dialogResult == DialogResult.OK) { var cId = CourseService.GetCourseByName((string)ddlCourse.SelectedValue).Id; var courseWithResult = ResultService.CanSaveResult(MatricNumber.Id, cId); if (courseWithResult != null) { MessageBox.Show(@"Student already have result", "Upload Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var result = new ResultModel { SectionId = level.SectionModels.FirstOrDefault().Id, CourseId = cId, StudentId = MatricNumber.Id, Score = int.Parse(nddScore.Value.ToString()), CreatedAt = DateTime.UtcNow }; ResultService.Create(result, 0); MessageBox.Show($@"Result of {studentDetails} is saved", "Upload successfull", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show(@"Ensure that LEVEL selected has a SESSION attached to it.", "Upload Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { _logger.Error("Error Message: " + ex.Message.ToString(), ex); MessageBox.Show($@"Message: {ex.Message}{Environment.NewLine}Stack Message: {ex.StackTrace}", $@"Error Message from {typeof(SingleStudentSemesterResult)}"); } }
private void btnUpload_Click(object sender, EventArgs e) { try { var level = LevelService.GetLevelId((string)ddlLevel2.SelectedValue); if (level.SectionModels != null && level.SectionModels.Count > 0) { if (TextHelper.ContainsValue(new List <string> { beResultTemplate.Value })) { lblError.Text = @"Result data is not selected"; return; } var dataRows = FileHelper.GetDataFromFile(beResultTemplate.Value); var models = new List <ResultSingleStudentTemplateDownloadModel>(); var rowIndex = 2; foreach (var row in dataRows) { try { var institutionModel = new ResultSingleStudentTemplateDownloadModel() { CourseCode = row["CourseCode"].ToString(), Score = Convert.ToInt32(row["Score"].ToString()), }; models.Add(institutionModel); } catch (Exception ex) { MessageBox.Show(ex.Message); } } gridSingleStudentResult.DataSource = models; _resultTemplateDownloadModels = models; MatricNumber = AspNetUserService.GetStudentId((string)ddlMatricNumber.SelectedValue); gridSingleStudentResult.Enabled = true; gridSingleStudentResult.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; SemesterId = SemesterService.GetSemesterId((string)ddlSemester2.SelectedValue); LevelId = level.Id; } else { MessageBox.Show(@"Ensure that LEVEL selected has a SESSION attached to it.", "Upload Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { _logger.Error("Error Message: " + ex.Message.ToString(), ex); MessageBox.Show($@"Message: {ex.Message}{Environment.NewLine}Stack Message: {ex.StackTrace}", $@"Error Message from {typeof(SingleStudentSemesterResult)}"); } }
private void btnUpload_Click(object sender, EventArgs e) { try { LevelId = LevelService.GetLevelId((string)ddlLevel.SelectedValue).Id; SemesterId = SemesterService.GetSemesterId((string)ddlSemester.SelectedValue); Student = AspNetUserService.GetStudentId((string)ddlMatricNumber.SelectedValue); List <ResultSingleStudentTemplateDownloadModel> forSemester = ResultService.GetStudentResultForSemester(Student.Id, LevelId, SemesterId); gridSingleStudentResult.DataSource = forSemester; gridSingleStudentResult.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; } catch (Exception ex) { _logger.Error("Error Message: " + ex.Message.ToString(), ex); this.ShowMessageBox($@"Message: {ex.Message}{Environment.NewLine}Stack Message: {ex.StackTrace}", $@"Error Message from {typeof(SingleStudentSemesterResult)}"); } }
private void Initialize() { var semesterItems = SemesterService.GetCount().OrderBy(c => c.Id).ToList(); var levels = LevelService.GetCount().OrderBy(c => c.Id).ToList(); ddlSemester.DataSource = semesterItems.ToList().Select(c => c.Name); ddlLevel.DataSource = levels.Select(c => c.Name); ddlMatricNumber.DataSource = AspNetUserService .GetCount(Enum.GetName(typeof(RolesConstants.Enum), RolesConstants.Enum.Student)) .Select(c => c.MatricNumber); ddlLevel.SelectedIndexChanged += (sender, args) => { LevelId = LevelService.GetLevelId((string)ddlLevel.SelectedValue).Id; }; ddlSemester.SelectedIndexChanged += (sender, args) => { SemesterId = SemesterService.GetSemesterId((string)ddlSemester.SelectedValue); }; ddlMatricNumber.SelectedIndexChanged += (sender, args) => { Student = AspNetUserService.GetStudentId((string)ddlMatricNumber.SelectedValue); }; LoadDataForResult(); }
private void btnLoadReport_Click(object sender, EventArgs e) { Student = AspNetUserService.GetStudentId((string)ddlMatricNumber.SelectedValue); LevelId = LevelService.GetLevelId((string)ddlLevel.SelectedValue).Id; SemesterId = SemesterService.GetSemesterId((string)ddlSemester.SelectedValue); var result = ResultService.StudentSemesterResult(Student.Id, LevelId, SemesterId); if (result == null) { this.ShowMessageBox("Can not load result at this time, please check selected values", "Error processing result", MessageBoxButtons.OK, RadMessageIcon.Error); return; } ReportDataSource studentDetails = new ReportDataSource("StudentDetails", new List <ReportStudentDetail>() { result.StudentDetail ?? new ReportStudentDetail(), }); ReportDataSource reportStudentSemesterCourse = new ReportDataSource("ReportStudentSemesterCourse", result.SemesterCourse ); ReportDataSource reportGradeDetail = new ReportDataSource("ReportGradeDetail", new List <ReportGradeDetail>() { result.GradeDetail ?? new ReportGradeDetail(), } ); reportViewer1.LocalReport.DataSources.Clear(); reportViewer1.LocalReport.DataSources.Add(reportGradeDetail); reportViewer1.LocalReport.DataSources.Add(reportStudentSemesterCourse); reportViewer1.LocalReport.DataSources.Add(studentDetails); reportViewer1.RefreshReport(); }
public AllCourseStudent() { InitializeComponent(); var semesterItems = SemesterService.GetCount().OrderBy(c => c.Id).ToList(); var levels = LevelService.GetCount().OrderBy(c => c.Id).ToList(); ddlSemester.DataSource = semesterItems.ToList().Select(c => c.Name); ddlLevel.DataSource = levels.Select(c => c.Name); gridSingleStudentResult.Enabled = false; ddlMatricNumber.DataSource = AspNetUserService .GetCount(Enum.GetName(typeof(RolesConstants.Enum), RolesConstants.Enum.Student)) .Select(c => c.MatricNumber); ddlLevel.SelectedIndexChanged += (sender, args) => { LevelId = LevelService.GetLevelId((string)ddlLevel.SelectedValue).Id; }; ddlSemester.SelectedIndexChanged += (sender, args) => { SemesterId = SemesterService.GetSemesterId((string)ddlSemester.SelectedValue); }; ddlMatricNumber.SelectedIndexChanged += (sender, args) => { Student = AspNetUserService.GetStudentId((string)ddlMatricNumber.SelectedValue); }; }
private void btnSaveResult_Click(object sender, EventArgs e) { try { var level = LevelService.GetItem(LevelId); var semester = SemesterService.GetSemester(SemesterId).Name; var course = CourseService.GetCourse(CourseId).Code; if (level.SectionModels != null && level.SectionModels.Count > 0) { var message = $@"Upload Details {Environment.NewLine}Level: {level.Name}{Environment.NewLine}Semester: {semester}{Environment.NewLine}Course: {course}{Environment.NewLine}Number of student: {_resultTemplateDownloadModels.Count}"; var dialogResult = this.ShowMessageBox(message, @"Data Upload Details", MessageBoxButtons.OKCancel, RadMessageIcon.Info); if (dialogResult == DialogResult.OK) { var results = new List <ResultModel>(); var studentProcessed = $@"Student Processed: {Environment.NewLine}"; var studentInDb = $@"Student with result: {Environment.NewLine}"; foreach (var resultSingleStudentTemplateDownloadModel in _resultTemplateDownloadModels) { var studentModel = AspNetUserService.GetStudentId(resultSingleStudentTemplateDownloadModel.MatricNumber); var courseModel = CourseService.GetCourse(CourseId); if (string.IsNullOrWhiteSpace(resultSingleStudentTemplateDownloadModel.MatricNumber)) { continue; } if (courseModel == null) { continue; } var courseWithResult = ResultService.CanSaveResult(studentModel.Id, courseModel.Id); if (courseWithResult != null) { studentInDb += $"{studentModel.MatricNumber}: {courseWithResult.Score} {Environment.NewLine}"; continue; } var result = new ResultModel { SectionId = level.SectionModels.FirstOrDefault().Id, CourseId = courseModel.Id, StudentId = studentModel.Id, Score = resultSingleStudentTemplateDownloadModel.Score, CreatedAt = DateTime.UtcNow }; results.Add(result); studentProcessed += $"{studentModel.MatricNumber}: {result.Score} {Environment.NewLine}"; } ResultService.CreateBulk(results); this.ShowMessageBox($@"{studentProcessed}{Environment.NewLine}{studentInDb}", @"Result Successed", MessageBoxButtons.OK, RadMessageIcon.Info); } } else { this.ShowMessageBox(@"Ensure that LEVEL selected has a SESSION attached to it.", "Upload Error", MessageBoxButtons.OK, RadMessageIcon.Error); } } catch (Exception ex) { _logger.Error("Error Message: " + ex.Message, ex); this.ShowMessageBox($@"Message: {ex.Message}{Environment.NewLine}Stack Message: {ex.StackTrace}", $@"Error Message from {typeof(SingleStudentSemesterResult)}"); } }
private void btnSave_Click(object sender, EventArgs e) { try { SemesterId = SemesterService.GetSemesterId((string)ddlSemester.SelectedValue); var level = LevelService.GetLevelId((string)ddlLevel.SelectedValue); LevelId = level.Id; Student = AspNetUserService.GetStudentId((string)ddlMatricNumber.SelectedValue); var data = (List <ResultSingleStudentTemplateDownloadModel>)gridSingleStudentResult.DataSource; var oldResult = ResultService.GetStudentResultForSemester(Student.Id, LevelId, SemesterId); var updateResult = false; if (oldResult.Count == data.Count) { updateResult = true; var dialog = this.ShowMessageBox(@"Student have results for this semester already, Could you like to update it.", "Result Compeletion", MessageBoxButtons.OKCancel, RadMessageIcon.Error); if (dialog == DialogResult.Cancel) { return; } } if (oldResult.Count < data.Count) { var dialog = this.ShowMessageBox($@"Student have {oldResult.Count} results for this semester already, could you like to save the rest.", "Result Processing", MessageBoxButtons.OKCancel, RadMessageIcon.Error); if (dialog == DialogResult.Cancel) { return; } } var newData = data.Except(oldResult, new ResultSingleStudentTemplateDownloadModelComparer()).ToList(); var message = string.Empty; if (newData.Any()) { List <ResultModel> resultModels = new List <ResultModel>(); foreach (var resultSingleCourseTemplateDownloadModel in newData) { var result = oldResult.FirstOrDefault(c => c.CourseCode.Equals(resultSingleCourseTemplateDownloadModel.CourseCode, StringComparison.OrdinalIgnoreCase)); ResultModel model = null; if (result != null) { if (CheckScore(resultSingleCourseTemplateDownloadModel)) { return; } if (updateResult) { model = ResultService.GetByMatricNumberCourseCode(Student.MatricNumber, result.CourseCode); model.Score = resultSingleCourseTemplateDownloadModel.Score; } if (updateResult) { message += $"{resultSingleCourseTemplateDownloadModel.CourseCode}: Old({result.Score}) - New({resultSingleCourseTemplateDownloadModel.Score}){Environment.NewLine}"; } } else { if (CheckScore(resultSingleCourseTemplateDownloadModel)) { return; } var cId = CourseService.GetCourseByName(resultSingleCourseTemplateDownloadModel.CourseCode).Id; model = new ResultModel { SectionId = level.SectionModels.FirstOrDefault().Id, CourseId = cId, StudentId = Student.Id, Score = resultSingleCourseTemplateDownloadModel.Score, CreatedAt = DateTime.UtcNow }; message += $"{resultSingleCourseTemplateDownloadModel.CourseCode}: {resultSingleCourseTemplateDownloadModel.Score}{Environment.NewLine}"; } if (model != null) { resultModels.Add(model); } } if (!string.IsNullOrWhiteSpace(message)) { var dialogResult = this.ShowMessageBox(message, "Result to process", MessageBoxButtons.OKCancel, RadMessageIcon.Info); if (dialogResult == DialogResult.OK) { if (updateResult) { ResultService.UpdateBulk(resultModels); } else { ResultService.CreateBulk(resultModels); } this.ShowMessageBox($"{newData.Count} processed", "Result after processing", MessageBoxButtons.OKCancel); gridSingleStudentResult.DataSource = ResultService.GetStudentResultForSemester(Student.Id, LevelId, SemesterId); } } return; } message = "No result to update"; this.ShowMessageBox(message, "Update Process", MessageBoxButtons.OK, RadMessageIcon.Info); } catch (Exception ex) { _logger.Error("Error Message: " + ex.Message, ex); this.ShowMessageBox($@"Message: {ex.Message}{Environment.NewLine}Stack Message: {ex.StackTrace}", $@"Error Message from {typeof(AllStudentCourseResult)}"); } }