public IEnumerable<TypePrompt> GetPrompts(CultureInfo cultureInfo, CultureInfo defaultCulture,
SearchFilter filter)
{
var sql = "SELECT * FROM LocalizedTypes WHERE LocaleId = @LocaleId";
using (var cmd = _db.Connection.CreateCommand())
{
cmd.CommandText = sql;
cmd.AddParameter("LocaleId", cultureInfo.LCID);
if (!string.IsNullOrEmpty(filter.TextFilter))
{
cmd.CommandText += " AND (TypeName LIKE @TextFilter OR TextName LIKE @TextFilter)";
cmd.AddParameter("TextFilter", '%' + filter.TextFilter + "%");
}
if (!string.IsNullOrEmpty(filter.Path))
{
cmd.CommandText += " AND TypeName LIKE @PartialName";
cmd.AddParameter("PartialName", filter.Path + "%");
}
if (filter.OnlyNotTranslated)
{
cmd.CommandText += " AND (Value IS null OR Value LIKE '')";
}
using (var reader = cmd.ExecuteReader())
{
var items = new List<TypePrompt>();
while (reader.Read())
{
items.Add(MapEntity(reader));
}
return items;
}
}
}