public virtual ApiRateClientRequestModel MapServerResponseToClientRequest(
            ApiRateServerResponseModel response)
        {
            var request = new ApiRateClientRequestModel();

            request.SetProperties(
                response.AmountPerMinute,
                response.TeacherId,
                response.TeacherSkillId);
            return(request);
        }
        public virtual ApiRateServerResponseModel MapServerRequestToResponse(
            int id,
            ApiRateServerRequestModel request)
        {
            var response = new ApiRateServerResponseModel();

            response.SetProperties(id,
                                   request.AmountPerMinute,
                                   request.TeacherId,
                                   request.TeacherSkillId);
            return(response);
        }
        public void MapEntityToModel()
        {
            var  mapper = new DALRateMapper();
            Rate item   = new Rate();

            item.SetProperties(1, 1m, 1, 1);
            ApiRateServerResponseModel response = mapper.MapEntityToModel(item);

            response.AmountPerMinute.Should().Be(1m);
            response.Id.Should().Be(1);
            response.TeacherId.Should().Be(1);
            response.TeacherSkillId.Should().Be(1);
        }
Exemple #4
0
        public virtual async Task <UpdateResponse <ApiRateServerResponseModel> > Update(
            int id,
            ApiRateServerRequestModel model)
        {
            var validationResult = await this.RateModelValidator.ValidateUpdateAsync(id, model);

            if (validationResult.IsValid)
            {
                Rate record = this.DalRateMapper.MapModelToEntity(id, model);
                await this.RateRepository.Update(record);

                record = await this.RateRepository.Get(id);

                ApiRateServerResponseModel apiModel = this.DalRateMapper.MapEntityToModel(record);
                await this.mediator.Publish(new RateUpdatedNotification(apiModel));

                return(ValidationResponseFactory <ApiRateServerResponseModel> .UpdateResponse(apiModel));
            }
            else
            {
                return(ValidationResponseFactory <ApiRateServerResponseModel> .UpdateResponse(validationResult));
            }
        }
Exemple #5
0
        public virtual ApiRateServerResponseModel MapEntityToModel(
            Rate item)
        {
            var model = new ApiRateServerResponseModel();

            model.SetProperties(item.Id,
                                item.AmountPerMinute,
                                item.TeacherId,
                                item.TeacherSkillId);
            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);
            }

            if (item.TeacherSkillIdNavigation != null)
            {
                var teacherSkillIdModel = new ApiTeacherSkillServerResponseModel();
                teacherSkillIdModel.SetProperties(
                    item.TeacherSkillIdNavigation.Id,
                    item.TeacherSkillIdNavigation.Name);

                model.SetTeacherSkillIdNavigation(teacherSkillIdModel);
            }

            return(model);
        }
Exemple #6
0
 public RateUpdatedNotification(ApiRateServerResponseModel record)
 {
     this.Record = record;
 }