using BLL;
using System;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Technique
{
    public partial class SafetyResponsibilitiesEdit : PageBase
    {
        #region 定义变量
        /// 
        /// 防护标准ID
        /// 
        public string SafetyResponsibilitiesId
        {
            get
            {
                return (string)ViewState["SafetyResponsibilitiesId"];
            }
            set
            {
                ViewState["SafetyResponsibilitiesId"] = value;
            }
        }
        #endregion
        #region 加载页面
        /// 
        /// 加载页面
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ////权限按钮方法
                this.GetButtonPower();
                btnClose.OnClientClick = ActiveWindow.GetHideReference();
                //人员              
                UserService.InitUserDropDownList(this.ddlCompileMan, string.Empty, true);
                //加载默认整理人、整理日期
                this.ddlCompileMan.SelectedValue = this.CurrUser.UserId;
                this.dpkCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
                this.SafetyResponsibilitiesId = Request.Params["SafetyResponsibilitiesId"];
                if (!string.IsNullOrEmpty(this.SafetyResponsibilitiesId))
                {
                    var SafetyResponsibilities = BLL.SafetyResponsibilitiesService.GetSafetyResponsibilitiesListById(this.SafetyResponsibilitiesId);
                    if (SafetyResponsibilities != null)
                    {
                        this.txtSafetyResponsibilitiesCode.Text = SafetyResponsibilities.SafetyResponsibilitiesCode;
                        this.txtSafetyResponsibilitiesName.Text = SafetyResponsibilities.SafetyResponsibilitiesName;
                        this.txtRemark.Text = SafetyResponsibilities.Remark;
                        this.dpkCompileDate.Text = string.Format("{0:yyyy-MM-dd}", SafetyResponsibilities.CompileDate);
                        
                        if (!string.IsNullOrEmpty(SafetyResponsibilities.CompileMan))
                        {
                            this.ddlCompileMan.SelectedItem.Text = SafetyResponsibilities.CompileMan;
                        }
                    }
                }
            }
        }
        #endregion
        #region 保存
        /// 
        /// 保存按钮
        /// 
        /// 
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {
            SaveData();
            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
        
        /// 
        /// 保存数据
        /// 
        private void SaveData()
        {
            Model.Technique_SafetyResponsibilities SafetyResponsibilities = new Model.Technique_SafetyResponsibilities();           
            if (!string.IsNullOrEmpty(this.txtSafetyResponsibilitiesCode.Text.Trim()))
            {
                SafetyResponsibilities.SafetyResponsibilitiesCode = this.txtSafetyResponsibilitiesCode.Text.Trim();
            }
            else
            {
                ShowNotify("请输入编号", MessageBoxIcon.Warning);
                return;
            }
            if (!string.IsNullOrEmpty(this.txtSafetyResponsibilitiesName.Text.Trim()))
            {
                SafetyResponsibilities.SafetyResponsibilitiesName = this.txtSafetyResponsibilitiesName.Text.Trim();
            }
            else
            {
                ShowNotify("请输入名称", MessageBoxIcon.Warning);
                return;
            }
            
            if (this.ddlCompileMan.SelectedValue != null)
            {
                SafetyResponsibilities.CompileMan = this.ddlCompileMan.SelectedItem.Text;
            }
            else
            {
                SafetyResponsibilities.CompileMan = this.CurrUser.UserName;
            }
            if (!string.IsNullOrEmpty(this.dpkCompileDate.Text))
            {
                SafetyResponsibilities.CompileDate = Convert.ToDateTime(this.dpkCompileDate.Text);
            }
            else
            {
                SafetyResponsibilities.CompileDate = DateTime.Now;
            }
            if (txtRemark.Text.Trim() != string.Empty)
            {
                SafetyResponsibilities.Remark = txtRemark.Text.Trim();
            }
            if (string.IsNullOrEmpty(this.SafetyResponsibilitiesId))
            {
                SafetyResponsibilities.IsPass = true;
                this.SafetyResponsibilitiesId = SafetyResponsibilities.SafetyResponsibilitiesId = SQLHelper.GetNewID(typeof(Model.Technique_SafetyResponsibilities));
                BLL.SafetyResponsibilitiesService.AddSafetyResponsibilitiesList(SafetyResponsibilities);
                BLL.LogService.AddSys_Log(this.CurrUser, SafetyResponsibilities.SafetyResponsibilitiesCode, SafetyResponsibilities.SafetyResponsibilitiesId, BLL.Const.SafetyResponsibilitiesMenuId, Const.BtnAdd);
            }
            else
            {
                SafetyResponsibilities.SafetyResponsibilitiesId = this.SafetyResponsibilitiesId;
                BLL.SafetyResponsibilitiesService.UpdateSafetyResponsibilitiesList(SafetyResponsibilities);
                BLL.LogService.AddSys_Log(this.CurrUser, SafetyResponsibilities.SafetyResponsibilitiesCode, SafetyResponsibilities.SafetyResponsibilitiesId, BLL.Const.SafetyResponsibilitiesMenuId, Const.BtnModify);                
            }
        }
        #endregion
        
        #region 附件上传
        /// 
        /// 上传附件资源
        /// 
        /// 
        /// 
        protected void btnUploadResources_Click(object sender, EventArgs e)
        {
            if (this.btnSave.Hidden)
            {
                PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/SafetyResponsibilities&type=-1", this.SafetyResponsibilitiesId)));
            }
            else
            {
                if (string.IsNullOrEmpty(this.txtSafetyResponsibilitiesCode.Text.Trim()))
                {
                    ShowNotify("请输入方案编号", MessageBoxIcon.Warning);
                    return;
                }
                if (string.IsNullOrEmpty(this.txtSafetyResponsibilitiesName.Text.Trim()))
                {
                    ShowNotify("请输入方案名称", MessageBoxIcon.Warning);
                    return;
                }
                
                if (string.IsNullOrEmpty(this.SafetyResponsibilitiesId))
                {
                    SaveData();
                }
                PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/SafetyResponsibilities&menuId={1}", this.SafetyResponsibilitiesId, BLL.Const.SafetyResponsibilitiesMenuId)));
            }
        }
        #endregion
        #region 验证方案编号、名称是否存在
        /// 
        /// 验证方案编号、名称是否存在
        /// 
        /// 
        /// 
        protected void TextBox_TextChanged(object sender, EventArgs e)
        {
            var q = Funs.DB.Technique_SafetyResponsibilities.FirstOrDefault(x => x.IsPass == true && x.SafetyResponsibilitiesCode == this.txtSafetyResponsibilitiesCode.Text.Trim() && (x.SafetyResponsibilitiesId != this.SafetyResponsibilitiesId || (this.SafetyResponsibilitiesId == null && x.SafetyResponsibilitiesId != null)));
            if (q != null)
            {
                ShowNotify("输入的方案编号已存在!", MessageBoxIcon.Warning);
            }
            var q2 = Funs.DB.Technique_SafetyResponsibilities.FirstOrDefault(x => x.IsPass == true && x.SafetyResponsibilitiesName == this.txtSafetyResponsibilitiesName.Text.Trim() && (x.SafetyResponsibilitiesId != this.SafetyResponsibilitiesId || (this.SafetyResponsibilitiesId == null && x.SafetyResponsibilitiesId != null)));
            if (q2 != null)
            {
                ShowNotify("输入的方案名称已存在!", MessageBoxIcon.Warning);
            }
        }
        #endregion
        #region 获取按钮权限
        /// 
        /// 获取按钮权限
        /// 
        /// 
        /// 
        private void GetButtonPower()
        {
            if (Request.Params["value"] == "0")
            {
                return;
            }
            var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SafetyResponsibilitiesMenuId);
            if (buttonList.Count() > 0)
            {
                if (buttonList.Contains(BLL.Const.BtnSave))
                {
                    this.btnSave.Hidden = false;
                }
            }
        }
        #endregion
    }
}