示例#1
0
    private void BindSchedule()
    {
        _iPrjRefID = WebUtility.GetIntByValueDropDownList(ddlPrjName);

        Biz_Prj_Schedule objSchedule = new Biz_Prj_Schedule();

        objSchedule.IPrj_Ref_Id = IPrjRefID;
        DataSet ds = objSchedule.GetUserAllList(objSchedule.IPrj_Ref_Id, 0, gUserInfo.Emp_Ref_ID);


        if (ds.Tables.Count == 0 && ds.Tables[0].Rows.Count == 0)
        {
            return;
        }

        DataSet tmpDs = ds.Clone();

        ds.Relations.Add("NodeRelation"
                         , ds.Tables[0].Columns["TASK_REF_ID"]
                         , ds.Tables[0].Columns["UP_TASK_REF_ID"]
                         , false);

        foreach (DataRow dbRow in ds.Tables[0].Rows)
        {
            if (DataTypeUtility.GetToInt32(dbRow["UP_TASK_REF_ID"]) == 0)
            {
                tmpDs.Tables[0].ImportRow(dbRow);
                PopulateScheduleTree(dbRow, tmpDs);
            }
        }

        _prjScheuldeDataProvider = new PrjScheuldeDataProvider(tmpDs.Tables[0]);
        _prjScheuldeDataProvider.WebScheduleInfo = this.WebScheduleInfo1;

        this.WebScheduleInfo1.AppointmentFormPath = "./PRJ0102M1.aspx?PRJ_REF_ID=" + _iPrjRefID + "&TASK_REF_ID=";
        this.WebScheduleInfo1.ReminderFormPath    = "./PRJ0102M1.aspx?PRJ_REF_ID=" + _iPrjRefID + "&TASK_REF_ID=" + _iTaskRefID;

        this.WebMonthView1.AppointmentFormatString        = "<SUBJECT>";
        this.WebMonthView1.AppointmentTooltipFormatString = "<DESCRIPTION><NEW_LINE><SUBJECT>";


        // 프로젝트 책임자 또는 사업구성원이 아닐경우
        Biz_Prj_Info     objPrj = new Biz_Prj_Info();
        Biz_Prj_Resource objRes = new Biz_Prj_Resource(this._iPrjRefID, gUserInfo.Emp_Ref_ID);

        if (!objPrj.IsOwnerEmpIDYN(gUserInfo.Emp_Ref_ID, this.IPrjRefID) ||
            (objRes == null))
        {
            _readOnlyYN = "Y";
        }
        else
        {
            _readOnlyYN = "N";
        }
    }
