static void AddUser(User newUser, string userGroup) { using (UsersAndGroupsEntities db = new UsersAndGroupsEntities()) { using (TransactionScope tr = new TransactionScope()) { try { Group newGroup = new Group(); var gr = from g in db.Groups where g.groupName == userGroup select g; if (gr.Count() == 0) { newGroup.groupName = userGroup; db.Groups.Add(newGroup); db.SaveChanges(); } else { newGroup = db.Groups.FirstOrDefault(x => x.groupName == userGroup); } newUser.Groups.Add(newGroup); db.Users.Add(newUser); db.SaveChanges(); tr.Complete(); } catch (System.Data.UpdateException ex) { Console.WriteLine("The update failed! {0}", ex.Message); } } } }
public static void AddUser(string username, string password, string groupName) { UsersAndGroupsEntities usersAndGroupsDb = new UsersAndGroupsEntities(); using (usersAndGroupsDb) { TransactionScope transaction = new TransactionScope(); using (transaction) { Group group; group = usersAndGroupsDb.Groups.FirstOrDefault(g => g.Name == groupName); if (group == null) { group = AddGroup(groupName); } User newUser = new User() { Username = username, Password = password, GroupID = group.GroupID }; usersAndGroupsDb.Users.Add(newUser); usersAndGroupsDb.Groups.Add(group); group.Users.Add(newUser); usersAndGroupsDb.SaveChanges(); transaction.Complete(); } } }
public static Group AddGroup(string name) { Group newGroup = new Group(); newGroup.Name = name; UsersAndGroupsEntities usersAndGrousDb = new UsersAndGroupsEntities(); using (usersAndGrousDb) { usersAndGrousDb.Groups.Add(newGroup); usersAndGrousDb.SaveChanges(); } return(newGroup); }