protected void Session_Start(object sender, EventArgs e) { Session["updateinfo"] = new HPMUpdateInfo(); var sessions = (List<HttpSessionState>)Application["sessions"]; sessions.Add(Session); }
protected void Session_Start(object sender, EventArgs e) { Session["updateinfo"] = new HPMUpdateInfo(); var sessions = (List <HttpSessionState>)Application["sessions"]; sessions.Add(Session); }
private void UpdateProject(HPMUniqueID projectID) { var sessions = (List <HttpSessionState>)Application["sessions"]; foreach (var session in sessions) { HPMUpdateInfo updateinfo = session["updateinfo"] as HPMUpdateInfo; updateinfo.UpdatedProjects.Add(projectID); updateinfo.FullUpdate = true; } }
protected void HPM_ProjectDeleted(Object sender, ProjectDeleteEventArgs e) { var sessions = (List <HttpSessionState>)Application["sessions"]; foreach (var session in sessions) { HPMUpdateInfo updateinfo = session["updateinfo"] as HPMUpdateInfo; updateinfo.DeletedProjects.Add(e.data.m_ProjectID); updateinfo.FullUpdate = true; } }
protected void HPM_TaskDeleted(Object sender, TaskDeleteEventArgs e) { var sessions = (List <HttpSessionState>)Application["sessions"]; foreach (var session in sessions) { HPMUpdateInfo updateinfo = session["updateinfo"] as HPMUpdateInfo; try { updateinfo.DeletedTasks.Add(e.data.m_TaskID.m_ID, e.data.m_TaskID); } catch (ArgumentException) { } } }
private void UpdateTask(HPMUniqueID taskID) { var sessions = (List <HttpSessionState>)Application["sessions"]; foreach (var session in sessions) { HPMUpdateInfo updateinfo = session["updateinfo"] as HPMUpdateInfo; try { updateinfo.UpdatedTasks.Add(taskID.m_ID, taskID); } catch (ArgumentException) { } } }
protected void HPM_TasksCreated(Object sender, TasksCreateEventArgs e) { var sessions = (List <HttpSessionState>)Application["sessions"]; foreach (var session in sessions) { HPMUpdateInfo updateinfo = session["updateinfo"] as HPMUpdateInfo; foreach (HPMChangeCallbackData_TaskCreateUnifiedTask createdTask in e.data.m_Tasks) { try { updateinfo.CreatedTasks.Add(createdTask.m_TaskRefID.m_ID, createdTask.m_TaskRefID); } catch (ArgumentException) { } } } }
/// <summary> /// Handles the tick event from the client side timer that updates the UpdatePanel. This is needed since we can't handle the callbacks in the server side code behind. /// </summary> protected void Timer_Tick(object sender, EventArgs args) { HPMUpdateInfo update = Session["updateinfo"] as HPMUpdateInfo; if (update.UpdatedTasks.Count > 0) { foreach (KeyValuePair<Int32, HPMUniqueID> keyValue in update.UpdatedTasks) { HPMUniqueID taskID = keyValue.Value; HPMUniqueID taskRefID = m_VirtSession.TaskGetMainReference(taskID); if (update.CreatedTasks.ContainsKey(taskRefID.m_ID) || update.DeletedTasks.ContainsKey(taskRefID.m_ID)) continue; HPMUniqueID projectID = m_VirtSession.TaskGetContainer(taskID); string project = Convert.ToString(projectID.m_ID); GridView gView = GetGridView(project); DataTable dt = GetDataSource(project); try { DataRow drow = dt.Rows.Find(taskID.m_ID); List<HPMWIColumn> columns = GetColumns(project); HPMUniqueID selectedID = new HPMUniqueID(-1); if (gView.SelectedIndex != -1) { DataKey selectedKey = gView.SelectedDataKey; selectedID = new HPMUniqueID(Convert.ToInt32(selectedKey.Value)); } foreach (HPMWIColumn column in columns) { UpdateRow(taskID, projectID, column, drow, true); } if (selectedID == taskID) MultilineTabsSetText(project, drow, true); BindGrid(project, dt); } catch (MissingPrimaryKeyException) { SetErrorMessage("Task " + taskID + " does not exist in table.", ""); } } } if (update.DeletedTasks.Count > 0) { foreach (KeyValuePair<Int32, HPMUniqueID> keyValue in update.DeletedTasks) { HPMUniqueID taskID = keyValue.Value; HPMUniqueID projectID = m_VirtSession.TaskGetContainer(taskID); string project = Convert.ToString(projectID.m_ID); DataTable dt = GetDataSource(project); try { DataRow drow = dt.Rows.Find(taskID.m_ID); DeleteTask(taskID, drow); BindGrid(project, dt); } catch (MissingPrimaryKeyException) { SetErrorMessage("Task " + taskID + " does not exist in table.", ""); } } } if (update.CreatedTasks.Count > 0) { foreach (KeyValuePair<Int32, HPMUniqueID> keyValue in update.CreatedTasks) { HPMUniqueID taskRefID = keyValue.Value; HPMUniqueID taskID = m_VirtSession.TaskRefGetTask(taskRefID); HPMUniqueID projectID = m_VirtSession.TaskGetContainer(taskID); string project = Convert.ToString(projectID.m_ID); DataTable dt = GetDataSource(project); AddTask(taskRefID, projectID, project, dt, false); SetDataSource(dt, project); BindGrid(project, dt); } } Session["updateinfo"] = new HPMUpdateInfo(); }