public IActionResult Assessment(AssessmentStudent assessmentStudent) { var homeTask = repository.GetHomeTaskById(assessmentStudent.HomeTaskId); if (homeTask.HomeTaskAssessments.Any()) { List <HomeTaskAssessment> assessments = new List <HomeTaskAssessment>(); foreach (var homeTaskStudent in assessmentStudent.HomeTaskStudents) { assessments.Add(new HomeTaskAssessment() { Id = homeTaskStudent.HomeTaskAssessmentId, Date = DateTime.Now, IsComplete = homeTaskStudent.IsComplete }); } repository.UpdateHomeTaskAssessments(assessments); } else { foreach (var homeTaskStudent in assessmentStudent.HomeTaskStudents) { var student = repository.GetStudentById(homeTaskStudent.StudentId); homeTask.HomeTaskAssessments.Add(new HomeTaskAssessment { HomeTask = homeTask, IsComplete = homeTaskStudent.IsComplete, Student = student, Date = DateTime.Now }); } repository.CreateHomeTaskAssessments(homeTask.HomeTaskAssessments); } return(RedirectToAction("Courses", "Courses")); }
public IActionResult Assessment(int id) { var homeTask1 = repository.GetHomeTaskById(id); AssessmentStudent assessmentViewModel = new AssessmentStudent { Date = homeTask1.Date, Description = homeTask1.Description, Title = homeTask1.Title, HomeTaskStudents = new List <AssessmentStudent_Student>(), HomeTaskId = homeTask1.Id }; if (homeTask1.HomeTaskAssessments.Any()) { foreach (var homeTaskAssessment in repository.GetHomeTaskAssessmentsByHomeTaskId(id)) { assessmentViewModel.HomeTaskStudents.Add(new AssessmentStudent_Student() { StudentName = homeTaskAssessment.Student.Name, StudentId = homeTaskAssessment.Student.Id, IsComplete = homeTaskAssessment.IsComplete, HomeTaskAssessmentId = homeTaskAssessment.Id }); } } else { foreach (var student in homeTask1.Course.Students) { assessmentViewModel.HomeTaskStudents.Add(new AssessmentStudent_Student() { StudentName = student.Name, StudentId = student.Id }); } } return(View(assessmentViewModel)); }
public ActionResult AssessmentStudents(AssignStudentsModel model, FormCollection frm, bool continueSelection) { if (!_permissionService.Authorize("ManageAssessment")) { return(AccessDeniedView()); } if (continueSelection) { model.AvailableClassDivisions = _smsService.GetAllClassRoomDivisions().Select(x => new SelectListItem() { Text = "Class-" + _smsService.GetClassById(x.ClassId.Value).Name + ", Division-" + _smsService.GetDivisionById(x.DivisionId.Value).Name, Value = x.Id.ToString(), Selected = model.ClassDivisionId == x.Id }).OrderBy(x => x.Text).ToList(); // Apply Class Room Division Search var assessment = _smsService.GetAssessmentById(model.AssessmentId); if (assessment == null) { throw new ArgumentNullException("id"); } model.Assessment = assessment.Name; model.AssessmentId = assessment.Id; model.DifficultyLevel = assessment.DifficultyLevelId > 0 ? EnumExtensions.GetDescriptionByValue <DifficultyLevel>(assessment.DifficultyLevelId) : ""; model.IsTimeBound = assessment.IsTimeBound; model.MaxMarks = assessment.MaxMarks; model.PassingMarks = assessment.PassingMarks; model.StringStartTime = assessment.StartTime.Value.ToString("MMMM dd, yyyy HH:mm tt"); model.StringEndTime = assessment.EndTime.Value.ToString("MMMM dd, yyyy HH:mm tt"); model.Subject = assessment.SubjectId.HasValue && assessment.SubjectId.Value > 0 ? _smsService.GetSubjectById(assessment.SubjectId.Value).Name : "-"; model.Url = assessment.Url; model.Duration = assessment.DurationInMinutes; model.StartTime = assessment.StartTime.Value; model.EndTime = assessment.EndTime.Value; var studentsAssociated = _smsService.GetStudentsByAssessmentId(model.AssessmentId); // Subjects var pSubjects = new List <int>(); if (assessment.SubjectId.HasValue) { pSubjects.Add(assessment.SubjectId.Value); } var allstudents = _smsService.SearchStudents(classid: model.ClassDivisionId); var allHolidays = _smsService.GetAllHolidaysByAcadmicYear(assessment.AcadmicYearId); model.Holidays = allHolidays.Select(x => x.Date.Value.ToString("MMMM dd, yyyy")).ToArray(); model.List.Clear(); foreach (var q in allstudents) { model.List.Add(new AssessmentStudentModel() { AssessmentId = model.AssessmentId, Assessment = assessment.Name, AvailableGradeSystem = (from GradeSystem d in Enum.GetValues(typeof(GradeSystem)) select new SelectListItem { Text = EnumExtensions.GetDescriptionByValue <GradeSystem>(Convert.ToInt32(d)), Value = Convert.ToInt32(d).ToString(), Selected = false }).ToList(), AvailableResultStatuses = (from ResultStatus d in Enum.GetValues(typeof(ResultStatus)) select new SelectListItem { Text = EnumExtensions.GetDescriptionByValue <ResultStatus>(Convert.ToInt32(d)), Value = Convert.ToInt32(d).ToString(), Selected = false }).ToList(), Id = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).Id : 0), CertificateHtml = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).CertificateHtml : ""), GradeSystemId = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).GradeSystemId : 0), IsCompleted = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).IsCompleted : false), StudentId = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).StudentId : q.Id), IsActive = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).IsActive : false), IsExpired = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).IsExpired : false), MarksObtained = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).MarksObtained : 0), ResultStatusId = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).ResultStatusId : 0), Url = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).Url : ""), UserId = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).UserId : q.UserId), IsChecked = (studentsAssociated.Any(x => x.StudentId == q.Id) ? true : false), StartOn = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).StartOn : assessment.StartTime), EndOn = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).EndOn : assessment.EndTime), Student = (studentsAssociated.Any(x => x.StudentId == q.Id) ? studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).Student.FName + (!string.IsNullOrEmpty(studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).Student.LName) ? (" " + studentsAssociated.FirstOrDefault(x => x.StudentId == q.Id).Student.LName) : "") : _smsService.GetStudentById(q.Id).FName + (!string.IsNullOrEmpty(_smsService.GetStudentById(q.Id).LName) ? (" " + _smsService.GetStudentById(q.Id).LName) : "")) }); } return(View(model)); } else { if (ModelState.IsValid && model.SelectedStudent != null && model.SelectedStudent.Length > 0) { var alreadyAddedStudents = _smsService.GetStudentsByAssessmentId(model.AssessmentId); foreach (var id in model.SelectedStudent) { var aStudent = new AssessmentStudent(); aStudent.StudentId = id; aStudent.AssessmentId = model.AssessmentId; aStudent.StartOn = Convert.ToDateTime(frm["StartOn_" + id].ToString()); aStudent.EndOn = Convert.ToDateTime(frm["EndOn_" + id].ToString()); aStudent.GradeSystemId = (frm["GradeSystemId_" + id] != null && !string.IsNullOrEmpty(frm["GradeSystemId_" + id].ToString())) ? Convert.ToInt32(frm["GradeSystemId_" + id].ToString()) : 0; aStudent.ResultStatusId = (frm["ResultStatusId_" + id] != null && !string.IsNullOrEmpty(frm["ResultStatusId_" + id].ToString())) ? Convert.ToInt32(frm["ResultStatusId_" + id].ToString()) : 0; aStudent.UserId = _userContext.CurrentUser.Id; aStudent.IsCompleted = (frm["IsCompleted_" + id] != null && !string.IsNullOrEmpty(frm["IsCompleted_" + id].ToString())) ? Convert.ToBoolean(frm["IsCompleted_" + id].ToString()) : false; aStudent.IsExpired = (frm["IsExpired_" + id] != null && !string.IsNullOrEmpty(frm["IsExpired_" + id].ToString())) ? Convert.ToBoolean(frm["IsExpired_" + id].ToString()) : false; aStudent.Url = (frm["Url_" + id] != null && !string.IsNullOrEmpty(frm["Url_" + id].ToString())) ? (_urlHelper.GetLocation(false) + frm["Url_" + id].ToString()) : ""; if (alreadyAddedStudents.Any(x => x.StudentId == id)) { var assessmentStudent = alreadyAddedStudents.FirstOrDefault(x => x.StudentId == id); assessmentStudent.StartOn = aStudent.StartOn; assessmentStudent.EndOn = aStudent.EndOn; assessmentStudent.GradeSystemId = aStudent.GradeSystemId; assessmentStudent.ResultStatusId = aStudent.ResultStatusId; assessmentStudent.UserId = aStudent.UserId; assessmentStudent.IsCompleted = aStudent.IsCompleted; assessmentStudent.IsExpired = aStudent.IsExpired; assessmentStudent.ModifiedOn = DateTime.Now; _smsService.UpdateStudentAssessment(assessmentStudent); } else { aStudent.CreatedOn = aStudent.ModifiedOn = DateTime.Now; aStudent.UserId = _userContext.CurrentUser.Id; _smsService.InsertStudentAssessment(aStudent); } } if (alreadyAddedStudents.Count > 0) { var removeStudents = alreadyAddedStudents.Where(y => model.SelectedStudent.Any(z => z != y.StudentId)).ToList(); foreach (var q in removeStudents) { _smsService.DeleteStudentAssessment(q.StudentId); } } } SuccessNotification("Assessment updated successfully."); } return(RedirectToAction("AssessmentStudents", new { id = model.AssessmentId })); }
public virtual void AddStudentAssessmentTokens(IList <DataToken> tokens, AssessmentStudent stuassessment) { var stuAssessmentData = _studentAssessmentRepository.GetByID(stuassessment.Id); var assessmentData = new Assessment(); var studentData = new Student(); if (stuAssessmentData != null && stuAssessmentData.Assessment != null) { assessmentData = stuAssessmentData.Assessment; studentData = stuAssessmentData.Student; } tokens.Add(new DataToken() { Name = "Assessment Student First Name", SystemName = "AssessmentStudentFirstName", Value = studentData.FName }); tokens.Add(new DataToken() { Name = "Assessment Student Last Name", SystemName = "AssessmentStudentLastName", Value = studentData.FName }); tokens.Add(new DataToken() { Name = "Assessment Student User Name", SystemName = "AssessmentStudentUserName", Value = studentData.UserName }); if (studentData.AcadmicYearId > 0) { tokens.Add(new DataToken() { Name = "Assessment Student Acadmic Year", SystemName = "AssessmentStudentAcadmicYear", Value = _acadmicYearRepository.GetByID(studentData.AcadmicYearId)?.Name }); } tokens.Add(new DataToken() { Name = "Assessment Student Date Of Birth", SystemName = "AssessmentStudentDOB", Value = studentData.DateOfBirth?.ToString("dd MMM yyyy") }); if (stuAssessmentData != null) { tokens.Add(new DataToken() { Name = "Student Assessment Start On", SystemName = "StudentAssessmentStartOn", Value = assessmentData.OpenToAnonymousUsers ? assessmentData.StartTime?.ToString("dd MMM yyyy HH:mm") ?? "Start Time Not Specified" : stuAssessmentData.StartOn?.ToString("dd MMM yyyy HH:mm") ?? "Start Time Not Specified" }); } if (stuAssessmentData != null) { tokens.Add(new DataToken() { Name = "Student Assessment End On", SystemName = "StudentAssessmentEndOn", Value = assessmentData.OpenToAnonymousUsers ? assessmentData.EndTime?.ToString("dd MMM yyyy HH:mm") ?? "End Time Not Specified" : stuAssessmentData.EndOn?.ToString("dd MMM yyyy HH:mm") ?? "End Time Not Specified" }); } if (stuAssessmentData != null) { tokens.Add(new DataToken() { Name = "Student Assessment Url", SystemName = "StudentAssessmentUrl", Value = stuAssessmentData.Url }); } if (stuAssessmentData != null) { tokens.Add(new DataToken() { Name = "Student Assessment Marks Obtained", SystemName = "StudentAssessmentMarksObtained", Value = stuAssessmentData.MarksObtained.ToString("f2") }); } if (stuAssessmentData != null) { tokens.Add(new DataToken() { Name = "Student Assessment Result", SystemName = "StudentAssessmentResultStatus", Value = Enum.GetName(typeof(ResultStatus), stuAssessmentData.ResultStatusId) }); } tokens.Add(new DataToken() { Name = "Assessment Start Time", SystemName = "AssessmentStartTime", Value = assessmentData.StartTime?.ToString("dd MMM yyyy HH:mm") ?? "Start Time Not Specified" }); tokens.Add(new DataToken() { Name = "Assessment End Time", SystemName = "AssessmentEndTime", Value = assessmentData.EndTime?.ToString("dd MMM yyyy HH:mm") ?? "Start Time Not Specified" }); tokens.Add(new DataToken() { Name = "Assessment Url", SystemName = "AssessmentUrl", Value = assessmentData.Url }); tokens.Add(new DataToken() { Name = "Assessment Name", SystemName = "AssessmentName", Value = assessmentData.Name }); tokens.Add(new DataToken() { Name = "Assessment Passing Marks", SystemName = "AssessmentPassingMarks", Value = Math.Round(assessmentData.PassingMarks.Value).ToString(CultureInfo.InvariantCulture) }); tokens.Add(new DataToken() { Name = "Assessment Max Marks", SystemName = "AssessmentMaxMarks", Value = Math.Round(assessmentData.MaxMarks.Value).ToString(CultureInfo.InvariantCulture) }); tokens.Add(new DataToken() { Name = "Assessment Instructions", SystemName = "AssessmentInstructions", Value = assessmentData.Instructions }); tokens.Add(new DataToken() { Name = "Assessment Is Time bound", SystemName = "AssessmentIsTimeBound", Value = assessmentData.IsTimeBound ? "Yes" : "No" }); tokens.Add(new DataToken() { Name = "Assessment Total Questions", SystemName = "AssessmentTotalQuestions", Value = assessmentData.TotalQuestions.ToString() }); tokens.Add(new DataToken() { Name = "Assessment Duration(In Mins.)", SystemName = "AssessmentDuration", Value = assessmentData.DurationInMinutes.HasValue ? assessmentData.DurationInMinutes.Value.ToString(CultureInfo.InvariantCulture) : "Unknown" }); tokens.Add(new DataToken() { Name = "Assessment Mandatory To Solve All Questions", SystemName = "AssessmentMandatoryToSolveAll", Value = assessmentData.MandatoryToSolveAll ? "True" : "False" }); }
public static AssessmentStudent ToEntity(this AssessmentStudentModel model, AssessmentStudent destination) { return(model.MapTo(destination)); }
public static AssessmentStudentModel ToModel(this AssessmentStudent entity) { return(entity.MapTo <AssessmentStudent, AssessmentStudentModel>()); }