public IndividualTransporterDTO MapFrom(IndividualTransporter transporter, ISimulationSubject simulationSubject) { var dto = new IndividualTransporterDTO(transporter); UpdateExpressionParameters(dto, simulationSubject); return(dto); }
public void UpdateExpressionParameters(IndividualTransporterDTO individualTransporterDTO, ISimulationSubject simulationSubject) { var transporter = individualTransporterDTO.Transporter; individualTransporterDTO.ClearExpressionParameters(); //Local parameters foreach (var transporterExpressionContainer in simulationSubject.AllMoleculeContainersFor <TransporterExpressionContainer>(transporter)) { var organ = transporterExpressionContainer.LogicalContainer; var isInOrganWithLumenOrBrain = organ.IsOrganWithLumen() || organ.IsBrain(); foreach (var parameter in transporterExpressionContainer.AllParameters()) { var expressionParameterDTO = _expressionParameterMapper.MapFrom(parameter); expressionParameterDTO.TransporterExpressionContainer = transporterExpressionContainer; expressionParameterDTO.IsInOrganWithLumenOrBrain = isInOrganWithLumenOrBrain; var direction = retrieveTransporterDirectionFor(transporterExpressionContainer, parameter, isInOrganWithLumenOrBrain); expressionParameterDTO.TransportDirection = _transportDirectionRepository.ById(direction); individualTransporterDTO.AddExpressionParameter(expressionParameterDTO); } } //Global parameters; foreach (var parameter in transporter.AllGlobalExpressionParameters) { var expressionParameter = _expressionParameterMapper.MapFrom(parameter); expressionParameter.TransporterExpressionContainer = parameter.IsNamed(REL_EXP_BLOOD_CELLS) ? transporter.BloodCellsContainer : transporter.VascularEndotheliumContainer; var direction = expressionParameter.TransporterExpressionContainer.TransportDirection; expressionParameter.TransportDirection = _transportDirectionRepository.ById(direction); individualTransporterDTO.AddExpressionParameter(expressionParameter); } var hasTemplateForSpecies = _transporterContainerTemplateRepository.HasTransporterTemplateFor(simulationSubject.Species.Name, transporter.Name); individualTransporterDTO.DefaultAvailableInDatabase = hasTemplateForSpecies; }
protected override void Context() { _view = A.Fake <IIndividualTransporterExpressionsView>(); _parameterTask = A.Fake <IEditParameterPresenterTask>(); _moleculeExpressionTask = A.Fake <IMoleculeExpressionTask <Individual> >(); _transporterMapper = A.Fake <IIndividualTransporterToTransporterExpressionDTOMapper>(); _moleculePropertiesPresenter = A.Fake <IIndividualMoleculePropertiesPresenter <Individual> >(); _transporterExpressionParametersPresenter = A.Fake <ITransporterExpressionParametersPresenter>(); sut = new IndividualTransporterExpressionsPresenter <Individual>( _view, _parameterTask, _moleculeExpressionTask, _transporterMapper, _moleculePropertiesPresenter, _transporterExpressionParametersPresenter); _commandCollector = new PKSimMacroCommand(); sut.InitializeWith(_commandCollector); _transporter = new IndividualTransporter(); _simulationSubject = new Individual(); _transporterDTO = new IndividualTransporterDTO(_transporter); sut.SimulationSubject = _simulationSubject; A.CallTo(() => _transporterMapper.MapFrom(_transporter, _simulationSubject)).Returns(_transporterDTO); }
public void BindTo(IndividualTransporterDTO transporterExpressionDTO) { _screenBinder.BindToSource(transporterExpressionDTO); }
protected override void Because() { _dto = sut.MapFrom(_transporter, _simulationSubject); }