Device.getProductsFromBiobricks C# (CSharp) Méthode

getProductsFromBiobricks() private méthode

private getProductsFromBiobricks ( LinkedList list ) : LinkedList
list LinkedList
Résultat LinkedList
  private LinkedList<Product> getProductsFromBiobricks(LinkedList<BioBrick> list)
  {
    Logger.Log("Device::getProductsFromBioBricks([list: "+Logger.ToString(list)+"])", Logger.Level.DEBUG);
    LinkedList<Product> products = new LinkedList<Product>();
    Product prod;
    RBSBrick rbs;
    GeneBrick gene;
    float RBSf = 0f;
    string molName = "Unknown";
    int i = 0;

    foreach (BioBrick b in list)
      {
        Logger.Log("Device::getProductsFromBioBricks: starting treatment of "+b.ToString(), Logger.Level.TRACE);
        rbs = b as RBSBrick;
        if (rbs != null) {
          Logger.Log("Device::getProductsFromBioBricks: rbs spotted", Logger.Level.TRACE);
          RBSf = rbs.getRBSFactor();
      }
        else
          {
            Logger.Log("Device::getProductsFromBioBricks: not an rbs", Logger.Level.TRACE);
            gene = b as GeneBrick;
            if (gene != null)
              {
                molName = gene.getProteinName();
                prod = new Product();
                prod.setName(molName);
                prod.setQuantityFactor(RBSf);
                products.AddLast(prod);
              }
            else
              {
                if (b as TerminatorBrick == null)
                  Logger.Log("Device::getProductsFromBioBricks This case should never happen. Bad Biobrick in operon.", Logger.Level.WARN);
                else {
                 break;
                }
              }
          }
        i++;
      }
    while (i > 0) {
      list.RemoveFirst();
      i--;
    }
    return products;
  }