public async Task<ActionResult> Edit(EditGroupViewModel model)
        {
            if (ModelState.IsValid)
            {
                var userId = User.Identity.GetUserId();
                if (model.Group.OwnerId == userId || identityManager.IsUserInRole(userId, "Admin"))
                {
                    if (!model.Group.GroupId.HasValue)
                    {
                        db.Groups.Add(model.Group);
                    }
                    else
                    {
                        db.Entry(model).State = EntityState.Modified;
                    }

                    await db.SaveChangesAsync();
                    return RedirectPermanent(model.ReturnUrl);
                }
                else
                {
                    return RedirectToActionPermanent("AccessDenied", "Home");
                }
            }
            return View(model);
        }
 // GET: /Group/Create
 public ActionResult Create()
 {
     var model = new EditGroupViewModel(new Group(User.Identity.GetUserId()));
     model.Group.OwnerId = User.Identity.GetUserId();
     model.ReturnUrl = Request.UrlReferrer.ToString();
     ViewBag.Title = "Create Group";
     return View("Edit", model);
 }
 // GET: /Group/Edit/5
 public async Task<ActionResult> Edit(int? id, string returnUrl)
 {
     EditGroupViewModel model = null;
     if (id != null)            
     {
         model = new EditGroupViewModel(await db.Groups.FindAsync(id));
     }
     
     return View(model);
 }