using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.Solution
{
    public partial class EditWorkOrderFinal : PageBase
    {
        #region 定义变量
        /// 
        /// 方案审查主键
        /// 
        public string WorkOrderFinalId
        {
            get
            {
                return (string)ViewState["WorkOrderFinalId"];
            }
            set
            {
                ViewState["WorkOrderFinalId"] = value;
            }
        }
        public string State
        {
            get
            {
                return (string)ViewState["State"];
            }
            set
            {
                ViewState["State"] = value;
            }
        }
        public string showBtn
        {
            get
            {
                return (string)ViewState["showBtn"];
            }
            set
            {
                ViewState["showBtn"] = value;
            }
        }
        #endregion
        #region 定义集合
        /// 
        /// 定义会签意见集合
        /// 
        public static List approves = new List();
        #endregion
        public int ContactImg
        {
            get
            {
                return Convert.ToInt32(ViewState["ContactImg"]);
            }
            set
            {
                ViewState["ContactImg"] = value;
            }
        }
        public string lastCanRemoveApproveId
        {
            get
            {
                return (string)ViewState["lastCanRemoveApproveId"];
            }
            set
            {
                ViewState["lastCanRemoveApproveId"] = value;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            { 
                UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
               
                showBtn = "true";
                ContactImg = 0;
                //CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSConstructSolutionMenuId);
                txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
                WorkOrderFinalId = Request.Params["WorkOrderFinalId"];
                this.State = "1";
                if (this.CurrUser.UnitId != null && this.CurrUser.UnitId != Const.UnitId_TCC && this.CurrUser.UnitId != Const.hfnbdId)
                {
                    drpUnit.Enabled = false;
                }
                drpUnit.SelectedValue = this.CurrUser.UnitId;
                if (!string.IsNullOrWhiteSpace(WorkOrderFinalId))
                {
                    HFConstructSolutionId.Text = WorkOrderFinalId;
                    Model.CQMS_WorkOrder_Final constructSolution = WorkOrderFinalService.GetWorkOrderById(WorkOrderFinalId);
                     this.State = constructSolution.State;
                    if (!string.IsNullOrEmpty(constructSolution.UnitId))
                    {
                        drpUnit.SelectedValue = constructSolution.UnitId;
                    }
                
                    if (constructSolution.CompileDate != null)
                    {
                        txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", constructSolution.CompileDate);
                    }
                  
                    if (constructSolution.CompileMan == this.CurrUser.UserId)
                    {
                        showBtn = "true";
                    }
                    else
                    {
                        showBtn = "false";
                    }
                }
            }
        }
         
        
      
        #region 保存/提交
        protected void btnSave_Click(object sender, EventArgs e)
        {
            //validate(Const.BtnSave, "save");
            if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSWorkOrderFinalMenuId, Const.BtnSave))
            {
                SaveCQMSConstructSolution("save");
                PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
                //Alert.ShowInTop("保存成功!", MessageBoxIcon.Success);
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            validate(Const.BtnSubmit, "submit");
        }
        /// 
        /// 保存验证
        /// 
        /// 
        /// 
        public void validate(string buttonName, string tip)
        {
            if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CQMSWorkOrderFinalMenuId, buttonName))
            {
                string err = string.Empty;
 
                if (!AttachFileService.Getfile(HFConstructSolutionId.Text, Const.CQMSWorkOrderFinalMenuId))
                {
                    err += "请上传附件,";
                }
                
                //if (string.IsNullOrEmpty(hdFilePath.Value))
                //{
                //    err += "请上传附件,";
                //}
                
                
                if (!string.IsNullOrWhiteSpace(err))
                {
                    err = err.Substring(0, err.LastIndexOf(","));
                    err += "!";
                }
                if (!string.IsNullOrWhiteSpace(err))
                {
                    Alert.ShowInTop(err, MessageBoxIcon.Warning);
                    return;
                }
                
                
                PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
                if (tip == "save")
                {
                    tip = "保存成功!";
                }
                else
                {
                    tip = "提交成功!";
                }
                //Alert.ShowInTop(tip, MessageBoxIcon.Success);
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        /// 
        /// 编辑时候保存
        /// 
        private void EditConstructSol(string saveType)
        {
            Model.CQMS_WorkOrder_Final constructSolution = new Model.CQMS_WorkOrder_Final();
             constructSolution.ProjectId = CurrUser.LoginProjectId;
            if (drpUnit.SelectedValue != BLL.Const._Null)
            {
                constructSolution.UnitId = drpUnit.SelectedValue;
            }
            
             if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim()))
            {
                constructSolution.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim());
            }
             
            if (!string.IsNullOrEmpty(WorkOrderFinalId))
            {
                constructSolution.WorkOrderFinalId = WorkOrderFinalId;
                WorkOrderFinalService.UpdateWorkOrder(constructSolution);
                //判断状态,全部会签同意,则审批完成
                
                LogService.AddSys_Log(CurrUser, constructSolution.WorkOrderFinalId, WorkOrderFinalId, Const.CQMSWorkOrderFinalMenuId, "修改施工方案");
            }
        }
        #endregion
        #region 添加时候的保存
        /// 
        /// 保存方案审查
        /// 
        /// 保存类型
        private void SaveCQMSConstructSolution(string saveType)
        {
            
            Model.CQMS_WorkOrder_Final constructSolution = new Model.CQMS_WorkOrder_Final();
             constructSolution.ProjectId = CurrUser.LoginProjectId;
            if (drpUnit.SelectedValue !=  BLL.Const._Null)
            {
                constructSolution.UnitId = drpUnit.SelectedValue;
            }
            constructSolution.CompileMan = CurrUser.UserId;
            if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim()))
            {
                constructSolution.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim());
            }
           
            if (!string.IsNullOrEmpty(HFConstructSolutionId.Text))
            {
                constructSolution.WorkOrderFinalId = HFConstructSolutionId.Text;
            }
            else
            {
                constructSolution.WorkOrderFinalId = SQLHelper.GetNewID(typeof(Model.Solution_CQMSConstructSolution));
            }
           
            constructSolution.CompileMan = CurrUser.UserId;
            if (!string.IsNullOrEmpty(HFConstructSolutionId.Text))
            {
                WorkOrderFinalService.UpdateWorkOrder(constructSolution);
            }
            else
            {
                WorkOrderFinalService.UpdateWorkOrder(constructSolution);
            }
             
             
            LogService.AddSys_Log(CurrUser, constructSolution.WorkOrderFinalId, WorkOrderFinalId, Const.CQMSWorkOrderFinalMenuId, "编制方案审查");
        }
        #endregion
        protected void imgBtnFile_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(HFConstructSolutionId.Text))   //新增记录
            {
                HFConstructSolutionId.Text = SQLHelper.GetNewID(typeof(Model.Solution_CQMSConstructSolution));
            }
            if (showBtn == "true")
            {
                PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
           String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
           0, HFConstructSolutionId.Text, Const.CQMSConstructSolutionMenuId)));
            }
            else
            {
                PageContext.RegisterStartupScript(WindowAtt.GetShowReference(
        String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/Solution&menuId={2}",
        -1, HFConstructSolutionId.Text, Const.CQMSConstructSolutionMenuId)));
            }
        }
       
       
      
        
    }
}