public async Task <bool> FeedbackTeacher(InternshipFeedbackTeacherDto model) { var internship = await Get(model.InternshipId); var reviewerInternship = internship.Reviewers.FirstOrDefault(x => x.ReviewerId == model.TeacherId); internship.Reviewers.Remove(reviewerInternship); reviewerInternship.Feedback = model.Feedback; reviewerInternship.StateOfTeacher = model.ReviewedState; internship.Reviewers.Add(reviewerInternship); if (IsReviewedByAllTeachers(internship.Reviewers)) { internship.InternshipState = InternshipState.InReviewByCoordinator; internship.DateOfState = DateTime.UtcNow; } _context.Update(internship); await Save(); return(true); }
public async Task <ActionResult <bool> > FeedbackTeacher(InternshipFeedbackTeacherDto model) { var result = await _service.FeedbackTeacher(model); return(Ok(result)); }
public void Setup() { _context = ContextHelper.GetDatabaseContext(); sut = new InternshipService(_context); dto = new InternshipCreationDto { RequiredFieldsOfStudy = new List <string>(), AssignedStudents = new List <string>(), Environment = new List <string>(), TechnicalDescription = "TechnicalDescription", ExtraRequirements = "ExtraRequirements", ResearchTheme = "ResearchTheme", Activities = new List <string>(), RequiredStudentsAmount = 2, AdditionalRemarks = "AdditionalRemarks", PeriodOfInternship = new List <string>(), Description = "Description" }; for (int i = 0; i < 10; i++) { dto.RequiredFieldsOfStudy.Add("ReqFOS" + i); dto.AssignedStudents.Add("AssignedStudent" + i); dto.Environment.Add("Environment" + i); dto.Activities.Add("Activity" + i); dto.PeriodOfInternship.Add("Period" + i); } internship = new Internship { CreatorId = Guid.NewGuid(), RequiredFieldsOfStudy = dto.RequiredFieldsOfStudy, AssignedStudents = dto.AssignedStudents, Environment = dto.Environment, TechnicalDescription = "TechnicalDescription", ExtraRequirements = "ExtraRequirements", ResearchTheme = "ResearchTheme", Activities = dto.Activities, RequiredStudentsAmount = 2, AdditionalRemarks = "AdditionalRemarks", Id = Guid.NewGuid(), InternshipState = 0, Periods = dto.PeriodOfInternship, Description = "Description", DateOfState = DateTime.UtcNow }; userTeacher = new User { Id = Guid.NewGuid(), City = "City", Email = "*****@*****.**", FirstName = "John", HouseNumber = 18, LastName = "Doe", PasswordHash = Guid.NewGuid().ToString(), PhoneNumber = "+3259874896", ZipCode = 7890, UserName = "******", StreetName = "Easy Street" }; userTeacher2 = new User { Id = Guid.NewGuid(), City = "City", Email = "*****@*****.**", FirstName = "John", HouseNumber = 18, LastName = "Doe", PasswordHash = Guid.NewGuid().ToString(), PhoneNumber = "+3259874896", ZipCode = 7890, UserName = "******", StreetName = "Easy Street" }; company = new Company { Id = internship.CreatorId }; ReviewerInternships reviewerInternships = new ReviewerInternships { ReviewedInternship = internship, Reviewer = userTeacher }; reviewerList = new List <ReviewerInternships> { reviewerInternships }; internship.Reviewers = reviewerList; IFCDto = new InternshipFeedbackCoordinatorDto { Feedback = "coordinator", InternshipId = internship.Id, ReviewedState = InternshipState.ApprovedByAll }; IFTDto = new InternshipFeedbackTeacherDto { Feedback = "teacher", InternshipId = internship.Id, TeacherId = userTeacher.Id }; updateDto = new InternshipUpdate { ID = internship.Id, ResearchTheme = "ResearchTheme", Description = "DescriptionUpdate", Activities = new List <string>() { "test" }, AdditionalRemarks = "test", AssignedStudents = new List <string>() { "Jan" }, Environment = new List <string>() { "test" }, ExtraRequirements = "test", PeriodOfInternship = new List <string>() { "test" }, RequiredFieldsOfStudy = new List <string>() { "AON" }, RequiredStudentsAmount = 1, TechnicalDescription = "test", Title = "test" }; _context.Add(reviewerInternships); _context.Add(userTeacher); _context.Add(internship); _context.SaveChanges(); }