示例#2
0
    private void SetFormData()
    {
        Biz_Prj_Info     objPrj      = new Biz_Prj_Info(this.IPrjRefID);
        Biz_Prj_Resource prjResource = new Biz_Prj_Resource();
        Biz_Prj_Share    objPrjShare = new Biz_Prj_Share();
        Biz_Prj_Schedule objSchedule = new Biz_Prj_Schedule();

        DataSet actualDs = objSchedule.GetActualDate(this.IPrjRefID);

        this.IApp_Ref_Id           = objPrj.IApp_Ref_Id;
        txtPRJ_CODE.Text           = objPrj.IPrj_Code;
        txtPRJ_NAME.Text           = objPrj.IPrj_Name;
        txtDEFINITION.Text         = objPrj.IDefinition;
        txtEFFECTIVENESS.Text      = objPrj.IEffectiveness;
        txtRANGE.Text              = objPrj.IRange;
        txtOWNER_EMP_ID.Text       = objPrj.IOwner_Emp_Name;
        hdfOWNER_EMP_ID.Value      = objPrj.IOwner_Emp_Id.ToString();
        this.IDraftEmpID           = objPrj.IOwner_Emp_Id;
        txtREF_STG.Text            = objPrj.IRef_Stg;
        txtREQUEST_DEPT.Text       = objPrj.IRequest_Dept;
        txtTotalBudget.Text        = objPrj.ITotal_Budget.ToString("###,##0");
        txtINTERESTED_PARTIES.Text = objPrj.IInterested_Parties;

        WebUtility.FindByValueDropDownList(ddlOwnerDeptID, objPrj.IOwner_Dept_Id);
        WebUtility.FindByValueDropDownList(ddlPRIORITY, objPrj.IPriority);
        WebUtility.FindByValueDropDownList(ddlPrjType, objPrj.IPrj_Type);

        wdcPlanStartDate.Value = objPrj.IPlan_Start_Date;
        wdcPlanEndDate.Value   = objPrj.IPlan_End_Date;

        wdcActualStartDate.Value = actualDs.Tables[0].Rows[0]["ACTUAL_START_DATE"];
        wdcActualEndDate.Value   = actualDs.Tables[0].Rows[0]["ACTUAL_END_DATE"];

        DataSet dsPSH = objPrjShare.GetAllList(this.IPrjRefID, 0);

        if (dsPSH.Tables.Count > 0)
        {
            dsPSH.Tables[0].DefaultView.Sort = "CREATE_DATE ASC";
            ugrdProjectShareList.Clear();
            ugrdProjectShareList.DataSource = dsPSH.Tables[0].DefaultView;
            ugrdProjectShareList.DataBind();
        }
        else
        {
            ugrdProjectShareList.Clear();
        }

        ugrdResourceList.Clear();
        ugrdResourceList.DataSource = prjResource.GetAllList(this.IPrjRefID, 0);
        ugrdResourceList.DataBind();
    }
示例#3
0
    public void BindSchedule(TreeView treeView
                             , bool isCheckBox
                             , TreeNodeSelectAction treeNodeSelectAction
                             , string checkedValues)
    {
        string    valueStr    = "TASK_REF_ID";
        string    up_valueStr = "UP_TASK_REF_ID";
        string    textStr     = "TASK_NAME";
        string    iconStr     = "TASK_TYPE";
        string    imageUrlDir = "../images/treeview/";
        bool      isExtended  = true;
        DataTable dataTable   = null;



        Biz_Prj_Schedule objSchedule = new Biz_Prj_Schedule();
        DataSet          ds          = objSchedule.GetAllList(PRJ_REF_ID, 0);

        ds.Relations.Add("NodeRelation"
                         , ds.Tables[0].Columns[valueStr]
                         , ds.Tables[0].Columns[up_valueStr]
                         , false);

        treeView.Nodes.Clear();


        foreach (DataRow dbRow in ds.Tables[0].Rows)
        {
            if (DataTypeUtility.GetToInt32(dbRow[up_valueStr]) == 0)
            {
                TreeNode rootNode = CreateNode(dbRow
                                               , imageUrlDir + "root.gif"
                                               , isExtended
                                               , treeNodeSelectAction
                                               , isCheckBox);

                if (isCheckBox && (checkedValues != null || checkedValues == ""))
                {
                    TreeNodeCheck(rootNode, dataTable);
                }

                treeView.Nodes.Add(rootNode);
                PopulateScheduleTree(dbRow, rootNode, valueStr, textStr, imageUrlDir, iconStr, treeNodeSelectAction, isExtended, isCheckBox, dataTable);
            }
        }
    }
