public void Can_throw_an_exception() { using (var sandbox = new LocalDb()) { Runner.MigrateToLatest(sandbox.ConnectionString); using (var one = new ZooDbContext(sandbox.ConnectionString)) { var enclosure = new Enclosure { Environment = "Here", Name = "One", Location = "Here" }; one.Enclosures.Add(enclosure); one.SaveChanges(); using (var two = new ZooDbContext(sandbox.ConnectionString)) { var change = two.Enclosures.Find(enclosure.Id); change.Name = "Changed"; two.SaveChanges(); } enclosure.Name = "Last Time"; Assert.Throws <DbUpdateConcurrencyException>(() => one.SaveChanges()); } } }
// PUT api/owner/5 public HttpResponseMessage Put(Owner owner) { if (ModelState.IsValid) { db.Entry(owner).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, owner); return(response); } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); }
public void can_get_animals_using_explicit_relationship_between_animal_and_enclosure() { using (var sandbox = new LocalDb()) { Runner.MigrateToLatest(sandbox.ConnectionString); using (var context = new ZooDbContext(sandbox.ConnectionString)) { var enclosure = new Enclosure() { Id = 1, Name = "Kenya", Location = "Africa", Environment = "Sahara" }; var animal = new Animal() { Name = "Nala", Species = "Lion", EnclosureId = 1 }; context.Animals.Add(animal); context.Enclosures.Add(enclosure); context.SaveChanges(); var controller = new HomeController() { Database = context }; var result = controller.Index() as ViewResult; var model = result == null ? new IndexViewModel() : result.Model as IndexViewModel; Assert.Equal(1, model.Animals.Count()); Assert.Equal("Nala", model.Animals.First().AnimalName); } } }
public ActionResult AddAnimal(AnimalViewModel model) { if (ModelState.IsValid) { string[] arr = model.CareworkerName.Split(' '); if ((_context.Workers.ToList().Find(x => x.Name == arr[0]) != null) /*&& (_context.Workers.ToList().Find(x => x.Name == arr[0]) != null)*/ && (_context.Zoos.ToList().Find(x => x.Name == model.HomeZooName) != null)) { _context.Animals.Add(new Animal { Name = model.Name, Description = model.Description, Cost = model.Cost, CareWorker = _context.Workers.ToList().Find(x => x.Name == model.CareworkerName), HomeZoo = _context.Zoos.ToList().Find(x => x.Name == model.HomeZooName) }); _context.SaveChanges(); } else { return(RedirectToAction("ErrorState", new { message = "Such worker or zoo doesn't exist!" })); } } return(RedirectToAction("ViewAllAnimals")); }
static async Task Connection() { await Task.Run(() => { IZooDbContext db = new ZooDbContext(); db.SaveChanges(); }); ZooDbContext.Connected = true; }
public long AddInZoo(Animal animal, long zooId) { var zoo = _context.Set <Zoo>() .Include(it => it.Animals) .FirstOrDefaultAsync(it => it.Id == zooId).Result; var lastId = zoo.Animals.Last().Id; animal.Id = lastId + 1; zoo.Animals.Add(animal); _context.Entry(zoo).State = EntityState.Modified; _context.SaveChanges(); return(animal.Id); }
public long AddZoo(string city) { var zoos = _context.Set <Zoo>(); var lastId = zoos.Last().Id; var newZoo = new Zoo { Id = lastId, City = city }; zoos.Add(newZoo); _context.Entry(newZoo).State = EntityState.Modified; _context.SaveChanges(); return(lastId); }
public void Can_throw_an_exception() { using (var sandbox = new LocalDb()) { Runner.MigrateToLatest(sandbox.ConnectionString); using (var one = new ZooDbContext(sandbox.ConnectionString)) { var enclosure = new Enclosure {Environment = "Here", Name = "One", Location = "Here"}; one.Enclosures.Add(enclosure); one.SaveChanges(); using (var two = new ZooDbContext(sandbox.ConnectionString)) { var change = two.Enclosures.Find(enclosure.Id); change.Name = "Changed"; two.SaveChanges(); } enclosure.Name = "Last Time"; Assert.Throws<DbUpdateConcurrencyException>(() => one.SaveChanges()); } } }