private static ConsumableCost ImportGenericCostItems(DataTable data, DataRow row, bool updateDatabase)
        {
            ConsumableCost costItem = new ConsumableCost();

            if (updateDatabase)
            {
                DataLayer.Instance.Connection.Insert(costItem);
            }

            string itemColumnName   = "Cost{0}_Item";
            string amountColumnName = "Cost{0}_Amount";

            int i = 1;

            while (data.Columns.Contains(string.Format(itemColumnName, i.ToString())))
            {
                string item   = row[string.Format(itemColumnName, i.ToString())].ToString();
                int    Amount = DataConvert.GetCellValueInt(row[string.Format(amountColumnName, i.ToString())].ToString());

                if (!string.IsNullOrEmpty(item) && Amount > 0)
                {
                    Consumable consumable = ObjectsMemoryCache[typeof(Consumable).Name].Cast <Consumable>().ToList().Where(y => y.Name == item).SingleOrDefault();

                    if (consumable != null)
                    {
                        ConsumableCostItem consumableCostItem = new ConsumableCostItem();
                        consumableCostItem.ConsumableId      = consumable.Id;
                        consumableCostItem.Ammount           = Amount;
                        consumableCostItem.ConsumableCost_Id = costItem.Id;
                        if (updateDatabase)
                        {
                            DataLayer.Instance.Connection.Insert(consumableCostItem);
                        }
                    }
                    else
                    {
                        MetaDataImportExeption.Log("ImportGenericCostItems could not find Consumable.", item);
                    }
                }
                i++;
            }

            return(costItem);
        }
 public ConsumableCost GetCost()
 {
     if (Cost != null)
     {
         ConsumableCost result = new ConsumableCost(true);
         foreach (KeyValuePair <string, int> entry in Cost)
         {
             result.ConsumableCostItems.Add(new ConsumableCostItem()
             {
                 ConsumableId = Consumable.GetByName(entry.Key).Id, Ammount = entry.Value
             });
         }
         return(result);
     }
     else
     {
         return(null);
     }
 }