private void loadGridData() { DataTable dt = null; if (_refreshData || Session["dtWorkItem_TestItem"] == null) { dt = WorkloadItem.WorkItem_TestItemList_Get(WorkItemID == 0 ? TestItemID : WorkItemID, this.SourceType); HttpContext.Current.Session["dtWorkItem_TestItem"] = dt; } else { dt = (DataTable)HttpContext.Current.Session["dtWorkItem_TestItem"]; } if (dt != null) { if (dt.Rows.Count > 0) { spanRowCount.InnerText = (dt.Rows.Count - 1).ToString(); } initializeColumnData(ref dt); this.DCC = dt.Columns; Page.ClientScript.RegisterArrayDeclaration("_dcc", JsonConvert.SerializeObject(DCC, Newtonsoft.Json.Formatting.None)); } grdWorkItem.DataSource = dt; grdWorkItem.DataBind(); }
public static string ValidateTaskID(int taskID) { var result = WTSPage.CreateDefaultResult(); DataTable dt = WorkloadItem.WorkItem_Get(taskID); if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; result["title"] = dr["TITLE"] != DBNull.Value ? HttpUtility.HtmlEncode(dr["TITLE"].ToString()) : ""; result["exists"] = "true"; DataTable aorDT = AOR.AORTaskAORList_Get(taskID); if (aorDT != null && aorDT.Rows.Count > 0) { Dictionary <string, string> aors = new Dictionary <string, string>(); for (int i = 0; i < aorDT.Rows.Count; i++) { DataRow aorRow = aorDT.Rows[i]; aors.Add(aorRow["AORID"].ToString(), aorRow["AORName"].ToString()); } result["aors"] = JsonConvert.SerializeObject(aors, Newtonsoft.Json.Formatting.None); } } else { result["exists"] = "false"; } result["success"] = "true"; return(JsonConvert.SerializeObject(result, Newtonsoft.Json.Formatting.None)); }
protected static bool itemChanged(ref WorkloadItem item, int statusID, int progress, int assignedID, int primaryID, int testerID) { bool changed = true; if (item.StatusID != statusID) { item.StatusID = statusID; changed = true; } if (item.CompletionPercent != progress) { item.CompletionPercent = progress; changed = true; } if (item.AssignedResourceID != assignedID) { item.AssignedResourceID = assignedID; changed = true; } if (item.PrimaryResourceID != primaryID) { item.PrimaryResourceID = primaryID; changed = true; } if (item.TesterID != testerID) { item.TesterID = testerID; changed = true; } return(changed); }
public static string DeleteAttachment(int workItemID, int id) { Dictionary <string, string> result = new Dictionary <string, string>() { { "deleted", "" }, { "id", "" }, { "error", "" } }; bool deleted = false; string errorMsg = string.Empty, ids = string.Empty; try { deleted = WorkloadItem.Attachment_Delete(workItemID: workItemID, attachmentID: id, errorMsg: out errorMsg); } catch (Exception ex) { LogUtility.LogException(ex); errorMsg += ": " + ex.Message; deleted = false; } result["deleted"] = deleted.ToString(); result["id"] = id.ToString(); result["error"] = errorMsg; return(JsonConvert.SerializeObject(result, Formatting.None)); }
private void init() { _dsOptions = WorkloadItem.GetAvailableOptions(); grdWorkItem.GridHeaderRowDataBound += grdWorkItem_GridHeaderRowDataBound; grdWorkItem.GridRowDataBound += grdWorkItem_GridRowDataBound; grdWorkItem.GridPageIndexChanging += grdWorkItem_GridPageIndexChanging; }
public static string SaveComments(int workItemID, dynamic comments) { Dictionary <string, string> result = new Dictionary <string, string>() { { "saved", "" }, { "ids", "" }, { "error", "" } }; bool saved = false; string errorMsg = string.Empty, ids = string.Empty; int commentId = 0, parentCommentId = 0; string commentText = string.Empty; foreach (dynamic comment in comments) { commentId = 0; parentCommentId = 0; //comment[0]=commentid, comment[1]=parentid, comment[2]=text try { commentText = comment[2].ToString(); if (string.IsNullOrWhiteSpace(comment[0].ToString()) || !int.TryParse(comment[0].ToString(), out commentId)) { int.TryParse(comment[1].ToString(), out parentCommentId); saved = WorkloadItem.WorkItem_Comment_Add(out commentId, out errorMsg, workItemID, parentCommentId, commentText); } else { saved = WorkloadItem.WorkItem_Comment_Update(out errorMsg, commentId, commentText); } if (saved) { ids += commentId.ToString() + ","; } } catch (Exception ex) { LogUtility.LogException(ex); errorMsg += ": " + ex.Message; } } ids = ids.TrimEnd(new char[] { ',' }); if (ids.Length > 0) { saved = true; Workload.SendWorkloadEmail("WorkItem", false, workItemID); } result["saved"] = saved.ToString(); result["ids"] = ids; result["error"] = errorMsg; return(JsonConvert.SerializeObject(result, Formatting.None)); }
private void loadComments() { DataTable dt = WorkloadItem.WorkItem_GetCommentList(workItemID: this.WorkItemID); if (dt != null && dt.Rows.Count > 0) { Comment_Count = dt.Rows.Count; } Page.ClientScript.RegisterArrayDeclaration("arrComments", JsonConvert.SerializeObject(dt, Newtonsoft.Json.Formatting.None)); }
protected static DataTable loadFromData(bool includeArchive = false, bool myData = false) { DataTable dt = WorkloadItem.WorkItemList_Get(workRequestID: 0 , showArchived: includeArchive ? 1 : 0 , columnListOnly: 0 , myData: myData); HttpContext.Current.Session["MassChange_FromData"] = dt; return(dt); }
private void loadWorkItem() { DataTable dt = WorkloadItem.WorkItem_Get(workItemID: this.WorkItemID); if (dt != null && dt.Rows.Count > 0) { this.labelWorkItemNumber.InnerText = dt.Rows[0]["WORKITEMID"].ToString(); int.TryParse(dt.Rows[0]["WORKREQUESTID"].ToString(), out this.WorkRequestID); int.TryParse(dt.Rows[0]["Comment_Count"].ToString(), out this.Comment_Count); int.TryParse(dt.Rows[0]["Attachment_Count"].ToString(), out this.Attachment_Count); int.TryParse(dt.Rows[0]["WorkRequest_Attachment_Count"].ToString(), out this.WR_Attachment_Count); } }
protected static DataTable GetWorkItems(int requestID = 0, int showArchived = 0, bool myData = false) { DataTable dt = null; try { dt = WorkloadItem.WorkItemList_Get(workRequestID: requestID, showArchived: showArchived, columnListOnly: 0, myData: myData); } catch (Exception ex) { LogUtility.LogException(ex); dt = null; } return(dt); }
private void loadAttachments() { DataTable dt = WorkloadItem.WorkItem_GetAttachmentList(workItemID: this.WorkItemID); if (dt != null) { dc = dt.Columns; if (dt.Rows.Count > 0) { spanRowCount.InnerText = dt.Rows.Count.ToString(); gridAttachments.DataSource = dt; gridAttachments.DataBind(); } } }
public static string DeleteComments(int workItemID, dynamic arrCommentIDsToDelete) { Dictionary <string, string> result = new Dictionary <string, string>() { { "deleted", "" }, { "ids", "" }, { "error", "" } }; bool deleted = false; string errorMsg = string.Empty, ids = string.Empty; int commentId = 0; foreach (dynamic id in arrCommentIDsToDelete) { commentId = 0; try { if (int.TryParse(id.ToString(), out commentId)) { deleted = WorkloadItem.WorkItem_Comment_Delete(out errorMsg, workItemID, commentId); if (deleted) { ids += "," + commentId.ToString(); } } } catch (Exception ex) { LogUtility.LogException(ex); errorMsg += ": " + ex.Message; deleted = false; } } ids = ids.TrimEnd(new char[] { ',' }); if (ids.Length > 0) { deleted = true; } result["deleted"] = deleted.ToString(); result["ids"] = ids; result["error"] = errorMsg; return(JsonConvert.SerializeObject(result, Formatting.None)); }
private void loadGridData(bool bind = true) { DataTable dtWork = null; if (_refreshData || Session["dtWorkItem_QM"] == null) { dtWork = WorkloadItem.WorkItemList_Get(workRequestID: 0, showArchived: _includeArchive ? 1 : 0, columnListOnly: 0, myData: _myData); HttpContext.Current.Session["dtWorkItem_QM"] = dtWork; } else { dtWork = (DataTable)HttpContext.Current.Session["dtWorkItem_QM"]; } if (dtWork != null) { if (!ShowClosed) { dtWork.DefaultView.RowFilter = " STATUS NOT IN ('Closed', 'Approved/Closed') "; dtWork = dtWork.DefaultView.ToTable(); } dtWork.Columns["TITLE"].SetOrdinal(dtWork.Columns["ItemID"].Ordinal + 1); dtWork.Columns["WORKREQUEST"].SetOrdinal(dtWork.Columns["TITLE"].Ordinal + 1); spanRowCount.InnerText = dtWork.Rows.Count.ToString(); InitializeColumnData_WorkItem(ref dtWork); dtWork.AcceptChanges(); using (DataTable dtTemp = dtWork.Clone()) { this.DCC = dtTemp.Columns; string json = JsonConvert.SerializeObject(DCC, Formatting.None); Page.ClientScript.RegisterArrayDeclaration("_dcc", json); } } if (_pageIndex > 0) { grdWorkload.PageIndex = _pageIndex; } grdWorkload.DataSource = dtWork; if (bind) { grdWorkload.DataBind(); } }
private DataTable LoadData() { DataTable dt = new DataTable(); if (IsPostBack && Session["dtAORAddSubTask"] != null) { dt = (DataTable)Session["dtAORAddSubTask"]; } else { dt = WorkloadItem.WorkItem_GetTaskList(workItemID: TaskID, showArchived: 0, showBacklog: false, statusList: SelectedStatuses, systemList: SelectedSystems); } // apply status filters Session["dtAORAddSubTask"] = dt; return(dt); }
private void loadWorkConcerns() { DataTable dt = null; try { dt = WorkloadItem.Concerns_Get(); } catch (Exception ex) { LogUtility.LogException(ex); dt = null; } if (dt != null) { this.DCC = dt.Columns; } gridConcern.DataSource = dt; gridConcern.DataBind(); }
public static string DeleteItem(int itemId) { Dictionary <string, string> result = new Dictionary <string, string>() { { "id", itemId.ToString() } , { "exists", "" } , { "deleted", "" } , { "error", "" } }; bool exists = false, deleted = false; string errorMsg = string.Empty; try { //delete if (itemId == 0) { errorMsg = "You must specify an item to delete."; } else { deleted = WorkloadItem.WorkItem_TestItem_Delete(itemId, out exists, out errorMsg); } } catch (Exception ex) { LogUtility.LogException(ex); deleted = false; errorMsg = ex.Message; } result["exists"] = exists.ToString(); result["deleted"] = deleted.ToString(); result["error"] = errorMsg; return(JsonConvert.SerializeObject(result, Formatting.None)); }
private void loadTasks() { DataTable dt = null; if (_refreshData || Session["dtTask"] == null) { dt = WorkloadItem.WorkItem_GetTaskList(workItemID: this.WorkItemID); HttpContext.Current.Session["dtTask"] = dt; } else { dt = (DataTable)HttpContext.Current.Session["dtWorkItem"]; } if (dt != null) { dt.Columns["AssignedResource"].SetOrdinal(dt.Columns["ACTUALENDDATE"].Ordinal); dt.Columns["Status"].SetOrdinal(dt.Columns["COMPLETIONPERCENT"].Ordinal); this.DCC = dt.Columns; } gridTask.DataSource = dt; gridTask.DataBind(); }
public override void Update(Workload entity) { Workload persistent = this.Load(entity.ID); this.DbContext.Entry(persistent).CurrentValues.SetValues(entity); this.DbContext.Entry(persistent).State = EntityState.Modified; foreach (WorkloadItem item in persistent.Items.Where(s => entity.Items.All(cs => cs.Url != s.Url)).ToArray()) { persistent.Items.Remove(item); this.DbContext.Entry(item).State = EntityState.Deleted; } foreach (WorkloadItem item in entity.Items.Where(s => persistent.Items.All(cs => cs.Url != s.Url)).ToArray()) { persistent.Items.Add(item); } foreach (WorkloadItem item in persistent.Items) { WorkloadItem currentValues = entity.Items.Single(s => s.Url == item.Url); this.DbContext.Entry(item).CurrentValues.SetValues(currentValues); } }
public static string LoadExistingValues(string entityType, string idField, string columnName, string textField, string filterField, string existingValueFilter) { Dictionary <string, string> result = new Dictionary <string, string>() { { "loaded", "false" } , { "CurrentCount", "0" } , { "CurrentOptions", "" } , { "NewCount", "0" } , { "NewOptions", "" } , { "error", "" } }; bool loaded = false; int currentCount = 0, newCount = 0; string errorMsg = string.Empty; int AOR_ID = 0; DataTable dt = null, dtCurrentOptions = null, dtNewValues = null; try { switch (entityType.ToUpper()) { case "AOR": dt = AOR.AORList_Get(AORID: AOR_ID); break; case "CR": dt = AOR.AORCRList_Get(AORID: AOR_ID, AORReleaseID: 0, CRID: 0); break; case "PRIMARYTASK": dt = AOR.AORTaskList_Get(AORID: AOR_ID, AORReleaseID: 0); break; case "SUBTASK": dt = WorkloadItem.WorkItem_GetTaskList(workItemID: 0, showArchived: 0, showBacklog: false); break; } if (existingValueFilter.Length > 0) { dt.DefaultView.RowFilter = filterField + " IN (" + existingValueFilter + ")"; } if (entityType.ToUpper() == "AOR") { dt.DefaultView.RowFilter = "[Workload Allocation Archive] IN (False)"; } dtCurrentOptions = entityType.ToUpper() == "AOR" ? dt.DefaultView.ToTable(distinct: true, columnNames: new string[] { idField, columnName, "Workload Allocation Archive" }) : dt.DefaultView.ToTable(distinct: true, columnNames: new string[] { idField, columnName }); if (dtCurrentOptions != null) { dtCurrentOptions.Columns[idField].ColumnName = "valueField"; dtCurrentOptions.Columns[columnName].ColumnName = "textField"; } dtCurrentOptions.DefaultView.Sort = "textField"; dtCurrentOptions = dtCurrentOptions.DefaultView.ToTable(); currentCount = dtCurrentOptions.Rows.Count; try { switch (entityType.ToUpper()) { case "AOR": switch (columnName.ToUpper()) { case "CURRENT RELEASE": dtNewValues = MasterData.ProductVersionList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["ProductVersionID"].ColumnName = "valueField"; dtNewValues.Columns["ProductVersion"].ColumnName = "textField"; } break; case "WORKLOAD ALLOCATION": dtNewValues = MasterData.WorkloadAllocationList_Get(includeArchive: 0); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["WorkloadAllocationID"].ColumnName = "valueField"; dtNewValues.Columns["WorkloadAllocation"].ColumnName = "textField"; } break; default: dtNewValues = null; break; } break; case "CR": switch (columnName.ToUpper()) { case "CONTRACT": dtNewValues = MasterData.ContractList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["ContractID"].ColumnName = "valueField"; dtNewValues.Columns["Contract"].ColumnName = "textField"; } break; case "STATUS": dtNewValues = MasterData.StatusList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues.DefaultView.RowFilter = "StatusType = 'AORCR'"; dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["StatusID"].ColumnName = "valueField"; dtNewValues.Columns["Status"].ColumnName = "textField"; } break; case "WEBSYSTEM": dtNewValues = MasterData.SystemList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["WTS_SYSTEMID"].ColumnName = "valueField"; dtNewValues.Columns["WTS_SYSTEM"].ColumnName = "textField"; } break; default: dtNewValues = null; break; } break; case "PRIMARYTASK": switch (columnName.ToUpper()) { case "ASSIGNED TO": dtNewValues = UserManagement.LoadUserList(organizationId: 0, excludeDeveloper: false, loadArchived: false, userNameSearch: ""); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["WTS_RESOURCEID"].ColumnName = "valueField"; dtNewValues.Columns["UserName"].ColumnName = "textField"; } break; case "PRIMARY RESOURCE": dtNewValues = UserManagement.LoadUserList(organizationId: 0, excludeDeveloper: false, loadArchived: false, userNameSearch: ""); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["WTS_RESOURCEID"].ColumnName = "valueField"; dtNewValues.Columns["UserName"].ColumnName = "textField"; } break; case "PRIORITY": dtNewValues = MasterData.PriorityList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues.DefaultView.RowFilter = "PriorityType = 'Work Item'"; dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["PriorityID"].ColumnName = "valueField"; dtNewValues.Columns["Priority"].ColumnName = "textField"; } break; case "PRODUCTION STATUS": dtNewValues = MasterData.StatusList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues.DefaultView.RowFilter = "StatusType = 'Production'"; dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["StatusID"].ColumnName = "valueField"; dtNewValues.Columns["Status"].ColumnName = "textField"; } break; case "STATUS": dtNewValues = MasterData.StatusList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues.DefaultView.RowFilter = "StatusType = 'Work'"; dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["StatusID"].ColumnName = "valueField"; dtNewValues.Columns["Status"].ColumnName = "textField"; } break; case "PRODUCT VERSION": dtNewValues = MasterData.ProductVersionList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["ProductVersionID"].ColumnName = "valueField"; dtNewValues.Columns["ProductVersion"].ColumnName = "textField"; } break; case "SYSTEM(TASK)": dtNewValues = MasterData.SystemList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["WTS_SYSTEMID"].ColumnName = "valueField"; dtNewValues.Columns["WTS_SYSTEM"].ColumnName = "textField"; } break; //case "PERCENT COMPLETE": // dtNewValues = MasterData.ProductVersionList_Get(includeArchive: false); // if (dtNewValues != null) // { // dtNewValues = dtNewValues.DefaultView.ToTable(); // dtNewValues.Columns["ProductVersionID"].ColumnName = "valueField"; // dtNewValues.Columns["ProductVersion"].ColumnName = "textField"; // } //break; default: dtNewValues = null; break; } break; case "SUBTASK": switch (columnName.ToUpper()) { case "ASSIGNEDRESOURCE": dtNewValues = UserManagement.LoadUserList(organizationId: 0, excludeDeveloper: false, loadArchived: false, userNameSearch: ""); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["WTS_RESOURCEID"].ColumnName = "valueField"; dtNewValues.Columns["UserName"].ColumnName = "textField"; } break; case "PRIMARY RESOURCE": dtNewValues = UserManagement.LoadUserList(organizationId: 0, excludeDeveloper: false, loadArchived: false, userNameSearch: ""); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["WTS_RESOURCEID"].ColumnName = "valueField"; dtNewValues.Columns["UserName"].ColumnName = "textField"; } break; case "PRIORITY": dtNewValues = MasterData.PriorityList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues.DefaultView.RowFilter = "PriorityType = 'Work Item'"; dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["PriorityID"].ColumnName = "valueField"; dtNewValues.Columns["Priority"].ColumnName = "textField"; } break; case "PRODUCTION STATUS": dtNewValues = MasterData.StatusList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues.DefaultView.RowFilter = "StatusType = 'Production'"; dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["StatusID"].ColumnName = "valueField"; dtNewValues.Columns["Status"].ColumnName = "textField"; } break; case "STATUS": dtNewValues = MasterData.StatusList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues.DefaultView.RowFilter = "StatusType = 'Work'"; dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["StatusID"].ColumnName = "valueField"; dtNewValues.Columns["Status"].ColumnName = "textField"; } break; case "PRODUCT VERSION": dtNewValues = MasterData.ProductVersionList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["ProductVersionID"].ColumnName = "valueField"; dtNewValues.Columns["ProductVersion"].ColumnName = "textField"; } break; case "SYSTEM(TASK)": dtNewValues = MasterData.SystemList_Get(includeArchive: false); if (dtNewValues != null) { dtNewValues = dtNewValues.DefaultView.ToTable(); dtNewValues.Columns["WTS_SYSTEMID"].ColumnName = "valueField"; dtNewValues.Columns["WTS_SYSTEM"].ColumnName = "textField"; } break; //case "PERCENT COMPLETE": // dtNewValues = MasterData.ProductVersionList_Get(includeArchive: false); // if (dtNewValues != null) // { // dtNewValues = dtNewValues.DefaultView.ToTable(); // dtNewValues.Columns["ProductVersionID"].ColumnName = "valueField"; // dtNewValues.Columns["ProductVersion"].ColumnName = "textField"; // } //break; default: dtNewValues = null; break; } break; } } catch (Exception ex) { LogUtility.LogException(ex); dtNewValues = null; } if (dtNewValues != null && dtNewValues.Rows.Count > 0) { dtNewValues.DefaultView.Sort = "textField"; dtNewValues = dtNewValues.DefaultView.ToTable(distinct: true, columnNames: new string[] { "valueField", "textField" }); if (dtNewValues != null) { newCount = dtNewValues.Rows.Count; } } loaded = true; } catch (Exception ex) { LogUtility.LogException(ex); loaded = false; currentCount = 0; errorMsg = ex.Message; } result["loaded"] = loaded.ToString(); result["CurrentCount"] = currentCount.ToString(); result["NewCount"] = newCount.ToString(); result["error"] = errorMsg; if (dtCurrentOptions != null) { result["CurrentOptions"] = JsonConvert.SerializeObject(dtCurrentOptions, Formatting.None); } if (dtCurrentOptions != null) { result["NewOptions"] = JsonConvert.SerializeObject(dtNewValues, Formatting.None); } return(JsonConvert.SerializeObject(result, Formatting.None)); }
protected void Page_Load(object sender, EventArgs e) { this.CanEdit = UserManagement.UserCanEdit(WTSModuleOption.WorkItemTask); this.CanEditAOR = UserManagement.UserCanEdit(WTSModuleOption.AOR); this.CanEditWorkloadMGMT = UserManagement.UserCanEdit(WTSModuleOption.WorkloadMGMT); readQueryString(); LoadRelatedItemsMenu(); if (this.ReadOnly) { this.CanEdit = false; this.CanEditAOR = false; } loadLookupData(); if (this.WorkItem_TaskID > 0) { loadTask(); } else { WorkloadItem wi = WorkloadItem.WorkItem_GetObject(workItemID: this.WorkItemID); ListItem li = null; li = ddlAssignedTo.Items.FindByValue(wi.AssignedResourceID.ToString()); if (li == null) { int uID = 0; int.TryParse(wi.AssignedResourceID.ToString(), out uID); WTS_User u = new WTS_User(uID); u.Load(); li = new ListItem(u.First_Name + " " + u.Last_Name, wi.AssignedResourceID.ToString()); if (u.AORResourceTeam) { li.Attributes.Add("og", "Action Team"); DataTable dt = AOR.AORResourceTeamList_Get(AORID: 0, AORReleaseID: 0); dt.DefaultView.RowFilter = "ResourceTeamUserID = " + uID; dt = dt.DefaultView.ToTable(); if (dt.Rows.Count > 0) { li.Attributes.Add("aorid", dt.Rows[0]["AORID"].ToString()); } ddlAssignedTo.Items.Insert(1, li); } else { ddlAssignedTo.Items.Insert(0, li); } } li.Selected = true; WTSUtility.SelectDdlItem(ddlPrimaryResource, wi.PrimaryResourceID.ToString(), ""); // 12817 - 30: WTSUtility.SelectDdlItem(ddlPrimaryBusResource, wi.PrimaryBusinessResourceID.ToString(), ""); WTSUtility.SelectDdlItem(ddlSecondaryResource, wi.SecondaryResourceID.ToString(), ""); WTSUtility.SelectDdlItem(ddlSecondaryBusResource, wi.SecondaryBusinessResourceID.ToString(), ""); WTSUtility.SelectDdlItem(ddlPriority, wi.PriorityID.ToString(), ""); //WTSUtility.SelectDdlItem(ddlHours_Planned, wi.EstimatedEffortID.ToString(), ""); WTSUtility.SelectDdlItem(ddlProductVersion, wi.ProductVersionID.ToString(), ""); this.lblProductVersion.Text = ddlProductVersion.SelectedItem.Text; this.SystemID = wi.WTS_SystemID; IsNew = true; this.txtWorkloadNumber.Text = this.WorkItemID.ToString() + " - NA"; DataTable parentTaskData = WorkloadItem.WorkItem_Get(workItemID: WorkItemID); txtParentTitle.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["TITLE"].ToString().Replace(" ", "").Trim())); txtResourceGroup.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkType"].ToString().Replace(" ", "").Trim())); txtResourceGroup.Attributes.Add("ResourceGroupID", HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkTypeID"].ToString()))); txtFunctionality.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkloadGroup"].ToString().Replace(" ", "").Trim())); txtProductionStatus.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["ProductionStatus"].ToString().Replace(" ", "").Trim())); txtSystemTask.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WTS_SYSTEM"].ToString().Replace(" ", "").Trim())); txtContract.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["CONTRACT"].ToString().Replace(" ", "").Trim())); txtWorkloadAllocation.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkloadAllocation"].ToString().Replace(" ", "").Trim())); int workAreaID = 0, systemID = 0; int.TryParse(parentTaskData.Rows[0]["WorkAreaID"].ToString(), out workAreaID); int.TryParse(parentTaskData.Rows[0]["WTS_SYSTEMID"].ToString(), out systemID); WTSUtility.SelectDdlItem(ddlWorkItemType, parentTaskData.Rows[0]["WorkItemTypeID"].ToString(), parentTaskData.Rows[0]["WorkItemType"].ToString()); //dynamic filters = "{ 'System(Task)':{ 'value':'" + parentTaskData.Rows[0]["WTS_SYSTEMID"].ToString() + "','text':'" + parentTaskData.Rows[0]["WTS_SYSTEM"].ToString() + "'},'Work Area':{ 'value':'" + parentTaskData.Rows[0]["WorkAreaID"].ToString() + "','text':'" + parentTaskData.Rows[0]["WorkArea"].ToString() + "'}}"; //dynamic fields = JsonConvert.DeserializeObject<Dictionary<string, object>>(filters); //bool saved = Filtering.SaveWorkFilters(module: "RQMT", filterModule: "RQMT", filters: fields, myData: false, xml: ""); DataTable dtWorkArea = MasterData.WorkArea_SystemList_Get(workAreaID: workAreaID); string workAreaText = string.Empty; if (dtWorkArea != null && dtWorkArea.Rows.Count > 1) { workAreaText = dtWorkArea.Rows[1]["ApprovedPriority"].ToString() + " - " + dtWorkArea.Rows[1]["WorkArea"].ToString(); } txtWorkArea.Text = HttpUtility.HtmlDecode(workAreaText.Replace(" ", "").Trim()); DataTable dtAORs = AOR.AORTaskAORList_Get(TaskID: WorkItemID); if (dtAORs != null && dtAORs.Rows.Count > 0) { foreach (DataRow dr in dtAORs.Rows) { if (dr["AORWorkTypeID"].ToString() == "1") { txtWorkloadAOR.Text = dr["AORID"].ToString() + " (" + dr["Abbreviation"].ToString() + ") - " + dr["AORName"].ToString(); txtWorkloadAOR.ToolTip = txtWorkloadAOR.Text; } if (dr["AORWorkTypeID"].ToString() == "2") { txtReleaseAOR.Text = dr["AORID"].ToString() + " (" + dr["Abbreviation"].ToString() + ") - " + dr["AORName"].ToString(); txtReleaseAOR.ToolTip = txtReleaseAOR.Text; ParentRelAORReleaseID = dr["AORReleaseID"].ToString(); } } } ListItem item = ddlStatus.Items.FindByText("New"); if (item != null) { item.Selected = true; } filterStatuses(true); if (wi != null) { int maxSort = 0, maxBusRank = 0; DataTable dt = WorkloadItem.WorkItem_GetTaskList(wi.WorkItemID, 1); if (dt != null && dt.Rows.Count > 0) { int sort = 0; foreach (DataRow row in dt.Rows) { int.TryParse(row["SORT_ORDER"].ToString(), out sort); if (sort > maxSort) { maxSort = sort; } int.TryParse(row["BusinessRank"].ToString(), out sort); if (sort > maxBusRank) { maxBusRank = sort; } } } txtSortOrder.Text = (maxSort + 1).ToString(); txtBusinessRank.Text = (maxBusRank + 1).ToString(); } item = ddlAssignedToRank.Items.FindByText("5 - Unprioritized Workload"); if (item != null) { item.Selected = true; } txtBusinessRank.Text = "99"; } LoadAORs(); }
public static string SaveChanges(string rows) { Dictionary <string, string> result = new Dictionary <string, string>() { { "saved", "0" } , { "failed", "0" } , { "savedIds", "" } , { "failedIds", "" } , { "error", "" } }; int savedQty = 0, failedQty = 0; string ids = string.Empty, failedIds = string.Empty, errorMsg = string.Empty, tempMsg = string.Empty; int savedInt = 0; try { DataTable dtjson = (DataTable)JsonConvert.DeserializeObject(rows, (typeof(DataTable))); if (dtjson == null || dtjson.Rows.Count == 0) { errorMsg = "Unable to save. No list of changes was provided."; } else { int id = 0; int workItemID = 0, workItemStatusID = 0, workItemProgress = 0, workItemAssignedID = 0, workItemPrimaryID = 0, workItemTesterID = 0; int testItemID = 0, testItemStatusID = 0, testItemProgress = 0, testItemAssignedID = 0, testItemPrimaryID = 0, testItemTesterID = 0; bool saved = false, duplicate = false; WorkloadItem item = null, testItem = null; //save foreach (DataRow dr in dtjson.Rows) { saved = duplicate = false; id = workItemID = testItemID = 0; workItemStatusID = workItemProgress = workItemAssignedID = workItemPrimaryID = workItemTesterID = 0; testItemStatusID = testItemProgress = testItemAssignedID = testItemPrimaryID = testItemTesterID = 0; tempMsg = string.Empty; int.TryParse(dr["WorkItem_TestItemID"].ToString(), out id); int.TryParse(dr["WorkItem_Number"].ToString(), out workItemID); int.TryParse(dr["WorkItem_STATUS"].ToString(), out workItemStatusID); int.TryParse(dr["WorkItem_Progress"].ToString(), out workItemProgress); // SCB - Added "ID" to the end of these two - didn't match up with the datatable. int.TryParse(dr["WorkItem_AssignedToID"].ToString(), out workItemAssignedID); int.TryParse(dr["WorkItem_Primary_ResourceID"].ToString(), out workItemPrimaryID); int.TryParse(dr["WorkItem_TesterID"].ToString(), out workItemTesterID); int.TryParse(dr["TestItem_Number"].ToString(), out testItemID); int.TryParse(dr["TestItem_STATUS"].ToString(), out testItemStatusID); int.TryParse(dr["TestItem_Progress"].ToString(), out testItemProgress); int.TryParse(dr["TestItem_AssignedTo"].ToString(), out testItemAssignedID); int.TryParse(dr["TestItem_Primary_Resource"].ToString(), out testItemPrimaryID); int.TryParse(dr["TestItem_Tester"].ToString(), out testItemTesterID); if (workItemID == 0 || testItemID == 0) { saved = false; failedQty += 1; tempMsg = "You must specify both a Work Item and a Test Item."; } else { if (id == 0) { if (!Workload.ItemExists(workItemID, -1, "Primary Task")) { saved = false; tempMsg = string.Format("Unable to find Primary Task with ID = [{0}]", workItemID.ToString()); } else if (!Workload.ItemExists(testItemID, -1, "Primary Task")) { saved = false; tempMsg = string.Format("Unable to find Test Task with ID = [{0}]", testItemID.ToString()); } else { saved = WorkloadItem.WorkItem_TestItem_Add(workItemID: workItemID, testItemID: testItemID, archive: false, duplicate: out duplicate, newID: out id, errorMsg: out tempMsg); } } else { item = WorkloadItem.WorkItem_GetObject(workItemID); testItem = WorkloadItem.WorkItem_GetObject(testItemID); if (itemChanged(ref item, workItemStatusID, workItemProgress, workItemAssignedID, workItemPrimaryID, workItemTesterID)) { savedInt = WorkloadItem.WorkItem_Update(item, out tempMsg); } if (itemChanged(ref testItem, testItemStatusID, testItemProgress, testItemAssignedID, testItemPrimaryID, testItemTesterID)) { savedInt = WorkloadItem.WorkItem_Update(testItem, out tempMsg); } if (savedInt == 0) { saved = false; } else { saved = true; } } if (saved) { savedQty += 1; ids += string.Format("{0}{1}", ids.Length > 0 ? "," : "", id.ToString()); } else { failedQty += 1; errorMsg = string.Format("{0}{1}{2}", errorMsg, errorMsg.Length > 0 ? Environment.NewLine : "", tempMsg); } } } } } catch (Exception ex) { LogUtility.LogException(ex); errorMsg = errorMsg.Length > 0 ? ", " + Environment.NewLine + ex.Message : ex.Message; } result["savedIds"] = ids; result["failedIds"] = failedIds; result["saved"] = savedQty.ToString(); result["failed"] = failedQty.ToString(); result["error"] = errorMsg; return(JsonConvert.SerializeObject(result, Formatting.None)); }
private void loadTask() { WorkItem_Task task = new WorkItem_Task(taskID: this.WorkItem_TaskID); if (task == null || !task.Load()) { return; } txtWorkloadNumber.Text = string.Format("{0} - {1}", task.WorkItemID.ToString(), task.Task_Number.ToString()); WTSUtility.SelectDdlItem(ddlPriority, task.PriorityID.ToString(), task.Priority.ToString()); txtParentTitle.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(task.ParentTitle.Replace(" ", "").Trim())); txtTitle.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(task.Title.Replace(" ", "").Trim())); ListItem li = null; li = ddlAssignedTo.Items.FindByValue(task.AssignedResourceID.ToString()); if (li == null) { li = new ListItem(task.AssignedResource.ToString(), task.AssignedResourceID.ToString()); int uID = 0; int.TryParse(task.AssignedResourceID.ToString(), out uID); WTS_User u = new WTS_User(uID); u.Load(); if (u.AORResourceTeam) { li.Attributes.Add("og", "Action Team"); DataTable dt = AOR.AORResourceTeamList_Get(AORID: 0, AORReleaseID: 0); dt.DefaultView.RowFilter = "ResourceTeamUserID = " + uID; dt = dt.DefaultView.ToTable(); if (dt.Rows.Count > 0) { li.Attributes.Add("aorid", dt.Rows[0]["AORID"].ToString()); } ddlAssignedTo.Items.Insert(1, li); } else { ddlAssignedTo.Items.Insert(0, li); } } li.Selected = true; WTSUtility.SelectDdlItem(ddlPrimaryResource, task.PrimaryResourceID.ToString(), task.PrimaryResource.ToString()); WTSUtility.SelectDdlItem(ddlSecondaryResource, task.SecondaryResourceID.ToString(), task.SecondaryResource.ToString()); WTSUtility.SelectDdlItem(ddlPrimaryBusResource, task.PrimaryBusResourceID.ToString(), task.PrimaryBusResource.ToString()); WTSUtility.SelectDdlItem(ddlSecondaryBusResource, task.SecondaryBusResourceID.ToString(), task.SecondaryBusResource.ToString()); txtStartDate_Planned.Text = task.EstimatedStartDate; txtStartDate_Actual.Text = task.ActualStartDate; txtEndDate_Actual.Text = task.ActualEndDate; WTSUtility.SelectDdlItem(ddlHours_Planned, task.EstimatedEffortID.ToString(), task.PlannedHours.ToString()); WTSUtility.SelectDdlItem(ddlHours_Actual, task.ActualEffortID.ToString(), task.ActualHours.ToString()); WTSUtility.SelectDdlItem(ddlPercentComplete, task.CompletionPercent.ToString(), task.CompletionPercent.ToString()); WTSUtility.SelectDdlItem(ddlStatus, task.StatusID.ToString(), task.Status); filterStatuses(false); txtBusinessRank.Text = task.BusinessRank.ToString(); txtSortOrder.Text = task.Sort_Order.ToString(); textAreaDescription.InnerHtml = task.Description; txtSRNumber.Text = task.SRNumber.ToString(); WTSUtility.SelectDdlItem(ddlAssignedToRank, task.AssignedToRankID.ToString(), ""); WTSUtility.SelectDdlItem(ddlProductVersion, task.ProductVersionID.ToString(), task.ProductVersion.ToString()); WTSUtility.SelectDdlItem(ddlWorkItemType, task.WorkItemTypeID.ToString(), task.WorkItemType.ToString()); this.ProductVersionID = task.ProductVersionID; this.lblProductVersion.Text = task.ProductVersion; this.SystemID = task.SystemID; this.UnclosedSRTasks = task.UnclosedSRTasks; txtDateNeeded.Text = task.NeedDate; chkBusinessReview.Checked = task.BusinessReview; if (!IsNew) { this.labelCreated.Text = task.CreatedBy + " - " + task.CreatedDate; this.labelUpdated.Text = task.UpdatedBy + " - " + task.UpdatedDate; } DataTable parentTaskData = WorkloadItem.WorkItem_Get(workItemID: WorkItemID); txtResourceGroup.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkType"].ToString().Replace(" ", "").Trim())); txtResourceGroup.Attributes.Add("ResourceGroupID", HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkTypeID"].ToString()))); txtFunctionality.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkloadGroup"].ToString().Replace(" ", "").Trim())); txtProductionStatus.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["ProductionStatus"].ToString().Replace(" ", "").Trim())); txtSystemTask.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WTS_SYSTEM"].ToString().Replace(" ", "").Trim())); txtContract.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["CONTRACT"].ToString().Replace(" ", "").Trim())); txtWorkloadAllocation.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkloadAllocation"].ToString().Replace(" ", "").Trim())); int workAreaID = 0, systemID = 0; int.TryParse(parentTaskData.Rows[0]["WorkAreaID"].ToString(), out workAreaID); int.TryParse(parentTaskData.Rows[0]["WTS_SYSTEMID"].ToString(), out systemID); txtSystemTask.Attributes["WTS_SYSTEMID"] = systemID.ToString(); txtWorkArea.Attributes["WorkAreaID"] = workAreaID.ToString(); this.labelTotalDaysOpened.Text = task.TotalDaysOpened.ToString(); this.labelTotalBusinessDaysOpened.Text = task.TotalBusinessDaysOpened.ToString(); this.labelInProgressDate.Text = (String.IsNullOrEmpty(task.InProgressDate.ToString())) ? null : task.InProgressDate.Value.ToShortDateString(); this.labelInProgressTime.Text = (String.IsNullOrEmpty(task.InProgressDate.ToString())) ? null : task.InProgressDate.Value.ToShortTimeString(); this.labelDeployedDate.Text = (String.IsNullOrEmpty(task.DeployedDate.ToString())) ? null : task.DeployedDate.Value.ToShortDateString(); this.labelDeployedTime.Text = (String.IsNullOrEmpty(task.DeployedDate.ToString())) ? null : task.DeployedDate.Value.ToShortTimeString(); this.labelReadyForReviewDate.Text = (String.IsNullOrEmpty(task.ReadyForReviewDate.ToString())) ? null : task.ReadyForReviewDate.Value.ToShortDateString(); this.labelReadyForReviewTime.Text = (String.IsNullOrEmpty(task.ReadyForReviewDate.ToString())) ? null : task.ReadyForReviewDate.Value.ToShortTimeString(); this.labelClosedDate.Text = (String.IsNullOrEmpty(task.ClosedDate.ToString())) ? null : task.ClosedDate.Value.ToShortDateString(); this.labelClosedTime.Text = (String.IsNullOrEmpty(task.ClosedDate.ToString())) ? null : task.ClosedDate.Value.ToShortTimeString(); this.labelTotalDaysInProgress.Text = task.TotalDaysInProgress.ToString(); this.labelTotalDaysDeployed.Text = task.TotalDaysDeployed.ToString(); this.labelTotalDaysReadyForReview.Text = task.TotalDaysReadyForReview.ToString(); this.labelTotalDaysClosed.Text = task.TotalDaysClosed.ToString(); DataTable dtWorkArea = MasterData.WorkArea_SystemList_Get(workAreaID: workAreaID); string workAreaText = string.Empty; if (dtWorkArea != null && dtWorkArea.Rows.Count > 1) { workAreaText = dtWorkArea.Rows[dtWorkArea.Rows.Count - 1]["ApprovedPriority"].ToString() + " - " + dtWorkArea.Rows[dtWorkArea.Rows.Count - 1]["WorkArea"].ToString(); } txtWorkArea.Text = HttpUtility.HtmlDecode(workAreaText.Replace(" ", "").Trim()); DataTable dtAORs = AOR.AORTaskAORList_Get(TaskID: WorkItemID); if (dtAORs != null && dtAORs.Rows.Count > 0) { foreach (DataRow dr in dtAORs.Rows) { if (dr["AORWorkTypeID"].ToString() == "1") { txtWorkloadAOR.Text = dr["AORID"].ToString() + " (" + dr["Abbreviation"].ToString() + ") - " + dr["AORName"].ToString(); txtWorkloadAOR.ToolTip = txtWorkloadAOR.Text; } if (dr["AORWorkTypeID"].ToString() == "2") { txtReleaseAOR.Text = dr["AORID"].ToString() + " (" + dr["Abbreviation"].ToString() + ") - " + dr["AORName"].ToString(); txtReleaseAOR.ToolTip = txtReleaseAOR.Text; ParentRelAORReleaseID = dr["AORReleaseID"].ToString(); } } } }
public static string SaveChanges(string fieldName, string fromValue, string toValue, bool includeArchive, bool myData) { Dictionary <string, string> result = new Dictionary <string, string>() { { "saved", "false" } , { "Count", "0" } , { "error", "" } }; bool saved = false, proceed = true; int count = 0; string errorMsg = string.Empty; try { if (fieldName.Length == 0) { errorMsg = "No field to update was specified."; proceed = false; saved = false; count = 0; } if (toValue.Length == 0) { errorMsg = "No new value was specified."; proceed = false; saved = false; count = 0; } if (proceed) { if (fromValue.Length == 0) { //this is okay, but make sure procedure works with empty old value string msg = ""; } //save the data count = WorkloadItem.WorkItem_MassChange(fieldName: fieldName , fromValue: fromValue , toValue: toValue , includeArchive: includeArchive , myData: myData , errorMsg: out errorMsg); if (count > 0) { saved = true; } } } catch (Exception ex) { LogUtility.LogException(ex); saved = false; count = 0; errorMsg = ex.Message; } result["saved"] = saved.ToString(); result["Count"] = count.ToString(); result["error"] = errorMsg; return(JsonConvert.SerializeObject(result, Formatting.None)); }
protected void btnSubmit_Click(Object sender, EventArgs e) { bool exists = false; int newAttachmentID = 0; int newModuleAttachmentID = 0; bool saved = false; string errorMsg = string.Empty; var dtfilesAttr = JsonConvert.DeserializeObject <DataTable>(inpHide.Value); if (this.Edit || (this.fileUpload1.HasFile)) { if (!this.Edit) //adding an attachment, not editing one { int i = 0; foreach (HttpPostedFile uploadedFile in fileUpload1.PostedFiles) { string fileName = ""; string fileExtension = ""; string strFileTypeID = ""; string strDescription = ""; int intAttachType = 0; Stream fStream = uploadedFile.InputStream; int fileLength = uploadedFile.ContentLength; byte[] fByte = new byte[fileLength]; string fileType = uploadedFile.ContentType; string[] splitFileName = fileName.Split('\\'); fileName = splitFileName[splitFileName.Length - 1]; fStream.Read(fByte, 0, fByte.Length); fStream.Close(); if (fileUpload1.PostedFiles.Count > 1) { fileName = dtfilesAttr.Rows[i]["name"].ToString(); strFileTypeID = dtfilesAttr.Rows[i]["type"].ToString(); int.TryParse(strFileTypeID, out intAttachType); strDescription = dtfilesAttr.Rows[i]["description"].ToString(); } else { fileName = uploadedFile.FileName; strFileTypeID = ddlAttachmentType.SelectedValue; int.TryParse(ddlAttachmentType.SelectedValue, out intAttachType); strDescription = txtDescription.Text; } splitFileName = fileName.Split('\\'); fileName = splitFileName[splitFileName.Length - 1]; splitFileName = fileName.Split('.'); fileExtension = splitFileName[splitFileName.Length - 1]; switch (Module.ToUpper()) { case "TASK": saved = WorkItem_Task.Attachment_Add(WorkItemTaskID: this.workItemTaskID , attachmentTypeID: intAttachType , fileName: fileName , title: strDescription , description: strDescription , fileData: fByte , extensionID: 0 , newAttachmentID: out newAttachmentID , newWorkItemAttachmentID: out newModuleAttachmentID , errorMsg: out errorMsg); break; case "WORKITEM": saved = WorkloadItem.Attachment_Add(workItemID: this.WorkItemID , attachmentTypeID: intAttachType , fileName: fileName , title: strDescription , description: strDescription , fileData: fByte , extensionID: 0 , newAttachmentID: out newAttachmentID , newWorkItemAttachmentID: out newModuleAttachmentID , errorMsg: out errorMsg); break; case "WORKREQUEST": saved = WorkRequest.Attachment_Add(workRequestID: this.WorkRequestID , attachmentTypeID: intAttachType , fileName: fileName , title: strDescription , description: strDescription , fileData: fByte , extensionID: 0 , newAttachmentID: out newAttachmentID , newWorkItemAttachmentID: out newModuleAttachmentID , errorMsg: out errorMsg); break; case "MEETING": saved = AOR.AORMeetingInstanceAttachment_Save(0, AORMeetingInstanceID, 0, intAttachType, fileName, strDescription, strDescription, fByte, out newAttachmentID); break; case "RQMTDESC": saved = RQMT.RQMTDescriptionAttachment_Save(0, RQMTDescriptionID, 0, intAttachType, fileName, strDescription, fByte, out newAttachmentID); break; case "MDIMAGE": Dictionary <string, string> result = new Dictionary <string, string> { { "saved", "false" }, { "exists", "false" }, { "newID", "0" }, { "error", "" } }; string[] allowedExtensions = new string[] { ".jpg", ".jpeg", ".png", ".gif" }; string extension = Path.GetExtension(fileName).ToLower(); if (!allowedExtensions.Contains(extension)) { continue; } result = MasterData.Image_Add(ImageName: strDescription, Description: strDescription, FileName: fileName, FileData: fByte); saved = result["saved"].ToUpper() == "TRUE"; errorMsg = result["error"]; break; case "NEWS": saved = WTSNews.NewsAttachment_Add(newsID: this.NewsID , attachmentTypeID: (int)AttachmentTypeEnum.News , fileName: fileName , title: strDescription , description: strDescription , fileData: fByte , extensionID: 0 , newAttachmentID: out newAttachmentID //, newWorkItemAttachmentID: out newModuleAttachmentID , errorMsg: out errorMsg); break; default: saved = WTSData.Attachment_Add(attachmentTypeID: intAttachType , fileName: fileName , title: strDescription , description: strDescription , fileData: fByte , extensionID: 0 , newID: out newAttachmentID , errorMsg: out errorMsg); break; } i += 1; } } else { string fileName = ""; fileName = fileUpload1.FileName; //Stream fStream = fileUpload1.PostedFile.InputStream; //int fileLength = fileUpload1.PostedFile.ContentLength; //byte[] fByte = new byte[fileLength]; string fileType = string.Empty; if (fileUpload1.PostedFile != null) { fileName = fileUpload1.PostedFile.FileName; fileType = fileUpload1.PostedFile.ContentType; } string[] splitFileName = fileName.Split('\\'); fileName = splitFileName[splitFileName.Length - 1]; splitFileName = fileName.Split('.'); string fileExtension = splitFileName[splitFileName.Length - 1]; //fStream.Read(fByte, 0, fByte.Length); //fStream.Close(); if (fileName == "") { fileName = this.OriginalFileName; } string attachmentType = ddlAttachmentType.SelectedValue; if (Module == "News") { attachmentType = ((int)AttachmentTypeEnum.News).ToString(); } saved = WTSData.Attachment_Update(attachmentID: this.AttachmentID , attachmentTypeID: int.Parse(attachmentType) , fileName: fileName , title: txtDescription.Text , description: txtDescription.Text //, fileData: fByte , exists: out exists , errorMsg: out errorMsg); } if (!saved || errorMsg.Length > 0) { lblError.Text = errorMsg; } else { if (!exists) { HasUploaded = 1; } else { AlreadyExists = 1; } if (Module.ToUpper() == "WORKITEM") { Workload.SendWorkloadEmail("WorkItem", false, this.WorkItemID); } } } }
private static WorkloadItem parseDataRow(WorkloadItem wi, DataTable dt, DataRow dr) { int tempId = 0; //HttpServerUtility server = HttpContext.Current.Server; try { if (dt.Columns.Contains("WORKREQUEST")) { wi.WorkRequestID = int.TryParse(dr["WORKREQUEST"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("WORKITEMTYPE")) { wi.WorkItemTypeID = int.TryParse(dr["WORKITEMTYPE"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("Websystem")) { wi.WTS_SystemID = int.TryParse(dr["Websystem"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("ALLOCATION")) { wi.AllocationID = int.TryParse(dr["ALLOCATION"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("Version")) { wi.ProductVersionID = int.TryParse(dr["Version"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("Production")) { wi.Production = int.TryParse(dr["Production"].ToString(), out tempId) ? (tempId == 1) : false; } if (dt.Columns.Contains("PRIORITY")) { wi.PriorityID = int.TryParse(dr["PRIORITY"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("Primary_Developer")) { wi.PrimaryResourceID = int.TryParse(dr["Primary_Developer"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("Assigned")) { wi.AssignedResourceID = int.TryParse(dr["Assigned"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("WorkType")) { wi.WorkTypeID = int.TryParse(dr["WorkType"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("STATUS")) { wi.StatusID = int.TryParse(dr["STATUS"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("Progress")) { wi.CompletionPercent = int.TryParse(dr["Progress"].ToString(), out tempId) ? tempId : 0; } if (dt.Columns.Contains("ARCHIVE")) { wi.Archive = int.TryParse(dr["ARCHIVE"].ToString(), out tempId) ? (tempId == 1) : false; } if (dt.Columns.Contains("ProductionStatus")) { wi.ProductionStatusID = int.TryParse(dr["ProductionStatus"].ToString(), out tempId) ? tempId : 0; } } catch (Exception ex) { LogUtility.LogException(ex); return(null); } return(wi); }
public static string SaveChanges(string rows) { Dictionary <string, string> result = new Dictionary <string, string>() { { "saved", "0" } , { "failed", "0" } , { "savedIds", "" } , { "failedIds", "" } , { "error", "" } }; bool saved = false; int savedQty = 0, failedQty = 0; string ids = string.Empty, failedIds = string.Empty, errorMsg = string.Empty, tempMsg = string.Empty; try { DataTable dtjson = (DataTable)JsonConvert.DeserializeObject(rows, (typeof(DataTable))); if (dtjson == null || dtjson.Rows.Count == 0) { errorMsg = "Unable to save. No list of changes was provided."; } else { int id = 0; //save foreach (DataRow dr in dtjson.Rows) { id = 0; tempMsg = string.Empty; int.TryParse(dr["ITEMID"].ToString(), out id); WorkloadItem wi = WorkloadItem.WorkItem_GetObject(id); //update object with new values wi = parseDataRow(wi, dtjson.Clone(), dr); saved = WorkloadItem.WorkItem_QM_Update(wi, out tempMsg); if (saved) { ids += string.Format("{0}{1}", ids.Length > 0 ? "," : "", id.ToString()); savedQty += 1; Workload.SendWorkloadEmail("WorkItem", false, id); } else { failedQty += 1; } if (tempMsg.Length > 0) { errorMsg = string.Format("{0}{1}{2}", errorMsg, errorMsg.Length > 0 ? Environment.NewLine : "", tempMsg); } } } } catch (Exception ex) { LogUtility.LogException(ex); saved = false; errorMsg = ex.Message; } result["savedIds"] = ids; result["failedIds"] = failedIds; result["saved"] = savedQty.ToString(); result["failed"] = failedQty.ToString(); result["error"] = errorMsg; return(JsonConvert.SerializeObject(result, Formatting.None)); }
public static string LoadEntityFields(string entityType) { DataTable dtNew = new DataTable(); DataColumnCollection DCC; Dictionary <string, GridColsColumn> _gridColumns = new Dictionary <string, GridColsColumn>(); GridCols _columnData = new GridCols(); DataTable dt = new DataTable(); int AOR_ID = 0; bool isVisible = false; string dbName = string.Empty, displayName = string.Empty, idField = string.Empty; var ordered = _gridColumns.Keys.OrderBy(k => _gridColumns[k].DisplayName).ToList(); try { switch (entityType.ToUpper()) { case "AOR": dt = AOR.AORList_Get(AORID: AOR_ID); _gridColumns = new Dictionary <string, GridColsColumn>(); GridColsColumn column = new GridColsColumn(); dbName = string.Empty; displayName = string.Empty; idField = string.Empty; isVisible = false; foreach (DataColumn gridColumn in dt.Columns) { column = new GridColsColumn(); displayName = gridColumn.ColumnName; idField = gridColumn.ColumnName; isVisible = false; switch (gridColumn.ColumnName) { //case "Current Release": // displayName = "Current Release"; // idField = "ProductVersion_ID"; // isVisible = true; // break; case "Workload Allocation": displayName = "Workload Allocation"; idField = "WorkloadAllocation_ID"; isVisible = true; break; } if (isVisible) { column.ColumnName = gridColumn.ColumnName; column.DisplayName = displayName; column.Visible = isVisible; column.SortName = idField; _gridColumns.Add(column.DisplayName, column); } } //Initialize the columnData _columnData.Initialize(ref dt, ";", "~", "|"); dtNew.Columns.Add("valueField"); dtNew.Columns.Add("textField"); dtNew.Columns.Add("id_field"); ordered = _gridColumns.Keys.OrderBy(k => _gridColumns[k].DisplayName).ToList(); foreach (string key in ordered) { GridColsColumn col = _gridColumns[key]; if (col.Visible) { DataRow dr = dtNew.NewRow(); dr[0] = col.ColumnName; dr[1] = col.DisplayName; dr[2] = col.SortName; dtNew.Rows.Add(dr); } } break; case "CR": dt = AOR.AORCRList_Get(AORID: AOR_ID, AORReleaseID: 0, CRID: 0); _gridColumns = new Dictionary <string, GridColsColumn>(); column = new GridColsColumn(); dbName = string.Empty; displayName = string.Empty; idField = string.Empty; isVisible = false; foreach (DataColumn gridColumn in dt.Columns) { column = new GridColsColumn(); displayName = gridColumn.ColumnName; idField = gridColumn.ColumnName; isVisible = false; switch (gridColumn.ColumnName) { case "Contract": displayName = "Contract"; idField = "Contract_ID"; isVisible = true; break; case "Websystem": displayName = "Websystem"; idField = "Websystem_ID"; isVisible = false; break; case "Related Release": displayName = "Related Release"; idField = "RelatedRelease_ID"; isVisible = false; break; case "Status": displayName = "CR Coordination"; idField = "Status_ID"; isVisible = true; break; case "CyberISMT": displayName = "Cyber/ISMT"; idField = "CyberISMT_ID"; isVisible = false; break; } if (isVisible) { column.ColumnName = gridColumn.ColumnName; column.DisplayName = displayName; column.Visible = isVisible; column.SortName = idField; _gridColumns.Add(column.DisplayName, column); } } //Initialize the columnData _columnData.Initialize(ref dt, ";", "~", "|"); dtNew.Columns.Add("valueField"); dtNew.Columns.Add("textField"); dtNew.Columns.Add("id_field"); ordered = _gridColumns.Keys.OrderBy(k => _gridColumns[k].DisplayName).ToList(); foreach (string key in ordered) { GridColsColumn col = _gridColumns[key]; if (col.Visible) { DataRow dr = dtNew.NewRow(); dr[0] = col.ColumnName; dr[1] = col.DisplayName; dr[2] = col.SortName; dtNew.Rows.Add(dr); } } break; case "PRIMARYTASK": dt = AOR.AORTaskList_Get(AORID: AOR_ID, AORReleaseID: 0); // dt = WorkloadItem.WorkItemList_Get(workRequestID: 0 //, showArchived: 0 //, columnListOnly: 0 //, myData: false); _gridColumns = new Dictionary <string, GridColsColumn>(); column = new GridColsColumn(); dbName = string.Empty; displayName = string.Empty; idField = string.Empty; isVisible = false; foreach (DataColumn gridColumn in dt.Columns) { column = new GridColsColumn(); displayName = gridColumn.ColumnName; idField = gridColumn.ColumnName; isVisible = false; switch (gridColumn.ColumnName) { case "System(Task)": displayName = "System(Task)"; idField = "WTS_SYSTEM_ID"; isVisible = true; break; case "Production Status": displayName = "Production Status"; idField = "ProductionStatus_ID"; isVisible = true; break; //case "Product Version": // displayName = "Product Version"; // idField = "ProductVersion_ID"; // isVisible = true; // break; case "Priority": displayName = "Priority"; idField = "PRIORITY_ID"; isVisible = true; break; case "Primary Resource": displayName = "Primary Resource"; idField = "PrimaryTechResource_ID"; isVisible = true; break; case "Assigned To": displayName = "Assigned To"; idField = "AssignedTo_ID"; isVisible = true; break; case "Status": displayName = "Status"; idField = "STATUS_ID"; isVisible = true; break; case "Percent Complete": displayName = "Percent Complete"; idField = "PercentComplete_ID"; isVisible = false; break; } if (isVisible) { column.ColumnName = gridColumn.ColumnName; column.DisplayName = displayName; column.Visible = isVisible; column.SortName = idField; _gridColumns.Add(column.DisplayName, column); } } //Initialize the columnData _columnData.Initialize(ref dt, ";", "~", "|"); dtNew.Columns.Add("valueField"); dtNew.Columns.Add("textField"); dtNew.Columns.Add("id_field"); ordered = _gridColumns.Keys.OrderBy(k => _gridColumns[k].DisplayName).ToList(); foreach (string key in ordered) { GridColsColumn col = _gridColumns[key]; if (col.Visible) { DataRow dr = dtNew.NewRow(); dr[0] = col.DisplayName; dr[1] = col.ColumnName; dr[2] = col.SortName; dtNew.Rows.Add(dr); } } break; case "SUBTASK": //dt = AOR.AORTaskList_Get(AORID: AOR_ID, AORReleaseID: 0); dt = WorkloadItem.WorkItem_GetTaskList(workItemID: 0, showArchived: 0, showBacklog: false); _gridColumns = new Dictionary <string, GridColsColumn>(); column = new GridColsColumn(); dbName = string.Empty; displayName = string.Empty; idField = string.Empty; isVisible = false; foreach (DataColumn gridColumn in dt.Columns) { column = new GridColsColumn(); displayName = gridColumn.ColumnName; idField = gridColumn.ColumnName; isVisible = false; switch (gridColumn.ColumnName) { case "AssignedResource": displayName = "Assigned To"; idField = "ASSIGNEDRESOURCEID"; isVisible = true; break; case "Production Status": displayName = "Production Status"; idField = "ProductionStatus_ID"; isVisible = true; break; //case "Product Version": // displayName = "Product Version"; // idField = "ProductVersion_ID"; // isVisible = true; // break; case "Priority": displayName = "Priority"; idField = "PRIORITY_ID"; isVisible = true; break; case "Primary Resource": displayName = "Primary Resource"; idField = "PrimaryTechResource_ID"; isVisible = true; break; case "Assigned To": displayName = "Assigned To"; idField = "AssignedTo_ID"; isVisible = true; break; case "Status": displayName = "Status"; idField = "STATUS_ID"; isVisible = true; break; case "Percent Complete": displayName = "Percent Complete"; idField = "PercentComplete_ID"; isVisible = false; break; } if (isVisible) { column.ColumnName = gridColumn.ColumnName; column.DisplayName = displayName; column.Visible = isVisible; column.SortName = idField; _gridColumns.Add(column.DisplayName, column); } } //Initialize the columnData _columnData.Initialize(ref dt, ";", "~", "|"); dtNew.Columns.Add("valueField"); dtNew.Columns.Add("textField"); dtNew.Columns.Add("id_field"); ordered = _gridColumns.Keys.OrderBy(k => _gridColumns[k].DisplayName).ToList(); foreach (string key in ordered) { GridColsColumn col = _gridColumns[key]; if (col.Visible) { DataRow dr = dtNew.NewRow(); dr[0] = col.ColumnName; dr[1] = col.DisplayName; dr[2] = col.SortName; dtNew.Rows.Add(dr); } } break; } } catch (Exception ex) { LogUtility.LogException(ex); } return(JsonConvert.SerializeObject(dtNew, Newtonsoft.Json.Formatting.None)); }
private void initAttributeOptions() { try { DataSet dsOptions = WorkloadItem.GetAvailableOptions(); if (dsOptions != null && dsOptions.Tables.Count > 0) { if (dsOptions.Tables.Contains("WorkRequest")) { Page.ClientScript.RegisterArrayDeclaration("_WorkRequestList", JsonConvert.SerializeObject(dsOptions.Tables["WorkRequest"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("System")) { Page.ClientScript.RegisterArrayDeclaration("_SystemList", JsonConvert.SerializeObject(dsOptions.Tables["System"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("Allocation")) { Page.ClientScript.RegisterArrayDeclaration("_AllocationList", JsonConvert.SerializeObject(dsOptions.Tables["Allocation"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("ProductVersion")) { Page.ClientScript.RegisterArrayDeclaration("_ProductVersionList", JsonConvert.SerializeObject(dsOptions.Tables["ProductVersion"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("Priority")) { Page.ClientScript.RegisterArrayDeclaration("_PriorityList", JsonConvert.SerializeObject(dsOptions.Tables["Priority"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("WorkItemType")) { Page.ClientScript.RegisterArrayDeclaration("_WorkItemTypeList", JsonConvert.SerializeObject(dsOptions.Tables["WorkItemType"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("User")) { Page.ClientScript.RegisterArrayDeclaration("_UserList", JsonConvert.SerializeObject(dsOptions.Tables["User"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("WorkType")) { Page.ClientScript.RegisterArrayDeclaration("_WorkTypeList", JsonConvert.SerializeObject(dsOptions.Tables["WorkType"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("Status")) { Page.ClientScript.RegisterArrayDeclaration("_StatusList", JsonConvert.SerializeObject(dsOptions.Tables["Status"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("PercentComplete")) { Page.ClientScript.RegisterArrayDeclaration("_PercentList", JsonConvert.SerializeObject(dsOptions.Tables["PercentComplete"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("PriorityRank")) { Page.ClientScript.RegisterArrayDeclaration("_PriorityRankList", JsonConvert.SerializeObject(dsOptions.Tables["PriorityRank"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("MenuType")) { Page.ClientScript.RegisterArrayDeclaration("_MenuTypeList", JsonConvert.SerializeObject(dsOptions.Tables["MenuType"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("Menu")) { Page.ClientScript.RegisterArrayDeclaration("_MenuList", JsonConvert.SerializeObject(dsOptions.Tables["Menu"], Newtonsoft.Json.Formatting.None)); } if (dsOptions.Tables.Contains("ProductionStatus")) { Page.ClientScript.RegisterArrayDeclaration("_ProductionStatusList", JsonConvert.SerializeObject(dsOptions.Tables["ProductionStatus"], Newtonsoft.Json.Formatting.None)); } } } catch (Exception ex) { LogUtility.LogException(ex); } }
public static string LoadFilteredEntity(string entityType, string idField, string columnName, string textField, string existingValueFilter, string filterField, string filterFieldIDs) { DataTable dtNew = new DataTable(); DataTable dt = new DataTable(); int AOR_ID = 0; try { switch (entityType.ToUpper()) { case "AOR": dt = AOR.AORList_Get(AORID: AOR_ID); if (filterFieldIDs.Length > 0) { dt.DefaultView.RowFilter = filterField + " IN (" + filterFieldIDs + ")"; dt = dt.DefaultView.ToTable(); } dt.DefaultView.RowFilter = idField + " IN (" + existingValueFilter + ")"; dtNew = dt.DefaultView.ToTable(distinct: true, columnNames: new string[] { "AOR #", "AOR Name" }); dtNew.Columns["AOR #"].ColumnName = "valueField"; dtNew.Columns["AOR Name"].ColumnName = "textField"; break; case "CR": dt = AOR.AORCRList_Get(AORID: AOR_ID, AORReleaseID: 0, CRID: 0); if (filterFieldIDs.Length > 0) { dt.DefaultView.RowFilter = filterField + " IN (" + filterFieldIDs + ")"; dt = dt.DefaultView.ToTable(); } dt.DefaultView.RowFilter = idField + " IN (" + existingValueFilter + ")"; dtNew = dt.DefaultView.ToTable(distinct: true, columnNames: new string[] { "CR_ID", "CR Customer Title" }); dtNew.Columns["CR_ID"].ColumnName = "valueField"; dtNew.Columns["CR Customer Title"].ColumnName = "textField"; break; case "PRIMARYTASK": dt = AOR.AORTaskList_Get(AORID: AOR_ID, AORReleaseID: 0); if (filterFieldIDs.Length > 0) { dt.DefaultView.RowFilter = filterField + " IN (" + filterFieldIDs + ")"; dt = dt.DefaultView.ToTable(); } dt.DefaultView.RowFilter = idField + " IN (" + existingValueFilter + ")"; dtNew = dt.DefaultView.ToTable(distinct: true, columnNames: new string[] { "Task #", "Title" }); dtNew.Columns["Task #"].ColumnName = "valueField"; dtNew.Columns["Title"].ColumnName = "textField"; break; case "SUBTASK": dt = WorkloadItem.WorkItem_GetTaskList(workItemID: 0, showArchived: 0, showBacklog: false); if (filterFieldIDs.Length > 0) { dt.DefaultView.RowFilter = filterField + " IN (" + filterFieldIDs + ")"; dt = dt.DefaultView.ToTable(); } dt.DefaultView.RowFilter = idField + " IN (" + existingValueFilter + ")"; dtNew = dt.DefaultView.ToTable(distinct: true, columnNames: new string[] { "WORKITEMID", "TASK_NUMBER", "WORKITEM_TASKID", "Title" }); dtNew.Columns["WORKITEMID"].ColumnName = "WORKITEMID"; dtNew.Columns["TASK_NUMBER"].ColumnName = "TASK_NUMBER"; dtNew.Columns["WORKITEM_TASKID"].ColumnName = "valueField"; dtNew.Columns["Title"].ColumnName = "textField"; break; } dtNew.DefaultView.Sort = "textField"; dtNew = dtNew.DefaultView.ToTable(); } catch (Exception ex) { LogUtility.LogException(ex); } return(JsonConvert.SerializeObject(dtNew, Newtonsoft.Json.Formatting.None)); }
void grdWorkload_GridRowDataBound(object sender, GridViewRowEventArgs e) { columnData.SetupGridBody(e.Row); GridViewRow row = e.Row; formatColumnDisplay(ref row); string itemId = row.Cells[DCC.IndexOf("ItemID")].Text.Trim(); string workTypeId = row.Cells[DCC.IndexOf("WorkTypeID")].Text.Trim(); row.Attributes.Add("ITEMID", itemId); row.Attributes.Add("WorkTypeID", workTypeId); string title = row.Cells[DCC["TITLE"].Ordinal].Text.Trim(); row.Cells[DCC["ItemID"].Ordinal].Controls.Add(createEditLink_WorkItem(itemId, Server.HtmlDecode(title))); row.Cells[DCC["ItemID"].Ordinal].ToolTip = Server.HtmlDecode(title); row.Cells[DCC["TITLE"].Ordinal].ToolTip = Server.HtmlDecode(title); //add QM controls if (this.CanEditWorkItem) { row.Cells[DCC.IndexOf("WORKREQUEST")].Controls.Add(WTSUtility.CreateGridDropdownList("WORKREQUEST", itemId, row.Cells[DCC.IndexOf("WORKREQUEST")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("WORKREQUESTID")].Text.Replace(" ", " ").Trim(), 180)); row.Cells[DCC.IndexOf("WORKITEMTYPE")].Controls.Add(WTSUtility.CreateGridDropdownList("WORKITEMTYPE", itemId, row.Cells[DCC.IndexOf("WORKITEMTYPE")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("WORKITEMTYPEID")].Text.Replace(" ", " ").Trim(), 0)); row.Cells[DCC.IndexOf("Websystem")].Controls.Add(WTSUtility.CreateGridDropdownList("Websystem", itemId, Server.HtmlDecode(row.Cells[DCC.IndexOf("Websystem")].Text).Trim(), row.Cells[DCC.IndexOf("WTS_SYSTEMID")].Text.Replace(" ", " ").Trim(), 120)); row.Cells[DCC.IndexOf("ALLOCATION")].Controls.Add(WTSUtility.CreateGridDropdownList("ALLOCATION", itemId, row.Cells[DCC.IndexOf("ALLOCATION")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("ALLOCATIONID")].Text.Replace(" ", " ").Trim(), 195)); //row.Cells[DCC.IndexOf("Version")].Controls.Add(WTSUtility.CreateGridDropdownList("ProductVersion", itemId, row.Cells[DCC.IndexOf("Version")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("ProductVersionID")].Text.Replace(" ", " ").Trim(), 0)); row.Cells[DCC.IndexOf("PRIORITY")].Controls.Add(WTSUtility.CreateGridDropdownList("PRIORITY", itemId, row.Cells[DCC.IndexOf("PRIORITY")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("PRIORITYID")].Text.Replace(" ", " ").Trim(), 0)); row.Cells[DCC.IndexOf("Primary_Developer")].Controls.Add(WTSUtility.CreateGridDropdownList("Primary_Developer", itemId, row.Cells[DCC.IndexOf("Primary_Developer")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("PRIMARYRESOURCEID")].Text.Replace(" ", " ").Trim(), 0)); row.Cells[DCC.IndexOf("Assigned")].Controls.Add(WTSUtility.CreateGridDropdownList("Assigned", itemId, row.Cells[DCC.IndexOf("Assigned")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("ASSIGNEDRESOURCEID")].Text.Replace(" ", " ").Trim(), 0)); row.Cells[DCC.IndexOf("SubmittedBy")].Text = row.Cells[DCC.IndexOf("SubmittedBy")].Text.Trim(); // +"<br/>" + row.Cells[DCC.IndexOf("CREATEDDATE")].Text.Trim(); row.Cells[DCC.IndexOf("WorkType")].Controls.Add(WTSUtility.CreateGridDropdownList("WorkType", itemId, row.Cells[DCC.IndexOf("WorkType")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("WorkTypeID")].Text.Replace(" ", " ").Trim(), 0)); bool allow = true; string status = row.Cells[DCC.IndexOf("STATUS")].Text.Replace(" ", " ").Trim(); if (status.ToUpper() == "NEW" || status.ToUpper() == "ON HOLD" || status.ToUpper() == "IN PROGRESS") { int WorkItemID = 0; int.TryParse(itemId, out WorkItemID); if (WorkItemID > 0) { DataTable dt = WorkloadItem.WorkItem_GetTaskList(workItemID: WorkItemID); if (dt != null) { try { int Sub_Task_New_Count = (from r in dt.AsEnumerable() where r.Field <string>("STATUS").Trim().ToUpper() == "NEW" select r).Count(); if (status.ToUpper() == "NEW" && dt.Rows.Count == Sub_Task_New_Count) { allow = false; } int Sub_Task_OnHold_Count = (from r in dt.AsEnumerable() where r.Field <string>("STATUS").Trim().ToUpper() == "ON HOLD" select r).Count(); if (status.ToUpper() == "ON HOLD" && dt.Rows.Count == Sub_Task_OnHold_Count) { allow = false; } int Sub_Task_Closed_Count = (from r in dt.AsEnumerable() where r.Field <string>("STATUS").Trim().ToUpper() == "CLOSED" select r).Count(); if (status.ToUpper() == "IN PROGRESS" && dt.Rows.Count != Sub_Task_Closed_Count) { allow = false; } } catch (Exception) { } } } } row.Cells[DCC.IndexOf("STATUS")].Controls.Add(WTSUtility.CreateGridDropdownList("STATUS", itemId, status, row.Cells[DCC.IndexOf("STATUSID")].Text.Replace(" ", " ").Trim(), 0)); try { DropDownList ddlStatus = (DropDownList)row.Cells[DCC.IndexOf("STATUS")].Controls[0]; if (!allow) { ddlStatus.Enabled = false; } } catch (Exception) { } row.Cells[DCC.IndexOf("Progress")].Controls.Add(WTSUtility.CreateGridDropdownList("Progress", itemId, row.Cells[DCC.IndexOf("Progress")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("Progress")].Text.Replace(" ", " ").Trim(), 0)); bool check = false; if (row.Cells[DCC.IndexOf("Production")].HasControls() && row.Cells[DCC.IndexOf("Production")].Controls[0] is CheckBox) { check = ((CheckBox)row.Cells[DCC.IndexOf("Production")].Controls[0]).Checked; } else if (row.Cells[DCC.IndexOf("Production")].Text == "1") { check = true; } row.Cells[DCC.IndexOf("Production")].Controls.Clear(); row.Cells[DCC.IndexOf("Production")].Controls.Add(WTSUtility.CreateGridCheckBox("Production", itemId, check)); check = false; if (row.Cells[DCC.IndexOf("ARCHIVE")].HasControls() && row.Cells[DCC.IndexOf("ARCHIVE")].Controls[0] is CheckBox) { check = ((CheckBox)row.Cells[DCC.IndexOf("ARCHIVE")].Controls[0]).Checked; } else if (row.Cells[DCC.IndexOf("ARCHIVE")].Text == "1") { check = true; } row.Cells[DCC.IndexOf("ARCHIVE")].Controls.Clear(); row.Cells[DCC.IndexOf("ARCHIVE")].Controls.Add(WTSUtility.CreateGridCheckBox("ARCHIVE", itemId, check)); row.Cells[DCC.IndexOf("ProductionStatus")].Controls.Add(WTSUtility.CreateGridDropdownList("ProductionStatus", itemId, row.Cells[DCC.IndexOf("ProductionStatus")].Text.Replace(" ", " ").Trim(), row.Cells[DCC.IndexOf("ProductionStatusID")].Text.Replace(" ", " ").Trim(), 0)); } }