public ActionResult Edit(Resource r)
        {
            var c = new UpdateResourceCommand {Resource = r};
            var res = c.Execute(_serviceResource);
            TempData["CommandResult"] = res;

            return RedirectToAction("Edit", r.Id);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
 public void Update(Resource resource)
 {
     RepoResources.Update(resource);
     RepoResources.Save();
 }
Esempio n. 4
0
 public void Remove(Resource resource, Category cateogry)
 {
 }