private static Common.Entity ConvertEntityToDynamoEntity <T>(dynamic entity) { Common.Entity item = null; if (entity != null) { item = new Common.Entity(entity.Id.ToString(), typeof(T).Name, entity.TimeStamp.ToString(), entity.Changes); } return(item); }
public Common.Entity QueryEntity(EntityType type, int id, long timeStamp) { Common.Entity entity = null; switch (type) { case EntityType.Order: if (Client.CheckingTableExistence(EntityType.Order.ToString()) && Client.CheckTableIsReady(EntityType.Order.ToString())) { entity = ConvertEntityToDynamoEntity <Order>(Client.GetItem <Order>(id, timeStamp)); } break; case EntityType.Product: if (Client.CheckingTableExistence(EntityType.Product.ToString()) && Client.CheckTableIsReady(EntityType.Product.ToString())) { entity = ConvertEntityToDynamoEntity <Product>(Client.GetItem <Product>(id, timeStamp)); } break; case EntityType.Invoice: if (Client.CheckingTableExistence(EntityType.Invoice.ToString()) && Client.CheckTableIsReady(EntityType.Invoice.ToString())) { entity = ConvertEntityToDynamoEntity <Invoice>(Client.GetItem <Invoice>(id, timeStamp)); } break; default: throw new ArgumentOutOfRangeException(nameof(type), type, "Common.Entity type not supported"); } return(entity); }