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); }
/// <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); }