public void Test_GetItemType_ST() { Assert.AreEqual(ItemType.Fish, ALCore.GetItemType(SpeciesType.Fish)); Assert.AreEqual(ItemType.Invertebrate, ALCore.GetItemType(SpeciesType.Invertebrate)); Assert.AreEqual(ItemType.Plant, ALCore.GetItemType(SpeciesType.Plant)); Assert.AreEqual(ItemType.Coral, ALCore.GetItemType(SpeciesType.Coral)); }
public void Test_GetItemType_IT() { Assert.AreEqual(ItemType.Additive, ALCore.GetItemType(InventoryType.Additive)); Assert.AreEqual(ItemType.Chemistry, ALCore.GetItemType(InventoryType.Chemistry)); Assert.AreEqual(ItemType.Equipment, ALCore.GetItemType(InventoryType.Equipment)); Assert.AreEqual(ItemType.Maintenance, ALCore.GetItemType(InventoryType.Maintenance)); Assert.AreEqual(ItemType.Furniture, ALCore.GetItemType(InventoryType.Furniture)); Assert.AreEqual(ItemType.Decoration, ALCore.GetItemType(InventoryType.Decoration)); }
/// <summary> /// Cleaning waste space /// </summary> public void CleanSpace() { var transfers = QueryTransfers(); foreach (Transfer rec in transfers) { var itemRec = GetRecord(rec.ItemType, rec.ItemId); bool valid = true; ItemType sourItemType = ItemType.None; switch (itemRec.EntityType) { case EntityType.Aquarium: case EntityType.Species: case EntityType.Nutrition: case EntityType.Device: case EntityType.Maintenance: case EntityType.Measure: case EntityType.Note: case EntityType.Schedule: case EntityType.Transfer: case EntityType.Snapshot: case EntityType.Brand: case EntityType.Shop: case EntityType.TSPoint: break; case EntityType.Inhabitant: var inhab = itemRec as Inhabitant; var species = GetRecord <Species>(inhab.SpeciesId); sourItemType = ALCore.GetItemType(species.Type); valid = rec.ItemType == sourItemType; break; case EntityType.Inventory: var invent = itemRec as Inventory; sourItemType = ALCore.GetItemType(invent.Type); valid = rec.ItemType == sourItemType; break; } if (!valid) { string str = string.Format("itemId={0}, itemType={1}, sourItemType={2}", rec.ItemId, rec.ItemType, sourItemType); System.Diagnostics.Debug.WriteLine(str); } } fDB.Execute("drop table if exists Expense"); fDB.Execute("VACUUM;"); }
public bool CheckConstraints(Entity entity) { // any links? bool result = false; switch (entity.EntityType) { case EntityType.Aquarium: { var aqmRec = entity as Aquarium; ItemType itemType = ItemType.Aquarium; result = HasTransfers(fDB, entity.Id, itemType) || HasAquariumLinks(fDB, entity.Id) || HasAquariumSTT(fDB, entity.Id); } break; case EntityType.Inhabitant: { var inhRec = entity as Inhabitant; SpeciesType speciesType = GetSpeciesType(inhRec.SpeciesId); ItemType itemType = ALCore.GetItemType(speciesType); result = HasTransfers(fDB, entity.Id, itemType) || HasSnapshots(fDB, entity.Id, itemType); } break; case EntityType.Species: { var spcRec = entity as Species; string query = string.Format("select count(*) as value from Inhabitant where SpeciesId = {0}", entity.Id); result = HasCount(fDB, query); } break; case EntityType.Nutrition: { var nutrRec = entity as Nutrition; ItemType itemType = ItemType.Nutrition; result = HasTransfers(fDB, entity.Id, itemType); } break; case EntityType.Device: { var devRec = entity as Device; ItemType itemType = ItemType.Device; result = HasTransfers(fDB, entity.Id, itemType); } break; case EntityType.Inventory: { // for Soils in the future - links from aquarium records var invRec = entity as Inventory; ItemType itemType = ALCore.GetItemType(invRec.Type); result = HasTransfers(fDB, entity.Id, itemType); } break; case EntityType.Maintenance: case EntityType.Measure: case EntityType.Note: case EntityType.Schedule: case EntityType.Transfer: case EntityType.Snapshot: // default, no external links break; case EntityType.Brand: case EntityType.Shop: // default, because it is not used as a reference table break; case EntityType.TSPoint: { var tspRec = entity as TSPoint; string query = string.Format("select count(*) as value from Device where PointId = {0}", entity.Id); result = HasCount(fDB, query); } break; } return(result); }