public ActionResult Edit(Resource r) { var c = new UpdateResourceCommand {Resource = r}; var res = c.Execute(_serviceResource); TempData["CommandResult"] = res; return RedirectToAction("Edit", r.Id); }
public void UpdateResourceCategories(Resource resource) { var fromDb = GetResource(resource.Id); var oCats = fromDb.Categories.Select(x => x.Id).ToList(); var nCats = resource.Categories.Select(x => x.Id).ToList(); var deletes = oCats.Where(x => !nCats.Contains(x)); var adds = nCats.Where(x => !oCats.Contains(x)); foreach (var c in deletes.ToList().Select(id => fromDb.Categories.Single(x => x.Id == id))) { fromDb.Categories.Remove(c); } foreach (var c in adds.Select(guid => new Category() { Id = guid})) { fromDb.Categories.Add(c); RepoResources.DbContext.Entry(c).State = EntityState.Unchanged;//unattached object RepoResources.DbContext.Entry(fromDb).Collection(x =>x.Categories).Load(); } // RepoResources.Entry(resource).State = EntityState.Modified; RepoResources.Update(fromDb); // RepoResources.Entry(resource).State = EntityState.Modified; RepoResources.Save(); RepoResources.DbContext.Entry(fromDb).Collection(x => x.Categories).Load(); resource = fromDb; }
public void Update(Resource resource) { RepoResources.Update(resource); RepoResources.Save(); }
public void Remove(Resource resource, Category cateogry) { }