public static Group CreateGroup(ApplicationDbContext db, GroupViewCreateModel model, IPrincipal user) { Group group = new Group() { GroupId = Guid.NewGuid(), Name = model.Name, VisibilityLevel = model.VisibilityLevel, InviteLevel = model.InviteLevel, AcceptanceLevel = model.AcceptanceLevel, EntityStatus = EntityStatusEnum.Active, RecordChange = RecordChangeEnum.NewRecord, RecordChangeOn = DateTime.Now, RecordChangeBy = AppUserHelpers.GetAppUserIdFromUser(user), GroupOriginatorAppUserId = AppUserHelpers.GetAppUserIdFromUser(user), GroupOriginatorOrganisationId = AppUserHelpers.GetOrganisationIdFromUser(user), GroupOriginatorDateTime = DateTime.Now }; db.Groups.Add(group); db.SaveChanges(); //Add user Organisation as the initial group member GroupMembersHelpers.CreateGroupMember(db, group.GroupId, group.GroupOriginatorOrganisationId, user); return(group); }
public ActionResult Create([Bind(Include = "Name,VisibilityLevel,InviteLevel,AcceptanceLevel")] GroupViewCreateModel model) { if (Request.Form["resetbutton"] != null) { return(RedirectToAction("Create")); } if (ModelState.IsValid) { //Save the group before going to add members as to be here you have pressed either 'Save' or 'Add Members' Group newGroup = GroupHelpers.CreateGroup(db, model, User); if (Request.Form["addmembersbutton"] != null) { return(RedirectToAction("AddMembers", "Groups", new { groupId = newGroup.GroupId })); } //all done, go back to initial list return(RedirectToAction("Index")); } return(View(model)); }