public void Create1Root() { using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); Placement placementRoot = new Placement(IssueTracker.PlaceInDatabase); IssueTracker issueTracker = new IssueTracker(10, session); User user = new User(null, "*****@*****.**", "Mats", "Persson", "matspca"); user.Persist(session, user); PermissionScheme permissions = new PermissionScheme(user); issueTracker.Permissions = permissions; issueTracker.Persist(placementRoot, session); session.Commit(); } }
public void Create2Users(int numberOfUsers) { User user = null; User priorUser = null; for (int i = 0; i < numberOfUsers; i++) using (SessionNoServer session = new SessionNoServer(systemDir)) { session.BeginUpdate(); IssueTracker issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false); string email = i.ToString() + "@gmail.com"; string first = "first" + i.ToString(); string last = "last" + i.ToString(); string userName = "******" + i.ToString(); user = new User(user, email, first, last, userName); user.Persist(session, priorUser ?? user); issueTracker.UserSet.Add(user); priorUser = user; session.Commit(); } }
public void UpdateUser(EditedUser newValues) { try { using (SessionNoServer session = new SessionNoServer(dataPath, 2000, true, true)) { session.BeginUpdate(); if (newValues.Id == 0) { IssueTracker issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false); User user = lookupUser(issueTracker, session); User newUser = new User(user, newValues.Email, newValues.FirstName, newValues.LastName, newValues.UserName); Placement placer = new Placement(newUser.PlacementDatabaseNumber); newUser.Persist(placer, session, true, true); issueTracker.UserSet.Add(newUser); } else { User existingUser = (User)session.Open(newValues.Id); existingUser.FirstName = newValues.FirstName; existingUser.LastName = newValues.LastName; existingUser.Email = newValues.Email; existingUser.UserName = newValues.UserName; } session.Commit(); } } catch (System.Exception ex) { this.errorLabel.Text = ex.ToString(); } }
User lookupUser(IssueTracker issueTracker, SessionBase session) { string userEmail = this.User.Identity.Name; User user = new User(userEmail); if (!issueTracker.UserSet.TryGetValue(user, ref user)) { CustomerContact existingCustomer = null; string firstName = null; string lastName = null; string userName = null; try { using (SessionNoServer session2 = new SessionNoServer(dataPath, 2000, true, true)) { session2.BeginRead(); Root velocityDbroot = (Root)session2.Open(Root.PlaceInDatabase, 1, 1, false); CustomerContact lookup = new CustomerContact(userEmail, null); velocityDbroot.customersByEmail.TryGetKey(lookup, ref existingCustomer); session2.Commit(); firstName = existingCustomer.FirstName; lastName = existingCustomer.LastName; userName = existingCustomer.UserName; } } catch (System.Exception ex) { this.errorLabel.Text = ex.ToString(); } user = new User(null, userEmail, firstName, lastName, userName); Placement placer = new Placement(user.PlacementDatabaseNumber); user.Persist(placer, session, true, true); issueTracker.UserSet.Add(user); } return user; }