public List <IEvolution> GetEvolutions()
        {
            const string evolutionQuery = @"SELECT ID, 
                                                   NAME, 
                                                   FILE_NAME, 
                                                   CREATED_DATE, 
                                                   CONTENT,
                                                   [CHECKPOINT] 
                                            FROM EVOLUTION";

            var results = new DataTable();
            List <IEvolution> evolutions = new List <IEvolution>();
            IEvolution        evolution;

            using (SqlCommand cmd = new SqlCommand(evolutionQuery, _Connection))
            {
                using (SqlDataReader r = cmd.ExecuteReader())
                {
                    results.Load(r);
                }
            }

            foreach (DataRow row in results.Rows)
            {
                evolution = new Entity.Evolution()
                {
                    Id       = (Guid)row["ID"],
                    Name     = row["NAME"].ToString(),
                    FileName = row["FILE_NAME"].ToString(),
                    Content  = row["CONTENT"].ToString(),
                };

                if (!int.TryParse(row["CHECKPOINT"].ToString(), out var checkpoint))
                {
                    checkpoint = 0;
                }

                evolution.CheckPoint = checkpoint;

                evolutions.Add(evolution);
            }

            return(evolutions);
        }
        public List <IEvolution> GetEvolutions()
        {
            const string evolutionQuery = @"SELECT ID, 
                                                   NAME, 
                                                   FILE_NAME, 
                                                   CREATED_DATE, 
                                                   CONTENT, 
                                                   HASH, 
                                                   CHECKPOINT 
                                            FROM EVOLUTION";

            var results = new DataTable();
            List <IEvolution> evolutions = new List <IEvolution>();
            IEvolution        evolution;

            using (OracleCommand cmd = new OracleCommand(evolutionQuery, _Connection))
            {
                using (OracleDataReader r = cmd.ExecuteReader())
                {
                    results.Load(r);
                }
            }

            foreach (DataRow row in results.Rows)
            {
                evolution = new Entity.Evolution()
                {
                    Id       = new Guid((byte[])row["ID"]),
                    Name     = row["NAME"].ToString(),
                    FileName = row["FILE_NAME"].ToString(),
                    Content  = row["CONTENT"].ToString(),
                    //TODO Implement hash
                    //Hash = row["HASH"], Convert.to
                    CheckPoint = int.Parse(row["CHECKPOINT"].ToString())
                };

                evolutions.Add(evolution);
            }

            return(evolutions);
        }