//Store public ITranslation Insert(IEnumerable<String> unknowns, IEnumerable<String> rejected, Dictionary<String, String> results, String source) { var id = UntilDovesCryScalar<long>(CommandType.Text , String.Format("INSERT INTO dbo.Translation({0}) VALUES(@Unknowns, @Rejected, @Results, @Source) " + "SELECT SCOPE_IDENTITY()", translationInsertList) , Utility.Parameter("@Unknowns", unknowns.ToStringAndJoin("|"), true, 2000) , Utility.Parameter("@Rejected", rejected.ToStringAndJoin("|"), true, 2000) , Utility.Parameter("@Results", EncodeTranslationResults(results), true, 2000) , Utility.Parameter("@Source", source, true, 2000)); var thing = new Data.DO.Translation { ID = id, Unknowns = unknowns, Rejected = rejected, Results = results, Source = source, Created = DateTime.UtcNow }; return thing; }
private static ITranslation GetFromReader(ref int columnIndex, IDataReader reader) { var id = reader.ColumnValue(columnIndex++, default(long)); var unknowns = reader.ColumnValue(columnIndex++, String.Empty).Split('|'); var rejected = reader.ColumnValue(columnIndex++, String.Empty).Split('|'); var results = DecodeTranslationResults(reader.ColumnValue(columnIndex++, String.Empty)); var source = reader.ColumnValue(columnIndex++, String.Empty); var created = reader.ColumnValue(columnIndex++, DateTime.MaxValue); var thing = new Data.DO.Translation { ID = id, Unknowns = unknowns, Rejected = rejected, Results = results, Source = source, Created = created }; return thing; }