Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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()
     };
 }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
 public void SetUp()
 {
     target = new FieldExtractor(typeof(Produto));
 }
Exemplo n.º 8
0
 public void SetUp()
 {
     instance = CreateFieldExtractor();
 }