示例#4
0
    public void BindSchedule(string valueStr, string up_valueStr)
    {
        DataTable dataTable = GetDataTableSchema();

        Biz_Prj_Schedule objSchedule = new Biz_Prj_Schedule();
        DataSet          ds          = objSchedule.GetAllList(this.IPrjRefID, 0);

        object oRate = objSchedule.GetTotalRate(this.IPrjRefID, 0);

        if (ds.Tables.Count > 0)
        {
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                if (ds.Tables[0].Rows[i]["UP_TASK_REF_ID"] == DBNull.Value | ds.Tables[0].Rows[i]["UP_TASK_REF_ID"].ToString() == "0")
                {
                    ds.Tables[0].Rows[i]["PROCEED_RATE"] = DataTypeUtility.GetString(oRate);
                    break;
                }
            }
        }

        ds.Relations.Add("NodeRelation"
                         , ds.Tables[0].Columns[valueStr]
                         , ds.Tables[0].Columns[up_valueStr]
                         , false);

        foreach (DataRow dbRow in ds.Tables[0].Rows)
        {
            DataTable dt = ds.Tables[0];

            if (DataTypeUtility.GetToInt32(dbRow[up_valueStr]) == 0)
            {
                dataTable.Rows.Add(MakeDataRow(dataTable, dbRow));

                PopulateSchedule(dbRow, dataTable);
            }
        }

        grdTaskList.DataSource = dataTable.DefaultView;
        grdTaskList.DataBind();
    }
示例#5
0
    private void FormDataBind()
    {
        Biz_Prj_Schedule   objSchedule   = new Biz_Prj_Schedule(this.IPrjRefID, this.ITaskRefID);
        Biz_Prj_Info       objInfo       = new Biz_Prj_Info(this.IPrjRefID);
        Biz_Prj_Schedule   objUpSchedule = new Biz_Prj_Schedule(this.IPrjRefID, objSchedule.IUp_Task_Ref_Id);
        Biz_Prj_Task_Owner objTaskOwner  = new Biz_Prj_Task_Owner();
        Biz_Prj_Task_Share objTaskShare  = new Biz_Prj_Task_Share();

        txtPrjName.Text   = objInfo.IPrj_Name;
        txtPrjPeriod.Text = DataTypeUtility.GetToDateTimeText(objInfo.IPlan_Start_Date) + " ~ " + DataTypeUtility.GetToDateTimeText(objInfo.IPlan_End_Date);

        txtTaskCode.Text            = objSchedule.ITask_Code;
        txtTaskName.Text            = objSchedule.ITask_Name;
        txtUpTaskName.Text          = objUpSchedule.ITask_Name;
        hdfUpTaskRefID.Value        = objSchedule.IUp_Task_Ref_Id.ToString();
        this.ITaskWeight            = objSchedule.ITask_Weight;
        wdcSchPlanStartDate.Value   = objSchedule.IPlan_Start_Date;
        wdcSchPlanEndDate.Value     = objSchedule.IPlan_End_Date;
        wdcSchActualStartDate.Value = objSchedule.IActual_Start_Date;
        wdcSchActualEndDate.Value   = objSchedule.IActual_End_Date;


        txtProceedRate.Text = objSchedule.IProceed_Rate.ToString("##0.#0");
        hdfAttachNo.Value   = objSchedule.IAtt_File;
        hdfNodeDepth.Value  = objSchedule.INode_Depth.ToString();
        txtDesction.Text    = objSchedule.IDesction;

        SetUploadFileInfo(hdfAttachNo.Value, ddlFileUpload);

        ugrdTaskOwnerList.Clear();
        //ugrdTaskShareList.Clear();

        ugrdTaskOwnerList.DataSource = objTaskOwner.GetAllList(this.IPrjRefID, 0, this.ITaskRefID);
        ugrdTaskOwnerList.DataBind();

        //ugrdTaskShareList.DataSource = objTaskShare.GetAllList(this.IPrjRefID, this.ITaskRefID, 0);
        //ugrdTaskShareList.DataBind();
    }
