private async Task <List <EventTeacher> > _getUpdatedEventTeachersAsync(List <EventTeacher> eventTeachers, int[] teacherIds, int eventId) { List <EventTeacher> removableTags = new List <EventTeacher>(); removableTags.AddRange(eventTeachers); foreach (var teacherId in teacherIds) { EventTeacher teacher = eventTeachers.FirstOrDefault(x => x.TeacherId == teacherId); if (teacher != null) { removableTags.Remove(teacher); } else { if (!await _context.Teachers.AnyAsync(x => x.Id == teacherId)) { throw new Exception("Teacher does not exist!"); } teacher = new EventTeacher { TeacherId = teacherId, EventId = eventId }; eventTeachers.Add(teacher); } } eventTeachers = eventTeachers.Except(removableTags).ToList(); return(eventTeachers); }
public void MapModelToEntity() { var mapper = new DALEventTeacherMapper(); ApiEventTeacherServerRequestModel model = new ApiEventTeacherServerRequestModel(); model.SetProperties(1, 1); EventTeacher response = mapper.MapModelToEntity(1, model); response.EventId.Should().Be(1); response.TeacherId.Should().Be(1); }
public void MapEntityToModel() { var mapper = new DALEventTeacherMapper(); EventTeacher item = new EventTeacher(); item.SetProperties(1, 1, 1); ApiEventTeacherServerResponseModel response = mapper.MapEntityToModel(item); response.EventId.Should().Be(1); response.Id.Should().Be(1); response.TeacherId.Should().Be(1); }
public void MapEntityToModelList() { var mapper = new DALEventTeacherMapper(); EventTeacher item = new EventTeacher(); item.SetProperties(1, 1, 1); List <ApiEventTeacherServerResponseModel> response = mapper.MapEntityToModel(new List <EventTeacher>() { { item } }); response.Count.Should().Be(1); }
public virtual EventTeacher MapModelToEntity( int id, ApiEventTeacherServerRequestModel model ) { EventTeacher item = new EventTeacher(); item.SetProperties( id, model.EventId, model.TeacherId); return(item); }
public virtual async Task <ApiEventTeacherServerResponseModel> Get(int id) { EventTeacher record = await this.EventTeacherRepository.Get(id); if (record == null) { return(null); } else { return(this.DalEventTeacherMapper.MapEntityToModel(record)); } }
public virtual async Task <CreateResponse <ApiEventTeacherServerResponseModel> > Create( ApiEventTeacherServerRequestModel model) { CreateResponse <ApiEventTeacherServerResponseModel> response = ValidationResponseFactory <ApiEventTeacherServerResponseModel> .CreateResponse(await this.EventTeacherModelValidator.ValidateCreateAsync(model)); if (response.Success) { EventTeacher record = this.DalEventTeacherMapper.MapModelToEntity(default(int), model); record = await this.EventTeacherRepository.Create(record); response.SetRecord(this.DalEventTeacherMapper.MapEntityToModel(record)); await this.mediator.Publish(new EventTeacherCreatedNotification(response.Record)); } return(response); }
public async void Get_ShouldReturnRecords() { var mock = new ServiceMockFacade <IEventTeacherService, IEventTeacherRepository>(); var record = new EventTeacher(); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(record)); var service = new EventTeacherService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.EventTeacherModelValidatorMock.Object, mock.DALMapperMockFactory.DALEventTeacherMapperMock); ApiEventTeacherServerResponseModel response = await service.Get(default(int)); response.Should().NotBeNull(); mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>())); }
public virtual ApiEventTeacherServerResponseModel MapEntityToModel( EventTeacher item) { var model = new ApiEventTeacherServerResponseModel(); model.SetProperties(item.Id, item.EventId, item.TeacherId); if (item.EventIdNavigation != null) { var eventIdModel = new ApiEventServerResponseModel(); eventIdModel.SetProperties( item.EventIdNavigation.Id, item.EventIdNavigation.ActualEndDate, item.EventIdNavigation.ActualStartDate, item.EventIdNavigation.BillAmount, item.EventIdNavigation.EventStatusId, item.EventIdNavigation.ScheduledEndDate, item.EventIdNavigation.ScheduledStartDate, item.EventIdNavigation.StudentNotes, item.EventIdNavigation.TeacherNotes); model.SetEventIdNavigation(eventIdModel); } if (item.TeacherIdNavigation != null) { var teacherIdModel = new ApiTeacherServerResponseModel(); teacherIdModel.SetProperties( item.TeacherIdNavigation.Id, item.TeacherIdNavigation.Birthday, item.TeacherIdNavigation.Email, item.TeacherIdNavigation.FirstName, item.TeacherIdNavigation.LastName, item.TeacherIdNavigation.Phone, item.TeacherIdNavigation.UserId); model.SetTeacherIdNavigation(teacherIdModel); } return(model); }
private async Task <List <EventTeacher> > _createEventTechers(int[] teacherIds) { List <EventTeacher> eventTeachers = new List <EventTeacher>(); foreach (var teacherId in teacherIds) { if (!await _context.Events.AnyAsync(x => x.Id == teacherId)) { throw new Exception("Teacher does not exist!"); } EventTeacher eventTeacher = new EventTeacher { TeacherId = teacherId }; eventTeachers.Add(eventTeacher); } return(eventTeachers); }
public virtual async Task <UpdateResponse <ApiEventTeacherServerResponseModel> > Update( int id, ApiEventTeacherServerRequestModel model) { var validationResult = await this.EventTeacherModelValidator.ValidateUpdateAsync(id, model); if (validationResult.IsValid) { EventTeacher record = this.DalEventTeacherMapper.MapModelToEntity(id, model); await this.EventTeacherRepository.Update(record); record = await this.EventTeacherRepository.Get(id); ApiEventTeacherServerResponseModel apiModel = this.DalEventTeacherMapper.MapEntityToModel(record); await this.mediator.Publish(new EventTeacherUpdatedNotification(apiModel)); return(ValidationResponseFactory <ApiEventTeacherServerResponseModel> .UpdateResponse(apiModel)); } else { return(ValidationResponseFactory <ApiEventTeacherServerResponseModel> .UpdateResponse(validationResult)); } }