public void Add() { ValidationErrors = null; var duplicates = new List <string>(); foreach (var studentId in SelectedStudents) { var student = StudentsList.FirstOrDefault(_ => _.Id == studentId); foreach (var courseInstanceIds in SelectedCourseInstances) { var courseInstance = CourseInstancesList.FirstOrDefault(_ => _.Value.SemesterId == courseInstanceIds.SemesterId && _.Value.CourseId == courseInstanceIds.CourseId); if (NewEnrolments.Any(_ => _.Student.Id == student.Id && _.Semester.Id == courseInstance.Semester.Id && _.Course.Id == courseInstance.Course.Id)) { duplicates.Add(string.Format($"{student.UserFriendly} - {courseInstance.UserFriendly}")); continue; } NewEnrolments.Add(new EnrolmentCreateListModel { Student = student, Course = courseInstance.Course, Semester = courseInstance.Semester, Enrolment = new EnrolmentCreate { StudentId = student.Id, CourseInstance = new CourseInstanceBase { CourseId = courseInstance.Course.Id, SemesterId = courseInstance.Semester.Id } } }); } } if (duplicates.Any()) { ValidationErrors = new List <string> { "Duplikati :" }; duplicates.ForEach(_ => ValidationErrors.Add(_)); ValidationErrors.Add("nisu dodani ponovno."); } }
public async Task ForceSave() { ValidationErrors = null; try { await _enrolmentService.UpdateAndCreate(NewEnrolments.Select(_ => _.Enrolment).ToList()); Context.RedirectToRoute("Enrolments"); } catch (ValidationPropertyException vpe) { ValidationErrors = vpe.ErrorsList.ToList(); } catch (ValidationException ve) { ValidationErrors = ve.Errors.ToList(); } }
public async Task ForceSave() { ValidationErrors = null; try { await _enrolmentService.UpdateAndCreate(NewEnrolments.Select(_ => _.Enrolment).ToList()); Enrolments.RequestRefresh(); NewEnrolments = null; CreateMode = false; Enrolments.RowEditOptions.EditRowId = null; } catch (ValidationPropertyException vpe) { ValidationErrors = vpe.ErrorsList.ToList(); } catch (ValidationException ve) { ValidationErrors = ve.Errors.ToList(); } }
public void Remove(EnrolmentCreateListModel item) { var removed = NewEnrolments.Remove(item); }