private void loadAttachments() { WorkItem_Task task = new WorkItem_Task(taskID: this.taskID); if (task == null || !task.Load()) { return; } txtWorkloadNumber.Text = string.Format("{0} - {1}", task.WorkItemID.ToString(), task.Task_Number.ToString()); txtTitle.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(task.Title.Replace(" ", "").Trim())); DataTable dt = WorkItem_Task.WorkItem_Task_GetAttachmentList(WorkItemTaskID: this.taskID); if (dt != null && dt.Rows.Count > 0) { Attachment_Count = dt.Rows.Count; } if (dt != null) { dc = dt.Columns; if (dt.Rows.Count > 0) { gridAttachments.DataSource = dt; gridAttachments.DataBind(); } } }
public static string ValidateSubTaskNumber(int subTaskNumber, int parentTaskID) { var result = WTSPage.CreateDefaultResult(); WorkItem_Task task = new WorkItem_Task(); bool loaded = task.LoadByNumber(parentTaskID, subTaskNumber); if (loaded) { result["WORKITEMID"] = task.WorkItemID.ToString(); result["WORKITEM_TASKID"] = task.WorkItem_TaskID.ToString(); result["TASK_NUMBER"] = subTaskNumber.ToString(); result["title"] = task.Title; result["exists"] = "true"; } else { result["exists"] = "false"; } result["success"] = "true"; return(JsonConvert.SerializeObject(result, Newtonsoft.Json.Formatting.None)); }
public static string DeleteAttachment(int WorkItemTaskID, 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 = WorkItem_Task.Attachment_Delete(WorkItemTaskID: WorkItemTaskID, 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)); }
public static int WorkItem_TaskID_Get(int itemID, int taskNumber) { try { return(WorkItem_Task.WorkItem_TaskID_Get(itemID, taskNumber)); } catch (Exception) { return(-1); } }
public static string DeleteComments(int taskID, 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; WorkItem_Task task = new WorkItem_Task(taskID); foreach (dynamic id in arrCommentIDsToDelete) { commentId = 0; try { if (int.TryParse(id.ToString(), out commentId)) { deleted = task.DeleteComment(errorMsg: out errorMsg, commentId: 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 loadComments() { 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()); txtTitle.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(task.Title.Replace(" ", "").Trim())); DataTable dt = task.GetComments(); if (dt != null && dt.Rows.Count > 0) { Comment_Count = dt.Rows.Count; } Page.ClientScript.RegisterArrayDeclaration("arrComments", JsonConvert.SerializeObject(dt, Newtonsoft.Json.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); } } } }
public static string SaveComments(int taskID, dynamic comments) { Dictionary <string, string> result = new Dictionary <string, string>() { { "saved", "0" } , { "failed", "0" } , { "savedIds", "" } , { "failedIds", "" } , { "error", "" } }; bool saved = false; int savedQty = 0, failedQty = 0; string errorMsg = string.Empty, tempMsg = string.Empty, ids = string.Empty, failedIds = string.Empty; int commentId = 0, parentCommentId = 0; string commentText = string.Empty; WorkItem_Task task = new WorkItem_Task(taskID); 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 = task.AddComment(newID: out commentId, errorMsg: out tempMsg, parentCommentID: 0, comment_text: commentText); } else { saved = task.UpdateComment(errorMsg: out tempMsg, commentId: commentId, comment_text: commentText); } if (saved) { ids += string.Format("{0}{1}", ids.Length > 0 ? "," : "", commentId.ToString()); savedQty += 1; } 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); 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 SaveTask(int taskID, int workItemID, int priorityID , string title, string description, int assignedToID, int primaryResourceID, int secondaryResourceID , int primaryBusResourceID, int secondaryBusResourceID , string plannedStartDate, string actualStartDate, int estimatedEffortID, int actualEffortID, string actualEndDate , int completionPercent, int statusID, int workItemTypeID, int businessRank, int sortOrder, string pageOption, string SRNumber, int assignedToRankID, int productVersionID, string dateNeeded, bool businessReview, string aors) { Dictionary <string, string> result = new Dictionary <string, string>() { { "saved", "" } , { "id", "0" } , { "error", "" } , { "pageOption", pageOption } }; bool saved = false, loaded = false, savedAOR = false; string errorMsg = string.Empty; try { HttpServerUtility server = HttpContext.Current.Server; description = server.UrlDecode(description); int submittedByID = 0; submittedByID = UserManagement.GetUserId_FromUsername(); WorkItem_Task task = new WorkItem_Task(taskID); if (taskID > 0) { loaded = task.Load(); } task.WorkItemID = workItemID; task.PriorityID = priorityID; task.Title = title; task.Description = description; task.AssignedResourceID = assignedToID; task.PrimaryResourceID = primaryResourceID; task.SecondaryResourceID = secondaryResourceID; task.PrimaryBusResourceID = primaryBusResourceID; task.SecondaryBusResourceID = secondaryBusResourceID; task.EstimatedStartDate = plannedStartDate; task.ActualStartDate = actualStartDate; task.EstimatedEffortID = estimatedEffortID; task.ActualEffortID = actualEffortID; task.ActualEndDate = actualEndDate; task.CompletionPercent = completionPercent; task.StatusID = statusID; task.WorkItemTypeID = workItemTypeID; task.BusinessRank = businessRank; task.Sort_Order = sortOrder; task.SRNumber = SRNumber; task.AssignedToRankID = assignedToRankID; task.ProductVersionID = productVersionID; task.NeedDate = dateNeeded; task.BusinessReview = businessReview; XmlDocument docAORs = (XmlDocument)JsonConvert.DeserializeXmlNode(aors, "aors"); if (taskID == 0) { task.SubmittedByID = submittedByID; saved = task.Add(newID: out taskID, errorMsg: out errorMsg); if (saved) { savedAOR = AOR.AORSubTask_Save(TaskID: taskID, AORs: docAORs, Add: 0, CascadeAOR: false); Workload.SendWorkloadEmail("WorkItemTask", true, taskID); } } else { if (loaded) { saved = task.Save(errorMsg: out errorMsg); } if (saved) { savedAOR = AOR.AORSubTask_Save(TaskID: taskID, AORs: docAORs, Add: 0, CascadeAOR: false); Workload.SendWorkloadEmail("WorkItemTask", false, taskID); } } } catch (Exception ex) { saved = false; errorMsg = ex.Message; LogUtility.LogException(ex); } result["saved"] = saved.ToString(); result["id"] = taskID.ToString(); result["error"] = errorMsg; return(JsonConvert.SerializeObject(result, Newtonsoft.Json.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(); } } } }
private void loadLookupData() { DataSet dsOptions = WorkItem_Task.GetAvailableOptions(workItemID: this.WorkItemID); if (dsOptions == null || dsOptions.Tables.Count == 0) { return; } ListItem item = null; if (dsOptions.Tables.Contains("Priority")) { ddlPriority.DataSource = dsOptions.Tables["Priority"]; ddlPriority.DataTextField = "PRIORITY"; ddlPriority.DataValueField = "PRIORITYID"; ddlPriority.DataBind(); } if (dsOptions.Tables.Contains("TshirtSizes")) { ddlHours_Planned.DataSource = dsOptions.Tables["TshirtSizes"]; ddlHours_Planned.DataTextField = "EFFORTSIZE"; ddlHours_Planned.DataValueField = "EFFORTSIZEID"; ddlHours_Planned.DataBind(); } if (dsOptions.Tables.Contains("TshirtSizes")) { ddlHours_Actual.DataSource = dsOptions.Tables["TshirtSizes"]; ddlHours_Actual.DataTextField = "EFFORTSIZE"; ddlHours_Actual.DataValueField = "EFFORTSIZEID"; ddlHours_Actual.DataBind(); } if (dsOptions.Tables.Contains("User")) { item = null; string name = string.Empty; foreach (DataRow row in dsOptions.Tables["User"].Rows) { name = string.Format("{0} {1}", row["FIRST_NAME"].ToString(), row["LAST_NAME"].ToString()); item = new ListItem(name, row["WTS_RESOURCEID"].ToString()); item.Attributes.Add("username", row["USERNAME"].ToString()); item.Attributes.Add("organizationID", row["ORGANIZATIONID"].ToString()); ddlAssignedTo.Items.Add(item); item = new ListItem(name, row["WTS_RESOURCEID"].ToString()); item.Attributes.Add("username", row["USERNAME"].ToString()); item.Attributes.Add("organizationID", row["ORGANIZATIONID"].ToString()); ddlPrimaryResource.Items.Add(item); item = new ListItem(name, row["WTS_RESOURCEID"].ToString()); item.Attributes.Add("username", row["USERNAME"].ToString()); item.Attributes.Add("organizationID", row["ORGANIZATIONID"].ToString()); ddlSecondaryResource.Items.Add(item); item = new ListItem(name, row["WTS_RESOURCEID"].ToString()); item.Attributes.Add("username", row["USERNAME"].ToString()); item.Attributes.Add("organizationID", row["ORGANIZATIONID"].ToString()); ddlPrimaryBusResource.Items.Add(item); item = new ListItem(name, row["WTS_RESOURCEID"].ToString()); item.Attributes.Add("username", row["USERNAME"].ToString()); item.Attributes.Add("organizationID", row["ORGANIZATIONID"].ToString()); ddlSecondaryBusResource.Items.Add(item); } } if (dsOptions.Tables.Contains("Status")) { ddlStatus.DataSource = dsOptions.Tables["Status"]; ddlStatus.DataTextField = "Status"; ddlStatus.DataValueField = "StatusID"; ddlStatus.DataBind(); } if (dsOptions.Tables.Contains("PercentComplete")) { ddlPercentComplete.DataSource = dsOptions.Tables["PercentComplete"]; ddlPercentComplete.DataTextField = "Percent"; ddlPercentComplete.DataValueField = "Percent"; ddlPercentComplete.DataBind(); } if (dsOptions.Tables.Contains("Rank")) { ddlAssignedToRank.DataSource = dsOptions.Tables["Rank"]; ddlAssignedToRank.DataTextField = "PRIORITY"; ddlAssignedToRank.DataValueField = "PRIORITYID"; ddlAssignedToRank.DataBind(); } if (dsOptions.Tables.Contains("ProductVersion")) { ddlProductVersion.DataSource = dsOptions.Tables["ProductVersion"]; ddlProductVersion.DataTextField = "ProductVersion"; ddlProductVersion.DataValueField = "ProductVersionID"; ddlProductVersion.DataBind(); } if (dsOptions.Tables.Contains("WorkItemType")) { DataTable dtWorkItemType = dsOptions.Tables["WorkItemType"]; int workloadAllocationID = 0; //string currentPhaseID = string.Empty; string currentWorkActivityGroup = string.Empty; ListItem li; DataTable dtAOR = AOR.AORTaskAORList_Get(TaskID: (WorkItemID == 0 ? -1 : WorkItemID)); dtAOR.DefaultView.RowFilter = "AORWorkTypeID = 2"; dtAOR = dtAOR.DefaultView.ToTable(); if (dtAOR.Rows.Count > 0) { int.TryParse(dtAOR.Rows[0]["WorkloadAllocationID"].ToString(), out workloadAllocationID); } foreach (DataRow dr in dtWorkItemType.Rows) { if (/*dr["PDDTDR_PHASEID"].ToString() == "" || */ dr["WorkloadAllocationID"].ToString() == "" || dr["WorkloadAllocationID"].ToString() == workloadAllocationID.ToString()) { /*if (currentPhaseID != dr["PDDTDR_PHASEID"].ToString() && dr["PDDTDR_PHASEID"].ToString() != "") * { * li = new ListItem(); * li.Text = dr["PDDTDR_PHASE"].ToString(); * li.Attributes["disabled"] = "disabled"; * li.Attributes["style"] = "background-color: white"; * ddlWorkItemType.Items.Add(li); * * currentPhaseID = dr["PDDTDR_PHASEID"].ToString(); * }*/ if (currentWorkActivityGroup != dr["WorkActivityGroup"].ToString() && dr["WorkActivityGroup"].ToString() != "") { li = new ListItem(); li.Text = dr["WorkActivityGroup"].ToString(); li.Attributes["disabled"] = "disabled"; li.Attributes["style"] = "background-color: white"; ddlWorkItemType.Items.Add(li); currentWorkActivityGroup = dr["WorkActivityGroup"].ToString(); } li = new ListItem(); li.Value = dr["WORKITEMTYPEID"].ToString(); li.Text = dr["WORKITEMTYPE"].ToString(); ddlWorkItemType.Items.Add(li); } } } }