public void UpdateComponent(EditedComponent newValues) { try { object projectIndexObj = Session["ProjectSelected"]; int projectIndex = projectIndexObj == null ? 0 : (int)projectIndexObj; int sessionId = -1; SessionBase session = null; try { session = s_sessionPool.GetSession(out sessionId); using (var transaction = session.BeginUpdate()) { IssueTracker issueTracker = session.AllObjects<IssueTracker>(false).FirstOrDefault(); Project project = issueTracker.ProjectSet.Keys[projectIndex]; if (newValues.Id == 0) { if (newValues.Name == null) Console.WriteLine("Component null storeName detected in Update method"); else { User user = lookupUser(issueTracker, session); Component newComponent = new Component(user, newValues.Name, newValues.Description, project); session.Persist(newComponent); issueTracker.ComponentSet.Add(newComponent); } } else { Component existingComponent = (Component)session.Open(newValues.Id); existingComponent.Name = newValues.Name; existingComponent.Description = newValues.Description; existingComponent.Project = project; } session.Commit(); s_sharedReadOnlySession.ForceDatabaseCacheValidation(); } } catch (Exception ex) { Console.Out.WriteLine(ex.StackTrace); } finally { s_sessionPool.FreeSession(sessionId, session); } } catch (System.Exception ex) { this.errorLabel.Text = ex.ToString(); } }
public void InsertComponent(EditedComponent newValues) { newValues.Id = 0; newValues.Oid = ""; newValues.Name = ""; newValues.Description = ""; }
public void UpdateComponent(EditedComponent newValues) { try { object projectIndexObj = Session["ProjectSelected"]; int projectIndex = projectIndexObj == null ? 0 : (int)projectIndexObj; using (SessionNoServer session = new SessionNoServer(dataPath, 2000, true, true)) { session.BeginUpdate(); IssueTracker issueTracker = (IssueTracker)session.Open(IssueTracker.PlaceInDatabase, 1, 1, false); Project project = issueTracker.ProjectSet.Keys[projectIndex]; if (newValues.Id == 0) { if (newValues.Name == null) Console.WriteLine("Component null storeName detected in Update method"); else { User user = lookupUser(issueTracker, session); Component newComponent = new Component(user, newValues.Name, newValues.Description, project); Placement placer = new Placement(newComponent.PlacementDatabaseNumber, 1, 1, 10000, 10000); newComponent.Persist(placer, session, true, true); issueTracker.ComponentSet.Add(newComponent); } } else { Component existingComponent = (Component)session.Open(newValues.Id); existingComponent.Name = newValues.Name; existingComponent.Description = newValues.Description; existingComponent.Project = project; } session.Commit(); } } catch (System.Exception ex) { this.errorLabel.Text = ex.ToString(); } }