示例#6
0
    private void SetPageType()
    {
        if (PAGE_TYPE.Equals("P"))
        {
            SetMenuControl(false, false, false);

            IPrjRefID = GetRequestByInt("PRJ_REF_ID", 0);
            PRJ_TYPE  = GetRequest("PRJ_TYPE", "");

            if (IPrjRefID > 0)
            {
                PageUtility.FindByValueDropDownList(ddlPrjType, this.IPrjRefID.ToString());
            }

            Biz_Prj_Info      objPrjInfo = new Biz_Prj_Info(IPrjRefID);
            Biz_Com_Code_Info objComCode = new Biz_Com_Code_Info();

            DataSet   ds = objComCode.GetProjectType(0);
            DataRow[] dr = ds.Tables[0].Select("ETC_CODE='" + PRJ_TYPE + "'");

            //ddlPrjType.Visible = false;
            //ddlPrjName.Visible = false;
            iBtnSearch.Visible = false;

            lblPrjTypeName.Visible = true;
            lblPrjName.Visible     = true;
            ImgClose.Visible       = true;

            lblPrjName.Text     = objPrjInfo.IPrj_Name;
            lblPrjTypeName.Text = dr[0].ItemArray[3].ToString(); //CODE_NAME
            BindGanttChart(IPrjRefID);

            pnlPrjInfo.Visible   = true;
            pnlPrjSearch.Visible = false;
        }
        else
        {
            pnlPrjInfo.Visible   = false;
            pnlPrjSearch.Visible = true;
            BindGanttChart(IPrjRefID);
        }

        // 프로젝트 책임자 또는 사업구성원이 아닐경우
        Biz_Prj_Info     objPrj = new Biz_Prj_Info(this.IPrjRefID);
        Biz_Prj_Resource objRes = new Biz_Prj_Resource(this._iPrjRefID, gUserInfo.Emp_Ref_ID);

        if (!objPrj.IsOwnerEmpIDYN(gUserInfo.Emp_Ref_ID, this.IPrjRefID) ||
            (objRes == null))
        {
            _readOnlyYN = "Y";
        }
        else if (objPrj.IsOwnerEmpIDYN(gUserInfo.Emp_Ref_ID, this.IPrjRefID) && objPrj.IComplete_YN == "Y")
        {
            _readOnlyYN = "Y";
        }
        else if (this.PAGE_TYPE == "N")
        {
            _readOnlyYN = "N";
        }
        else
        {
            _readOnlyYN = "N";
        }

        Biz_Prj_Schedule objSch = new Biz_Prj_Schedule();

        lblPROCEED_RATE.Text    = objSch.GetTotalRate(this.IPrjRefID, 0).ToString();
        lblActualEDate.Text     = (objPrj.IActual_End_Date == DBNull.Value)   ? "" : Convert.ToDateTime(objPrj.IActual_End_Date).ToShortDateString();
        lblActualSDate.Text     = (objPrj.IActual_Start_Date == DBNull.Value) ? "" : Convert.ToDateTime(objPrj.IActual_Start_Date).ToShortDateString();
        lblplanEDate.Text       = (objPrj.IPlan_End_Date == DBNull.Value)     ? "" : Convert.ToDateTime(objPrj.IPlan_End_Date).ToShortDateString();
        lblplanSDate.Text       = (objPrj.IPlan_Start_Date == DBNull.Value)   ? "" : Convert.ToDateTime(objPrj.IPlan_Start_Date).ToShortDateString();
        lblOWNER_DEPT_NAME.Text = objPrj.IOwner_Dept_Name;
        lblOWNER_EMP_NAME.Text  = objPrj.IOwner_Emp_Name;

        PageUtility.FindByValueDropDownList(ddlPRIORITY, objPrj.IPriority);
        lblPRIORITY.Text = PageUtility.GetByTextDropDownList(ddlPRIORITY);

        lblTOTAL_BUDGET.Text  = objPrj.ITotal_Budget.ToString();
        lblREF_STG.Text       = objPrj.IRef_Stg;
        lblEFFECTIVENESS.Text = objPrj.IEffectiveness;
        lblRANGE.Text         = objPrj.IRange;
        lblPRJ_TYPE.Text      = PageUtility.GetByTextDropDownList(ddlPrjType);
    }
