private Recipe UpdateRecipe(Recipe recipe) { var row = recipe.ToRecipeRow(); var fields = FieldExtractor.Extract(recipe); var searchFields = fields .Where(x => x.IsSearchable) .Select(x => new RecipeTextSearchRow { Id = x.Id, Value = _queryParser.Parse(x.Value) }) .ToList(); using (_connection.Lock()) { //Remove all fields var mapping = _connection.GetMapping <RecipeTextFieldRow>(); _connection.Execute($"DELETE FROM {mapping.TableName} WHERE RecipeId = ?", recipe.Id); //Recreate recipe and indices _connection.Update(row); _connection.InsertAll(fields); _connection.InsertAll(searchFields); } return(recipe); }
private Recipe CreateRecipe(Recipe recipe) { var row = recipe.ToRecipeRow(); using (_connection.Lock()) { _connection.RunInTransaction(() => { _connection.Insert(row); recipe.Id = row.Id; var fields = FieldExtractor.Extract(recipe); _connection.InsertAll(fields); var searchFields = fields .Where(x => x.IsSearchable) .Select(x => new RecipeTextSearchRow { Id = x.Id, Value = _queryParser.Parse(x.Value) }) .ToList(); _connection.InsertAll(searchFields); }); } return(recipe); }
public FieldExtractorControl() { InitializeComponent(); FieldExtractor = new FieldExtractor() { PostProcessing = new FieldExtractorPostProcessing() }; }
public void AssertFieldDataInicioPrecoProduto() { target = new FieldExtractor(typeof(PrecoProduto)); Dictionary <string, Field> fields = target.Extract(); Assert.That(fields["data_inicio"].Name, Is.EqualTo("DataInicio")); Assert.That(fields["data_inicio"].Type.Name, Is.EqualTo("DateTime")); Assert.That(fields["data_inicio"].IsProperty, Is.EqualTo(false)); }
public void AssertFieldIdPrecoProduto() { target = new FieldExtractor(typeof(PrecoProduto)); Dictionary <string, Field> fields = target.Extract(); Assert.That(fields["id"].Name, Is.EqualTo("Id")); Assert.That(fields["id"].Type.Name, Is.EqualTo("Int32")); Assert.That(fields["id"].IsProperty, Is.EqualTo(true)); }
public void AssertFieldPrecoPrecoProduto() { target = new FieldExtractor(typeof(PrecoProduto)); Dictionary <string, Field> fields = target.Extract(); Assert.That(fields["preco"].Name, Is.EqualTo("Preco")); Assert.That(fields["preco"].Type.Name, Is.EqualTo("Double")); Assert.That(fields["preco"].IsProperty, Is.EqualTo(true)); Assert.That(fields["preco"].IsEntity, Is.EqualTo(false)); }
public void SetUp() { target = new FieldExtractor(typeof(Produto)); }
public void SetUp() { instance = CreateFieldExtractor(); }