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); } }