private RepositoryItem getTransporterMembraneRepository(TransporterExpressionContainerDTO containerDTO)
        {
            string displayName       = containerDTO.ContainerPathDTO.DisplayName;
            string fullDisplayName   = membraneContainerDisplayName(containerDTO.MembraneLocation, containerDTO);
            var    allMembranesTypes = _presenter.AllProteinMembraneLocationsFor(containerDTO).ToList();

            if (allMembranesTypes.Count > 1)
            {
                displayName = fullDisplayName;
            }

            var repositoryItemImageComboBox = new UxRepositoryItemImageComboBox(gridView, _imageListRetriever)
            {
                ReadOnly = (allMembranesTypes.Count == 1), AllowDropDownWhenReadOnly = DefaultBoolean.False
            };

            if (repositoryItemImageComboBox.ReadOnly)
            {
                repositoryItemImageComboBox.Buttons.Clear();
            }


            var comboBoxItem = new ImageComboBoxItem(displayName, containerDTO.MembraneLocation, _imageListRetriever.ImageIndex(containerDTO.ContainerPathDTO.IconName));

            repositoryItemImageComboBox.Items.Add(comboBoxItem);
            return(repositoryItemImageComboBox);
        }
示例#2
0
 public IEnumerable <MembraneLocation> AllProteinMembraneLocationsFor(TransporterExpressionContainerDTO transporterExpressionContainerDTO)
 {
     return(_transporterContainerTemplateRepository
            .TransportersFor(SimulationSubject.Species.Name, transporterExpressionContainerDTO.ContainerName)
            .Where(x => x.TransportType == _transporter.TransportType)
            .Select(x => x.MembraneLocation)
            .Distinct());
 }
        private void addContainerExpression(TransporterExpressionDTO proteinExpressionDTO, IndividualTransporter transporter, TransporterExpressionContainer transporterExpressionContainer)
        {
            var expressionDTO = new TransporterExpressionContainerDTO(transporterExpressionContainer)
            {
                MoleculeName = transporter.Name, ContainerName = transporterExpressionContainer.Name
            };

            _expressionContainerDTOUpdater.UpdateProperties(expressionDTO, transporterExpressionContainer);
            proteinExpressionDTO.AddProteinExpression(expressionDTO);
        }
        private void editTransporterMembraneTypeRepository(BaseEdit editor, TransporterExpressionContainerDTO containerDTO)
        {
            var allMembranesTypes = _presenter.AllProteinMembraneLocationsFor(containerDTO);

            if (allMembranesTypes.Count() == 1)
            {
                return;
            }

            editor.FillImageComboBoxEditorWith(_presenter.AllProteinMembraneLocationsFor(containerDTO), x => _imageListRetriever.ImageIndex(containerDTO.ContainerPathDTO.IconName), x => membraneContainerDisplayName(x, containerDTO));
        }
 private string membraneContainerDisplayName(MembraneLocation membraneLocation, TransporterExpressionContainerDTO containerDTO)
 {
     return($"{containerDTO.ContainerPathDTO.DisplayName} ({membraneLocation})");
 }
示例#6
0
 public void SetMembraneLocation(TransporterExpressionContainerDTO transporterExpressionContainerDTO, MembraneLocation membraneLocation)
 {
     AddCommand(_moleculeExpressionTask.SetMembraneLocationFor(transporterContainerFrom(transporterExpressionContainerDTO), _transporter.TransportType, membraneLocation));
 }
示例#7
0
 private TransporterExpressionContainer transporterContainerFrom(TransporterExpressionContainerDTO transporterExpressionContainerDTO)
 {
     return(_transporter.AllExpressionsContainers().FindByName(transporterExpressionContainerDTO.ContainerName));
 }
示例#8
0
 public SuperToolTip ToolTipFor(TransporterExpressionContainerDTO containerDTO)
 {
     return(CreateToolTip($"{containerDTO.ContainerPathDTO.DisplayName} ({containerDTO.MembraneLocation})", containerDTO.ContainerName));
 }
示例#9
0
 private string membraneContainerDisplayName(MembraneLocation membraneLocation, TransporterExpressionContainerDTO containerDTO)
 {
     return(string.Format("{0} ({1})", containerDTO.ContainerPathDTO.DisplayName, membraneLocation));
 }