public void NewAddress_InsertOrUpdate_Persisted() { var detail = new StudentDetailModel() { Name = "Jane Doe", Address = new AddressDetailModel() { City = "Brno", Country = "Jihomoravsky-kraj", State = "Czechia", Street = "Bozetechova 2", }, Grade = new GradeMapper().MapListModel(Seed.GradeJane), Courses = new List <StudentCourseListModel>() { new StudentCourseListModel() { CourseId = Seed.IcsCourse.Id, Name = Seed.IcsCourse.Name, } } }; detail = _facadeSUT.Save(detail); Assert.NotEqual(Guid.Empty, detail.Id); var entityFromDb = _repository.GetById(detail.Id); Assert.Equal(detail, _mapper.Map(entityFromDb), StudentDetailModel.StudentDetailModelComparer); }
public void GivenStudentWithSchool_WhenGettingStudentDetails_ThenViewModelContainsSchoolName() { ViewResult result = Target.Details(1) as ViewResult; StudentDetailModel actual = result.AssertGetViewModel <StudentDetailModel>(); Assert.IsNotNull(actual.SchoolName); }
public StudentDetailModel GenerateStudentDetailViewModel(EducationSecurityPrincipal user, int id) { Student student = StudentRepository.Items.Include(s => s.ApprovedProviders). Include("CustomFieldValues.CustomDataOrigin"). Include("CustomFieldValues.CustomField"). Include("Classes.Teacher"). Include("ServiceRequests.CreatingUser"). Include("ServiceRequests.ServiceType"). Include("ServiceRequests.Subject"). Include("ServiceRequests.FulfillmentDetails.FulfillmentStatus"). Include("ServiceRequests.FulfillmentDetails.CreatingUser"). Include("StudentAssignedOfferings.ServiceOffering.Provider"). Include("StudentAssignedOfferings.ServiceOffering.ServiceType"). Include("StudentAssignedOfferings.ServiceOffering.Program"). Include("StudentAssignedOfferings.CreatingUser"). Include(s => s.School). SingleOrDefault(i => i.Id == id); if (student == null) { throw new EntityNotFoundException("Requested student could not be found."); } IViewStudentDetailPermission permission = (IViewStudentDetailPermission)PermissionFactory.Current.Create("ViewStudentDetail", student); permission.GrantAccess(user); StudentDetailModel viewModel = new StudentDetailModel(); viewModel.OnlyUploadedCustomField = permission.CustomFieldOnly; List <CustomFieldValue> displayFields = new List <CustomFieldValue>(); if (permission.CustomFieldOnly) { displayFields = student.CustomFieldValues.Where(c => c.CustomDataOrigin.CreatingUserId == user.Identity.User.Id).ToList(); } else { foreach (var field in student.CustomFieldValues) { IPermission fieldPermission = PermissionFactory.Current.Create("ViewStudentCustomFieldData", field.CustomField); if ((field.CustomDataOrigin.CreatingUserId == user.Identity.User.Id) || (fieldPermission.TryGrantAccess(user))) { displayFields.Add(field); } } } PrivateHealthDataViewEventRepository.Add(Auditor.CreatePrivateHealthInfoViewEvent(user.Identity.User, displayFields.Where(c => c.CustomField is PrivateHealthField).ToList())); RepositoryContainer.Save(); student.CustomFieldValues = displayFields; viewModel.CopyFrom(student); if (permission.CustomFieldOnly) { viewModel.DateOfBirth = null; viewModel.Parents = null; viewModel.ServiceRequests = Enumerable.Empty <ServiceRequest>(); viewModel.StudentAssignedOfferings = Enumerable.Empty <StudentAssignedOffering>(); viewModel.Classes = Enumerable.Empty <Class>(); } return(viewModel); }
public void GivenValidStudentId_WhenGenerateStudentDetailViewModel_ThenViewModelContainsRequestData() { StudentDetailModel actual = Target.GenerateStudentDetailViewModel(User, 1); Assert.AreNotEqual(0, actual.ServiceRequests.Select(r => r.CreatingUser).Count()); Assert.AreNotEqual(0, actual.ServiceRequests.Select(r => r.ServiceType).Count()); Assert.AreNotEqual(0, actual.ServiceRequests.Select(r => r.Subject).Count()); }
public void GivenValidStudentId_AndDifferentUserCreatedOneOfTheServiceRequestFulfillments_WhenGenerateStudentDetailViewModel_ThenViewModelContainsPerformedByUserForEachServiceRequestFulfillmentDetail() { StudentDetailModel actual = Target.GenerateStudentDetailViewModel(User, 1); var fulfillmentDetails = actual.ServiceRequests.Single().FulfillmentDetails; var performedByUsers = actual.ServiceRequests.Single().FulfillmentDetails.Select(m => m.CreatingUser).Where(u => u != null); Assert.AreEqual(fulfillmentDetails.Count, performedByUsers.Count()); }
public override async Task PreRender() { int id = Convert.ToInt32(Context.Parameters["Id"]); Student = await studentService.GetStudentByIdAsync(id); await base.PreRender(); }
public void GivenStudentWithClassesAndTeachers_WhenGettingStudentDetails_ThenViewModelContainsClassesWithTeachers() { ViewResult result = Target.Details(1) as ViewResult; StudentDetailModel actual = result.AssertGetViewModel <StudentDetailModel>(); Assert.IsTrue(actual.Classes.Any()); Assert.IsTrue(actual.Classes.All(c => c.Teacher != null)); }
public void GivenAStudentId_WhenStudentDetailsActionIsCalled_ThenAViewResultForTheDesiredStudentIsReturned() { StudentDetailModel expected = new StudentDetailModel(); MockLogicManager.Expect(m => m.GenerateStudentDetailViewModel(User, 1)).Return(expected); var result = Target.Details(1) as ViewResult; result.AssertGetViewModel(expected); }
public void GivenValidStudentId_WhenGenerateStudentDetailViewModel_ThenViewModelContainsServiceData() { AssemblySetup.ForceDeleteEducationDatabase("SSD"); InitializeTest(); StudentDetailModel actual = Target.GenerateStudentDetailViewModel(User, 1); Assert.AreNotEqual(0, actual.StudentAssignedOfferings.Select(s => s.ServiceOffering.Provider).Count()); Assert.AreNotEqual(0, actual.StudentAssignedOfferings.Select(s => s.ServiceOffering.ServiceType).Count()); Assert.AreNotEqual(0, actual.StudentAssignedOfferings.Select(s => s.CreatingUser).Count()); }
public override async Task PreRender() { int id = 0; if (int.TryParse(Context.Parameters["Id"].ToString(), out id)) { Student = await studentService.GetStudentByIdAsync(id); } await base.PreRender(); }
public void WhenStudentDetailsActionIsCalled_ThenAViewResultIsCreated() { StudentDetailModel expected = new StudentDetailModel(); MockLogicManager.Expect(m => m.GenerateStudentDetailViewModel(User, 1)).Return(expected); ActionResult result = Target.Details(1); Assert.IsInstanceOfType(result, typeof(ViewResult)); }
public async Task UpdateStudentAsync(StudentDetailModel student) { var entity = await studentDbContext.Students.FirstOrDefaultAsync(s => s.Id == student.Id); entity.FirstName = student.FirstName; entity.LastName = student.LastName; entity.About = student.About; entity.EnrollmentDate = student.EnrollmentDate; await studentDbContext.SaveChangesAsync(); }
//public async Task InsertStudentAsync(StudentDetailModel student) public async Task InsertStudentAsync(StudentDetailModel student) { var document = new Student() { Id = student.Id, FirstName = student.FirstName, LastName = student.LastName, About = student.About, EnrollmentDate = student.EnrollmentDate }; await _students.InsertOneAsync(document); }
private static void AssertViewModel(Student expectedState, StudentDetailModel actual) { Assert.AreEqual(expectedState.Classes, actual.Classes); Assert.AreEqual(expectedState.DateOfBirth, actual.DateOfBirth); Assert.AreEqual(expectedState.Grade, actual.Grade); Assert.AreEqual(expectedState.Id, actual.Id); Assert.AreEqual(expectedState.FullName, actual.Name); Assert.AreEqual(expectedState.Parents, actual.Parents); Assert.AreEqual(expectedState.School.Name, actual.SchoolName); Assert.AreEqual(expectedState.ServiceRequests, actual.ServiceRequests); Assert.AreEqual(expectedState.StudentSISId, actual.SISId); CollectionAssert.AreEqual(expectedState.StudentAssignedOfferings.ToList(), actual.StudentAssignedOfferings.ToList()); }
//public async Task UpdateStudent(StudentDetailModel student) public async Task UpdateStudentAsync(StudentDetailModel student) { var document = new Student() { Id = student.Id, FirstName = student.FirstName, LastName = student.LastName, About = student.About, EnrollmentDate = student.EnrollmentDate }; await _students.ReplaceOneAsync(Student => Student.Id == student.Id, document); }
public async Task InsertStudentAsync(StudentDetailModel student) { var entity = new Student() { FirstName = student.FirstName, LastName = student.LastName, About = student.About, EnrollmentDate = student.EnrollmentDate }; studentDbContext.Students.Add(entity); await studentDbContext.SaveChangesAsync(); }
//public async Task<StudentDetailModel> GetStudentByIdAsync(int studentId) public async Task <StudentDetailModel> GetStudentByIdAsync(int studentId) { Student document = await _students.FindAsync <Student>(Student => Student.Id == studentId).Result.FirstOrDefaultAsync(); StudentDetailModel student = new StudentDetailModel(); student.Id = document.Id; student.FirstName = document.FirstName; student.LastName = document.LastName; student.About = document.About; student.EnrollmentDate = document.EnrollmentDate; return(student); }
// GET api/Students/5 public StudentDetailModel GetStudent(int id) { Student student = this.studentRepository.Get(id); if (student == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } var studentEntity = this.studentRepository.Get(id); StudentDetailModel studentDetailModel = new StudentDetailModel() { FirstName = studentEntity.FirstName, LastName = studentEntity.LastName, Grade = studentEntity.Grade, Age = studentEntity.Age, StudentId = studentEntity.StudentId }; var schools = this.schoolRepository.All(); var school = (from s in schools where s.Students.Any(x => x.StudentId == studentEntity.StudentId) select s).First(); studentDetailModel.School = new SchoolModel() { SchoolId = school.SchoolId, Name = school.Name, Location = school.Location }; var marks = this.markRepository.All(); var studentMarks = from mark in marks where mark.Student.StudentId == id select mark; studentDetailModel.Marks = studentMarks.Select(new Func <Mark, MarkModel>(x => new MarkModel() { Value = x.Value, Subject = x.Subject, MarkId = x.MarkId })).ToList(); return(studentDetailModel); }
public async Task InsertStudentAsync(StudentDetailModel student) { var entity = new Student() { Id = new Random().Next(1, int.MaxValue), FirstName = student.FirstName, LastName = student.LastName, About = student.About, EnrollmentDate = Timestamp.FromDateTime(student.EnrollmentDate.ToUniversalTime()) }; FirestoreDb db = FirestoreDb.Create(Project); var Id = Guid.NewGuid().ToString(); DocumentReference docRef = db.Collection(Collection).Document(Id); await docRef.SetAsync(entity); }
public void ProcessUploadedFile(Guid fileId) { StreamReader file = null; try { string line; file = new StreamReader(storage.GetFile(fileId)); while ((line = file.ReadLine()) != null) { //we are getting eac part of the todo into an array. //parts[0] will be the Todo Text and parts[1] will be the Due date var parts = line.Split(","); //first part of this if statement checks that the Todo Text is a valid non empty text //second part checks that we are passing in a valid date time if (!string.IsNullOrWhiteSpace(parts?[0]) && !string.IsNullOrWhiteSpace(parts?[1]) && !string.IsNullOrWhiteSpace(parts?[3]) && DateTime.TryParse(parts?[2], out DateTime enrollmentDate)) { var model = new StudentDetailModel { FirstName = parts?[0], LastName = parts?[1], EnrollmentDate = enrollmentDate, About = parts?[3] }; //this line creates a background job for each Todo Item BackgroundJob.Enqueue(() => InsertStudentAsync(model)); } } file.Close(); } catch (Exception e) { } finally { if (file is object) { file.Close(); } storage.DeleteFile(fileId); } }
public async Task UpdateStudentAsync(StudentDetailModel student) { FirestoreDb db = FirestoreDb.Create(Project); Query docRef = db.Collection(Collection).WhereEqualTo("Id", student.Id).Limit(1); QuerySnapshot snapshot = await docRef.GetSnapshotAsync(); if (snapshot.Count > 0) { DocumentReference studentRef = db.Collection(Collection).Document(snapshot.ElementAt(0).Id); Dictionary <string, object> updates = new Dictionary <string, object> { { nameof(student.About), student.About }, { nameof(student.EnrollmentDate), Timestamp.FromDateTime(student.EnrollmentDate.ToUniversalTime()) }, { nameof(student.FirstName), student.FirstName }, { nameof(student.LastName), student.LastName } }; await studentRef.UpdateAsync(updates); } }
public StudentDetailModel get_Student_ById(string user_id) { var dbcon = new SqlConnection(ConfigurationManager.ConnectionStrings["_MyLearnDBEntities"].ToString()); var dbcommand = new SqlCommand(); dbcommand.Connection = dbcon; dbcommand.CommandText = "select * from AspNetUsers where id = @user_id"; dbcommand.Parameters.AddWithValue("@user_id", SqlDbType.UniqueIdentifier).Value = user_id; dbcon.Open(); var reader = dbcommand.ExecuteReader(); var model = new StudentDetailModel(); while (reader.Read()) { model.StudentId = reader["Id"].ToString(); model.StudentName = reader["UserName"].ToString(); } dbcon.Close(); return(model); }
public IActionResult Detail(int id) { var student = _students.GetById(id); var model = new StudentDetailModel { Id = id, FirstName = student.FirstName, LastName = student.LastName, Address = student.Address, Email = student.Email, IndexNumber = student.IndexNumber, Pesel = student.Pesel, TelephoneNumber = student.TelephoneNumber, Semester_Students = student.Semester_Students, Student_Activities = student.Student_Activities }; return(View(model)); }
public IActionResult Detail(int id) { var student = _studentService.Get(id); var model = new StudentDetailModel { Id = student.Id, LastName = student.LastName ?? "No Last Name Provided", FirstName = student.FirstName ?? "No First Name Provided", Address = student.Address ?? "No Address Provided", HomeLibrary = student.HomeLibraryBranch?.Name ?? "No Home Library", MemberSince = student.LibraryCard?.Created, OverdueFees = student.LibraryCard?.Fees, LibraryCardId = student.LibraryCard?.Id, Telephone = string.IsNullOrEmpty(student.Telephone) ? "No Telephone Number Provided" : student.Telephone, CheckoutHistory = _studentService.GetCheckoutHistory(id), Holds = _studentService.GetHolds(id) }; return(View(model)); }
public StudentDetailModel GenerateStudentDetailViewModel(EducationSecurityPrincipal user, int id) { Student student = StudentRepository.Items.Include(s => s.ApprovedProviders). Include("CustomFieldValues.CustomDataOrigin"). Include("CustomFieldValues.CustomField"). Include("Classes.Teacher"). Include("ServiceRequests.CreatingUser"). Include("ServiceRequests.ServiceType"). Include("ServiceRequests.Subject"). Include("ServiceRequests.FulfillmentDetails.FulfillmentStatus"). Include("ServiceRequests.FulfillmentDetails.CreatingUser"). Include("StudentAssignedOfferings.ServiceOffering.Provider"). Include("StudentAssignedOfferings.ServiceOffering.ServiceType"). Include("StudentAssignedOfferings.ServiceOffering.Program"). Include("StudentAssignedOfferings.CreatingUser"). Include(s => s.School). SingleOrDefault(i => i.Id == id); if (student == null) { throw new EntityNotFoundException("Requested student could not be found."); } IViewStudentDetailPermission permission = (IViewStudentDetailPermission)PermissionFactory.Current.Create("ViewStudentDetail", student); permission.GrantAccess(user); StudentDetailModel viewModel = new StudentDetailModel(); viewModel.OnlyUploadedCustomField = permission.CustomFieldOnly; List<CustomFieldValue> displayFields = new List<CustomFieldValue>(); if (permission.CustomFieldOnly) { displayFields = student.CustomFieldValues.Where(c => c.CustomDataOrigin.CreatingUserId == user.Identity.User.Id).ToList(); } else { foreach (var field in student.CustomFieldValues) { IPermission fieldPermission = PermissionFactory.Current.Create("ViewStudentCustomFieldData", field.CustomField); if ((field.CustomDataOrigin.CreatingUserId == user.Identity.User.Id) || (fieldPermission.TryGrantAccess(user))) { displayFields.Add(field); } } } PrivateHealthDataViewEventRepository.Add(Auditor.CreatePrivateHealthInfoViewEvent(user.Identity.User, displayFields.Where(c => c.CustomField is PrivateHealthField).ToList())); RepositoryContainer.Save(); student.CustomFieldValues = displayFields; viewModel.CopyFrom(student); if (permission.CustomFieldOnly) { viewModel.DateOfBirth = null; viewModel.Parents = null; viewModel.ServiceRequests = Enumerable.Empty<ServiceRequest>(); viewModel.StudentAssignedOfferings = Enumerable.Empty<StudentAssignedOffering>(); viewModel.Classes = Enumerable.Empty<Class>(); } return viewModel; }
public void GivenValidStudentId_WhenGenerateStudentDetailViewModel_ThenViewModelContainsFulfillmentDetailsData() { StudentDetailModel actual = Target.GenerateStudentDetailViewModel(User, 1); Assert.AreNotEqual(0, actual.ServiceRequests.First().FulfillmentDetails.Count()); }
public void InitializeTest() { Target = new StudentDetailModel(); }
public void GivenValidStudentId_WhenGenerateStudentDetailViewModel_ThenViewModelContainsClassData() { StudentDetailModel actual = Target.GenerateStudentDetailViewModel(User, 1); Assert.AreNotEqual(0, actual.Classes.Select(c => c.Teacher).Count()); }
public override async Task PreRender() { Student = await studentService.GetStudentByIdAsync(Context.Parameters["Id"].ToString()); await base.PreRender(); }