コード例 #1
0
        public void DeleteEntityTest()
        {
            var desc = "Primer servicio";
            // Creamos servicios
            var servicio = new Servicio
            {
                Descripcion = desc
            };

            // Lo añadimos al repositorio
            _repositoryServicio.Create(servicio);

            // Eliminamos el objeto del repositorio
            var result = _repositoryServicio.Delete(s => s.Descripcion.Equals(desc));

            // Comprobamos la cantidad de elementos borrados
            Assert.AreEqual(1, result);
        }
コード例 #2
0
        /// <summary>
        /// Run the application.
        /// </summary>
        public override BoolMessageItem Execute()
        {
            // Create In-Memory repository.
            IRepository <Product> repo = new RepositoryInMemory <Product>("Id,Name,Model,IsInStock,Cost");
            var products = GetSampleProducts();

            products.ForEach(p => repo.Create(p));

            // NOTE: I will not show the Sum, Min, Max, Distinct methods here, please refer to base class
            //       example Example_Repository1_Queryable.
            Product product = new Product("Porsche", "boxster", 10, true);

            // 1. Create
            repo.Create(product);

            // 2. Get
            product = repo.Get(product.Id);

            // 3. Update
            product.Name = "Ford2";
            repo.Update(product);

            // 4. Delete
            repo.Delete(product.Id);

            // 5. Get all
            IList <Product> all = repo.GetAll();

            // 6. Get first using filter.
            Product prod = repo.First("name = 'Honda'");

            // 7. Get by page using sql
            PagedList <Product> page = repo.Find("cost = 20", 1, 3);

            // 8. Get by page using criteria.
            var criteria1 = Query <Product> .New().Where("cost").Is(20);

            PagedList <Product> page2 = repo.Find(criteria1, 1, 3);

            // 9. Delete using criteria.
            var criteria2 = Query <Product> .New().Where(p => p.Name).Is("Skateboard");

            repo.Delete(criteria2);

            // 10. Aggregate using column name, expression, and filter.
            var t = repo.Count(Query <Product> .New().Where(p => p.Name).Null());

            // GROUPING
            var groups1 = repo.Group <int>(e => e.Cost);

            // DISTINCT
            var names = repo.Distinct <string>(e => e.Name);

            // MIN, MAX, AVG, SUM using the Entity properties.
            double min = repo.Min(e => e.Cost);
            double max = repo.Max(e => e.Cost);
            double sum = repo.Sum(e => e.Cost);
            double avg = repo.Avg(e => e.Cost);

            return(BoolMessageItem.True);
        }