예제 #1
0
    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);
    }
예제 #2
0
    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();
    }
예제 #3
0
    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));
    }
예제 #4
0
    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));
    }
예제 #5
0
    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));
    }
예제 #6
0
    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("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("WORKREQUESTID")].Text.Replace("&nbsp;", " ").Trim(), 180));
            row.Cells[DCC.IndexOf("WORKITEMTYPE")].Controls.Add(WTSUtility.CreateGridDropdownList("WORKITEMTYPE", itemId, row.Cells[DCC.IndexOf("WORKITEMTYPE")].Text.Replace("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("WORKITEMTYPEID")].Text.Replace("&nbsp;", " ").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("&nbsp;", " ").Trim(), 120));
            row.Cells[DCC.IndexOf("ALLOCATION")].Controls.Add(WTSUtility.CreateGridDropdownList("ALLOCATION", itemId, row.Cells[DCC.IndexOf("ALLOCATION")].Text.Replace("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("ALLOCATIONID")].Text.Replace("&nbsp;", " ").Trim(), 195));
            //row.Cells[DCC.IndexOf("Version")].Controls.Add(WTSUtility.CreateGridDropdownList("ProductVersion", itemId, row.Cells[DCC.IndexOf("Version")].Text.Replace("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("ProductVersionID")].Text.Replace("&nbsp;", " ").Trim(), 0));
            row.Cells[DCC.IndexOf("PRIORITY")].Controls.Add(WTSUtility.CreateGridDropdownList("PRIORITY", itemId, row.Cells[DCC.IndexOf("PRIORITY")].Text.Replace("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("PRIORITYID")].Text.Replace("&nbsp;", " ").Trim(), 0));
            row.Cells[DCC.IndexOf("Primary_Developer")].Controls.Add(WTSUtility.CreateGridDropdownList("Primary_Developer", itemId, row.Cells[DCC.IndexOf("Primary_Developer")].Text.Replace("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("PRIMARYRESOURCEID")].Text.Replace("&nbsp;", " ").Trim(), 0));
            row.Cells[DCC.IndexOf("Assigned")].Controls.Add(WTSUtility.CreateGridDropdownList("Assigned", itemId, row.Cells[DCC.IndexOf("Assigned")].Text.Replace("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("ASSIGNEDRESOURCEID")].Text.Replace("&nbsp;", " ").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("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("WorkTypeID")].Text.Replace("&nbsp;", " ").Trim(), 0));

            bool   allow  = true;
            string status = row.Cells[DCC.IndexOf("STATUS")].Text.Replace("&nbsp;", " ").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("&nbsp;", " ").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("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("Progress")].Text.Replace("&nbsp;", " ").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("&nbsp;", " ").Trim(), row.Cells[DCC.IndexOf("ProductionStatusID")].Text.Replace("&nbsp;", " ").Trim(), 0));
        }
    }
예제 #7
0
    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("&nbsp;", "").Trim()));
            txtResourceGroup.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkType"].ToString().Replace("&nbsp;", "").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("&nbsp;", "").Trim()));
            txtProductionStatus.Text   = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["ProductionStatus"].ToString().Replace("&nbsp;", "").Trim()));
            txtSystemTask.Text         = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WTS_SYSTEM"].ToString().Replace("&nbsp;", "").Trim()));
            txtContract.Text           = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["CONTRACT"].ToString().Replace("&nbsp;", "").Trim()));
            txtWorkloadAllocation.Text = HttpUtility.HtmlDecode(Uri.UnescapeDataString(parentTaskData.Rows[0]["WorkloadAllocation"].ToString().Replace("&nbsp;", "").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("&nbsp;", "").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();
    }
예제 #8
0
    private bool ExportExcel(DataTable dt)
    {
        bool   success  = false;
        string errorMsg = string.Empty;

        try
        {
            Workbook  wb   = new Workbook(FileFormatType.Xlsx);
            Worksheet ws   = wb.Worksheets[0];
            StyleFlag flag = new StyleFlag()
            {
                All = true
            };
            Aspose.Cells.Style style  = new Aspose.Cells.Style();
            Aspose.Cells.Style style2 = new Aspose.Cells.Style();
            Aspose.Cells.Style style3 = new Aspose.Cells.Style();

            style.Pattern          = BackgroundType.Solid;
            style.ForegroundColor  = System.Drawing.ColorTranslator.FromHtml("#E6E6E6");
            style2.Pattern         = BackgroundType.Solid;
            style2.ForegroundColor = System.Drawing.ColorTranslator.FromHtml("LightGreen");
            style3.Pattern         = BackgroundType.Solid;
            style3.ForegroundColor = System.Drawing.ColorTranslator.FromHtml("LightBlue");

            DataTable dtDrilldown = WorkloadItem.WorkItemList_Get();
            DataTable dtExcel     = new DataTable();

            RemoveExcelColumns(ref dt);
            RenameExcelColumns(ref dt);
            dtExcel = dt.Clone();

            for (int i = 0; i <= dtExcel.Columns.Count - 1; i++)
            {
                dtExcel.Columns[i].DataType    = typeof(string);
                dtExcel.Columns[i].MaxLength   = 255;
                dtExcel.Columns[i].AllowDBNull = true;
            }

            foreach (DataRow dr in dt.Rows)
            {
                dtExcel.ImportRow(dr);

                if (dtDrilldown != null && dtDrilldown.Rows.Count > 0)
                {
                    DataTable dtTemp = new DataTable();

                    dtTemp = dtDrilldown.Copy();
                    dtTemp.DefaultView.RowFilter = "WORKREQUESTID = " + dr["Request #"];
                    dtTemp = dtTemp.DefaultView.ToTable();

                    int count = 0;
                    foreach (DataRow drTemp in dtTemp.Rows)
                    {
                        if (count == 0)
                        {
                            dtExcel.Rows.Add("", "#", "System", "Status", "Description", "Allocation Assignment", "Production", "Version", "Priority", "Primary Analyst", "Primary Developer", "Assigned", "Progress", "");
                        }

                        dtExcel.Rows.Add("", drTemp["ItemID"].ToString(), drTemp["Websystem"], drTemp["STATUS"], drTemp["TITLE"], drTemp["ALLOCATION"], (drTemp["Production"].ToString().Trim().ToUpper() == "TRUE" ? "Yes" : "No"), drTemp["Version"], drTemp["PRIORITY"], drTemp["Primary_Analyst"], drTemp["Primary_Developer"], drTemp["Assigned"], drTemp["Progress"].ToString(), "");

                        int itemID = 0;
                        int.TryParse(drTemp["ItemID"].ToString(), out itemID);
                        if (itemID > 0)
                        {
                            DataTable dtDrilldownTask = WorkloadItem.WorkItem_GetTaskList(workItemID: itemID, showArchived: _showArchived);
                            if (dtDrilldownTask != null && dtDrilldownTask.Rows.Count > 0)
                            {
                                int countTask = 0;
                                foreach (DataRow drChild in dtDrilldownTask.Rows)
                                {
                                    if (countTask == 0)
                                    {
                                        dtExcel.Rows.Add("", "", "Task #", "Title", "Planned Start", "Actual Start", "Planned Hours", "Actual Hours", "Actual End", "Assigned", "Status", "Progress");
                                    }

                                    dtExcel.Rows.Add("", "", drChild["WORKITEMID"].ToString() + " - " + drChild["TASK_NUMBER"].ToString(), drChild["Title"], String.Format("{0:M/d/yyyy}", drChild["ESTIMATEDSTARTDATE"].ToString()), String.Format("{0:M/d/yyyy}", drChild["ACTUALSTARTDATE"].ToString()), drChild["PLANNEDHOURS"].ToString(), drChild["ACTUALHOURS"].ToString(), String.Format("{0:M/d/yyyy}", drChild["ACTUALENDDATE"].ToString()), drChild["AssignedResource"], drChild["STATUS"], drChild["COMPLETIONPERCENT"].ToString());
                                    countTask++;
                                }
                            }
                        }

                        count++;
                    }
                }
            }

            string name = "Work Request";
            ws.Cells.ImportDataTable(dtExcel, true, 0, 0, false, false);

            for (int j = 0; j <= ws.Cells.Rows.Count - 1; j++)
            {
                if (ws.Cells.Rows[j][0].Value == "Request #")
                {
                    Range range = ws.Cells.CreateRange(j, 0, 1, 15);
                    range.ApplyStyle(style, flag);
                }

                if (ws.Cells.Rows[j][1].Value == "#")
                {
                    Range range = ws.Cells.CreateRange(j, 1, 1, 12);
                    range.ApplyStyle(style2, flag);
                }

                if (ws.Cells.Rows[j][2].Value == "Task #")
                {
                    Range range = ws.Cells.CreateRange(j, 2, 1, 10);
                    range.ApplyStyle(style3, flag);
                }
            }

            //WTSUtility.FormatWorkbookHeader(ref wb, ref ws, 0, 0, 1, dt.Columns.Count);

            ws.AutoFitColumns();
            MemoryStream ms = new MemoryStream();
            wb.Save(ms, SaveFormat.Xlsx);

            Response.ContentType = "application/xlsx";
            Response.AddHeader("content-disposition", "attachment; filename=" + name + ".xlsx");
            Response.BinaryWrite(ms.ToArray());
            Response.End();

            success = true;
        }
        catch (Exception ex)
        {
            success   = false;
            errorMsg += Environment.NewLine + ex.Message;
        }

        return(success);
    }