示例#7
0
    private void BindGanttChart(int iPrjRefID)
    {
        IPrjRefID = iPrjRefID;

        if (PAGE_TYPE.Equals("N"))
        {
            _iPrjRefID = WebUtility.GetIntByValueDropDownList(ddlPrjName);
        }

        if (PAGE_TYPE.Equals("N") && _iPrjRefID < 1)
        {
            return;
        }

        Biz_Prj_Schedule objSchedule = new Biz_Prj_Schedule();

        objSchedule.IPrj_Ref_Id = IPrjRefID;
        DataSet ds = objSchedule.GetAllList(objSchedule.IPrj_Ref_Id, 0);

        if (ds.Tables.Count == 0 && ds.Tables[0].Rows.Count == 0)
        {
            return;
        }

        DataSet tmpDs = ds.Clone();

        ds.Relations.Add("NodeRelation"
                         , ds.Tables[0].Columns["TASK_REF_ID"]
                         , ds.Tables[0].Columns["UP_TASK_REF_ID"]
                         , false);

        foreach (DataRow dbRow in ds.Tables[0].Rows)
        {
            if (DataTypeUtility.GetToInt32(dbRow["UP_TASK_REF_ID"]) == 0)
            {
                tmpDs.Tables[0].ImportRow(dbRow);
                PopulateScheduleTree(dbRow, tmpDs);
            }
        }

        _dataTable = tmpDs.Tables[0];

        // Set Gantt chart type
        Chart1.Series["Tasks"].Type    = SeriesChartType.Gantt;
        Chart1.Series["Progress"].Type = SeriesChartType.Gantt;

        Chart1.Legends["Default"].Enabled = true;

        Chart1.ChartAreas["Default"].AxisX.MajorGrid.Interval = 2;
        Chart1.ChartAreas["Default"].AxisX.LabelsAutoFit      = false;

        Chart1.ChartAreas["Default"].AxisX.Interval = 1;
        Chart1.ChartAreas["Default"].AxisX.Reverse  = true;

        Chart1.ChartAreas["Default"].AxisY.LabelStyle.Format = "yy.MM.dd";
        //Chart1.ChartAreas["Default"].AxisY.MajorGrid.Interval = 28;
        //Chart1.ChartAreas["Default"].AxisY.Interval = 10;
        Chart1.ChartAreas["Default"].AxisY.LabelsAutoFitStyle ^= LabelsAutoFitStyle.IncreaseFont;
        Chart1.ChartAreas["Default"].AxisY.LabelsAutoFit       = true;

        Chart1.ChartAreas["Default"].Area3DStyle.Enable3D = false;
        Chart1.Series["Progress"]["DrawSideBySide"]       = "false";
        Chart1.Series["Tasks"]["DrawSideBySide"]          = "false";

        Chart1.Series["Tasks"]["PointWidth"]    = "0.7";
        Chart1.Series["Progress"]["PointWidth"] = "0.4";

        //Chart1.BackColor = Color.White;
        //Chart1.BackGradientType = GradientType.None;
        //Chart1.BorderColor = Color.Gray;
        //Chart1.BorderLineStyle = ChartDashStyle.Solid;
        //Chart1.BorderStyle = ChartDashStyle.NotSet;

        _htPoints.Clear();

        for (int i = 0; i < _dataTable.Rows.Count; i++)
        {
            DataRow row = _dataTable.Rows[i];

            object oPlanStartDate   = row["PLAN_START_DATE"];
            object oPlanEndDate     = row["PLAN_END_DATE"];
            object oActualStartDate = row["ACTUAL_START_DATE"];
            object oActualEndDate   = row["ACTUAL_END_DATE"];

            if (oPlanStartDate.ToString() == oPlanEndDate.ToString() && oPlanEndDate != DBNull.Value)
            {
                oPlanEndDate = (object)DataTypeUtility.GetToDateTime(oPlanEndDate).AddDays(1);
            }

            if (oActualStartDate.ToString() == oActualEndDate.ToString() && oActualEndDate != DBNull.Value)
            {
                oActualEndDate = (object)DataTypeUtility.GetToDateTime(oActualEndDate).AddDays(1);
            }

            if (oPlanStartDate != DBNull.Value && oPlanEndDate != DBNull.Value)
            {
                Chart1.Series["Tasks"].Points.AddXY(i, oPlanStartDate, oPlanEndDate);
            }
            else
            {
                Chart1.Series["Tasks"].Points.AddXY(i, null, null);
            }

            if (oActualStartDate == DBNull.Value || oActualStartDate == null)
            {
                oActualStartDate = null;
            }

            if (oActualEndDate == DBNull.Value || oActualEndDate == null)
            {
                oActualEndDate = null;
            }

            if (oActualStartDate == null || oActualEndDate == null)
            {
                oActualStartDate = null;
                oActualEndDate   = null;
            }

            //if (oActualStartDate == DBNull.Value && oActualEndDate != null)
            //    oActualStartDate =  oPlanStartDate;

            //if (oActualStartDate != DBNull.Value && (oActualEndDate == null || oActualEndDate == DBNull.Value))
            //    oActualEndDate    = oPlanEndDate;

            Chart1.Series["Progress"].Points.AddXY(i, oActualStartDate, oActualEndDate);

            //Chart1.Series["Tasks"].Points.AddXY(i, row["PLAN_START_DATE"], row["PLAN_END_DATE"]);

            //Chart1.Series["Progress"].Points.AddXY(i, row["ACTUAL_START_DATE"], row["ACTUAL_END_DATE"]);

            Chart1.Series["Tasks"].Points[i].AxisLabel    = row["TASK_NAME"].ToString();
            Chart1.Series["Progress"].Points[i].AxisLabel = row["TASK_NAME"].ToString();

            //Chart1.Series["Tasks"].Points[i].ToolTip = "계획기간 : " + DataTypeUtility.GetToDateTimeText(row["PLAN_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["PLAN_END_DATE"]);
            //Chart1.Series["Progress"].Points[i].ToolTip = "계획기간 : " + DataTypeUtility.GetToDateTimeText(row["PLAN_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["PLAN_END_DATE"]);
            //Chart1.Series["Progress"].Points[i].ToolTip = "실행기간 : " + DataTypeUtility.GetToDateTimeText(row["ACTUAL_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["ACTUAL_END_DATE"]);

            if (DataTypeUtility.GetToInt32(row["UP_TASK_REF_ID"]) > 0)
            {
                Chart1.Series["Tasks"].Points[i].ToolTip = "계획기간 : " + DataTypeUtility.GetToDateTimeText(row["PLAN_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["PLAN_END_DATE"]) + "\r\n" +
                                                           "실행기간 : " + DataTypeUtility.GetToDateTimeText(row["ACTUAL_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["ACTUAL_END_DATE"]);

                Chart1.Series["Progress"].Points[i].ToolTip = "계획기간 : " + DataTypeUtility.GetToDateTimeText(row["PLAN_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["PLAN_END_DATE"]) + "\r\n" +
                                                              "실행기간 : " + DataTypeUtility.GetToDateTimeText(row["ACTUAL_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["ACTUAL_END_DATE"]);
            }
            else
            {
                DataSet actualDs = objSchedule.GetActualDate(this.IPrjRefID);

                Chart1.Series["Tasks"].Points[i].ToolTip = "계획기간 : " + DataTypeUtility.GetToDateTimeText(row["PLAN_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["PLAN_END_DATE"]) + "\r\n" +
                                                           "실행기간 : " + DataTypeUtility.GetToDateTimeText(actualDs.Tables[0].Rows[0]["ACTUAL_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(actualDs.Tables[0].Rows[0]["ACTUAL_END_DATE"]);

                Chart1.Series["Progress"].Points[i].ToolTip = "계획기간 : " + DataTypeUtility.GetToDateTimeText(row["PLAN_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(row["PLAN_END_DATE"]) + "\r\n" +
                                                              "실행기간 : " + DataTypeUtility.GetToDateTimeText(actualDs.Tables[0].Rows[0]["ACTUAL_START_DATE"]) + " ~ " + DataTypeUtility.GetToDateTimeText(actualDs.Tables[0].Rows[0]["ACTUAL_END_DATE"]);
            }

            if (DataTypeUtility.GetToInt32(row["UP_TASK_REF_ID"]) > 0)
            {
                Chart1.Series["Tasks"].Points[i].Href    = "javascript:OpenSchedule('" + row["TASK_REF_ID"].ToString() + "');";
                Chart1.Series["Progress"].Points[i].Href = "javascript:OpenSchedule('" + row["TASK_REF_ID"].ToString() + "');";
            }

            //Chart1.Series["Tasks"].Points[i].Label = Chart1.Series["Tasks"].Points[i].XValue.ToString();

            _htPoints.Add(row["TASK_REF_ID"], Chart1.Series["Tasks"].Points[i]);
        }
    }
示例#8
0
    protected void iBtnUpdate_Click(object sender, ImageClickEventArgs e)
    {
        Biz_Prj_Schedule   objSchedule  = new Biz_Prj_Schedule();
        Biz_Prj_Task_Owner objTaskOwner = new Biz_Prj_Task_Owner();
        Biz_Prj_Task_Share objTaskShare = new Biz_Prj_Task_Share();

        string[,] saAttachInfo = TypeUtility.GetSplit(hdfAttachNo.Value);

        string strAttach = hdfAttachNo.Value;

        if (saAttachInfo.Length / 2 >= 1)
        {
            if (Convert.ToInt32(saAttachInfo[1, 0]) > 0)
            {
                strAttach = saAttachInfo[0, 0];
            }
        }

        objSchedule.IPrj_Ref_Id        = this.IPrjRefID;
        objSchedule.ITask_Ref_Id       = this.ITaskRefID;
        objSchedule.ITask_Code         = txtTaskCode.Text.Trim();
        objSchedule.ITask_Name         = txtTaskName.Text.Trim();
        objSchedule.IUp_Task_Ref_Id    = DataTypeUtility.GetToInt32(hdfUpTaskRefID.Value);
        objSchedule.ITask_Type         = WebUtility.GetByValueDropDownList(ddlTaskType);
        objSchedule.IPlan_Start_Date   = wdcSchPlanStartDate.Value;
        objSchedule.IPlan_End_Date     = wdcSchPlanEndDate.Value;
        objSchedule.IActual_Start_Date = wdcSchActualStartDate.Value;
        objSchedule.IActual_End_Date   = wdcSchActualEndDate.Value;
        objSchedule.IProceed_Rate      = DataTypeUtility.GetToDecimal(txtProceedRate.Text.Trim());
        objSchedule.IAtt_File          = strAttach;
        objSchedule.INode_Depth        = DataTypeUtility.GetToInt32(hdfNodeDepth.Value);
        objSchedule.IComplete_Yn       = "N";
        objSchedule.IIsdelete          = "N";
        objSchedule.IAfter_Task_Ref_Id = -1;
        objSchedule.IDesction          = this.txtDesction.Text.Trim();



        int intRtn = objSchedule.UpdateData(objSchedule.IPrj_Ref_Id
                                            , objSchedule.ITask_Ref_Id
                                            , objSchedule.ITask_Name
                                            , objSchedule.ITask_Type
                                            , this.ITaskWeight
                                            , objSchedule.IUp_Task_Ref_Id
                                            , objSchedule.ITask_Code
                                            , objSchedule.IPlan_Start_Date
                                            , objSchedule.IPlan_End_Date
                                            , objSchedule.IActual_Start_Date
                                            , objSchedule.IActual_End_Date
                                            , objSchedule.IProceed_Rate
                                            , objSchedule.IAtt_File
                                            , objSchedule.IComplete_Yn
                                            , objSchedule.IIsdelete
                                            , objSchedule.INode_Depth
                                            , objSchedule.IAfter_Task_Ref_Id
                                            , objSchedule.IDesction
                                            , gUserInfo.Emp_Ref_ID);


        //작업수행담당자 저장

        foreach (UltraGridRow row in ugrdTaskOwnerList.Rows)
        {
            objTaskOwner.IPrj_Ref_Id  = this.IPrjRefID;
            objTaskOwner.ITask_Ref_Id = this.ITaskRefID;
            objTaskOwner.IEmp_Ref_Id  = DataTypeUtility.GetToInt32(row.Cells.FromKey("EMP_REF_ID").Value);

            if (row.Cells.FromKey("ITYPE").Value.ToString() == "A")
            {
                intRtn += objTaskOwner.InsertData(objTaskOwner.IPrj_Ref_Id
                                                  , objTaskOwner.IEmp_Ref_Id
                                                  , objTaskOwner.ITask_Ref_Id
                                                  , "N"
                                                  , gUserInfo.Emp_Ref_ID);
            }
            else if (row.Cells.FromKey("ITYPE").Value.ToString() == "U")
            {
                intRtn += objTaskOwner.UpdateData(objTaskOwner.IPrj_Ref_Id
                                                  , objTaskOwner.IEmp_Ref_Id
                                                  , objTaskOwner.ITask_Ref_Id
                                                  , "N"
                                                  , gUserInfo.Emp_Ref_ID);
            }
            else if (row.Cells.FromKey("ITYPE").Value.ToString() == "D")
            {
                intRtn += objTaskOwner.DeleteData(objTaskOwner.IPrj_Ref_Id
                                                  , objTaskOwner.IEmp_Ref_Id
                                                  , objTaskOwner.ITask_Ref_Id
                                                  , gUserInfo.Emp_Ref_ID);
            }
        }

        ////일정공유자 저장

        //foreach (UltraGridRow row in ugrdTaskShareList.Rows)
        //{
        //    objTaskShare.IPrj_Ref_Id = this.IPrjRefID;
        //    objTaskShare.ITask_Ref_Id = this.ITaskRefID;
        //    objTaskShare.IEmp_Ref_Id = DataTypeUtility.GetToInt32(row.Cells.FromKey("EMP_REF_ID").Value);

        //    if (row.Cells.FromKey("ITYPE").Value.ToString() == "A")
        //    {
        //        intRtn += objTaskShare.InsertData(objTaskShare.IPrj_Ref_Id
        //              , objTaskShare.ITask_Ref_Id
        //              , objTaskShare.IEmp_Ref_Id
        //              , gUserInfo.Emp_Ref_ID);
        //    }
        //    else if (row.Cells.FromKey("ITYPE").Value.ToString() == "U")
        //    {
        //        intRtn += objTaskShare.UpdateData(objTaskShare.IPrj_Ref_Id
        //                           , objTaskShare.ITask_Ref_Id
        //                           , objTaskShare.IEmp_Ref_Id
        //                           , gUserInfo.Emp_Ref_ID);
        //    }
        //    else if (row.Cells.FromKey("ITYPE").Value.ToString() == "D")
        //    {
        //        intRtn += objTaskShare.DeleteData(objTaskShare.IPrj_Ref_Id
        //            , objTaskShare.ITask_Ref_Id
        //            , objTaskShare.IEmp_Ref_Id
        //            , gUserInfo.Emp_Ref_ID);
        //    }
        //}

        ugrdTaskOwnerList.Clear();
        //ugrdTaskShareList.Clear();

        ugrdTaskOwnerList.DataSource = objTaskOwner.GetAllList(this.IPrjRefID, 0, this.ITaskRefID);
        ugrdTaskOwnerList.DataBind();

        //ugrdTaskShareList.DataSource = objTaskShare.GetAllList(this.IPrjRefID, this.ITaskRefID, 0);
        //ugrdTaskShareList.DataBind();

        if (intRtn > 0)
        {
            ltrScript.Text = JSHelper.GetAlertScript("작업정보가 저장되었습니다.", true);
        }
    }