using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Progress
{
    public partial class WbsManager : PageBase
    {
        #region 页面加载
        /// 
        /// 页面加载
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GetButtonPower();
                InitTreeMenu();
            }
        }
        private void InitTreeMenu() { 
            
        }
        #endregion
        #region 树节点展开
        /// 
        /// 树节点展开
        /// 
        /// 
        /// 
        protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e) { 
            
        }
        #endregion
        #region   Tree点击事件
        /// 
        /// Tree点击事件
        /// 
        /// 
        /// 
        protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
        {
            
        }
        #endregion
        #region  关闭窗口
        /// 
        /// 关闭窗口
        /// 
        /// 
        /// 
        protected void Window1_Close(object sender, WindowCloseEventArgs e)
        {
            ShowNotify("保存成功!", MessageBoxIcon.Success);
          
            //getWBSSet();
        }
        /// 
        /// 关闭窗口
        /// 
        /// 
        /// 
        protected void Window2_Close(object sender, WindowCloseEventArgs e)
        {
            ShowNotify("拷贝成功!", MessageBoxIcon.Success);
           
        }
        /// 
        /// 关闭窗口
        /// 
        /// 
        /// 
        protected void Window3_Close(object sender, WindowCloseEventArgs e)
        {
            ShowNotify("保存成功!", MessageBoxIcon.Success);
           
        }
        #endregion
        #region 保存事件
        /// 
        /// 保存
        /// 
        /// 
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (Grid1.Rows.Count > 0)
            {
                JArray mergedData = Grid1.GetMergedData();
                bool isPass = true;
                if (isPass)
                {
                    foreach (var item in this.Grid1.SelectedRowIDArray)
                    {
                        Model.WBS_CostControl costControl = BLL.CostControlService.GetCostControlByCostControlId(item);
                    }
                    foreach (JObject mergedRow in mergedData)
                    {
                        JObject values = mergedRow.Value("values");
                        string costControlId = values.Value("CostControlId");
                        //string totalNum = values.Value("TotalNum");
                        //string realPrice = values.Value("RealPrice");
                        //string planPrice = values.Value("PlanPrice");
                        Model.WBS_CostControl costControl = BLL.CostControlService.GetCostControlByCostControlId(costControlId);
                        if (this.Grid1.SelectedRowIDArray.Contains(costControlId))
                        {
                            costControl.IsSelected = true;
                        }
                        else
                        {
                            costControl.IsSelected = false;
                        }
                        BLL.CostControlService.UpdateCostControl(costControl);
                    }
                }
                BindGrid();
            }
            Alert.ShowInTop("保存成功!", MessageBoxIcon.Success);
        }
        #endregion
        #region 绑定数据
        private string upStartDate = string.Empty;
        private string upEndDate = string.Empty;
        protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
        {
            string id = e.RowID;
        }
        /// 
        /// 绑定数据
        /// 
        /// 
        /// 
        protected void Grid1_FilterChange(object sender, EventArgs e)
        {
            BindGrid();
        }
        protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
        {
            Grid1.PageIndex = e.NewPageIndex;
            BindGrid();
        }
        /// 
        /// Grid1排序
        /// 
        /// 
        /// 
        protected void Grid1_Sort(object sender, GridSortEventArgs e)
        {
            Grid1.SortDirection = e.SortDirection;
            Grid1.SortField = e.SortField;
            BindGrid();
        }
        /// 
        /// 分页下拉选择事件
        /// 
        /// 
        /// 
        protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
        {
            Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
            BindGrid();
        }
        /// 
        /// 加载Grid
        /// 
        private void BindGrid()
        {
            
        }
        #endregion
        #region 获取按钮权限
        /// 
        /// 获取按钮权限
        /// 
        /// 
        /// 
        private void GetButtonPower()
        {
            if (Request.Params["value"] == "0")
            {
                return;
            }
            var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WBSSetAuditMenuId);
            if (buttonList.Count() > 0)
            {
                if (buttonList.Contains(BLL.Const.BtnAdd))
                {
                    
                    this.btnAdd.Hidden = false;
                    //this.btnMenuDetail.Hidden = false;
                    //this.btnMenuWeekDetail.Hidden = false;
                    //this.btnMenuCopy2.Hidden = false;
                }
                if (buttonList.Contains(BLL.Const.BtnModify))
                {
                    this.btnMenuModify.Hidden = false;
                }
                if (buttonList.Contains(BLL.Const.BtnSave))
                {
                    this.btnSave.Hidden = false;
                }
                if (buttonList.Contains(BLL.Const.BtnDelete))
                {
                    this.btnMenuDel.Hidden = false;
                }
                //if (buttonList.Contains(BLL.Const.BtnAuditing))
                //{
                //    this.btnMenuAudit.Hidden = false;
                //}
            }
        }
        #endregion
        #region 增加费用项
        /// 
        /// 增加费控项
        /// 
        /// 
        /// 
        protected void btnAdd_Click(object sender, EventArgs e) {
            if (!string.IsNullOrEmpty(trWBS.SelectedNodeID))
            {
                this.hdSelectId.Text = this.trWBS.SelectedNodeID;
                Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(this.trWBS.SelectedNodeID);
                if (wbsSet != null)
                {
                    var list = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(this.trWBS.SelectedNodeID);
                    if (list.Count == 0)
                    {
                        string openUrl = String.Format("CostControlEdit.aspx?operating=add&Id={0}", trWBS.SelectedNodeID, "增加 - ");
                        PageContext.RegisterStartupScript(Window3.GetShowReference(openUrl));
                    }
                    else
                    {
                        ShowNotify("请选择工作项节点进行增加!", MessageBoxIcon.Warning);
                    }
                }
                else
                {
                    ShowNotify("请选择工作项节点进行增加!", MessageBoxIcon.Warning);
                }
            }
            else
            {
                ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
            }
        }
        #endregion
    }
}