using BLL;
using System;
using System.Linq;
using System.Web;
namespace FineUIPro.Web.HSSE.Solution
{
    public partial class LargerHazardEdit : PageBase
    {
        #region 定义变量
        /// 
        /// 主键
        /// 
        public string HazardId
        {
            get
            {
                return (string)ViewState["HazardId"];
            }
            set
            {
                ViewState["HazardId"] = value;
            }
        }
        /// 
        /// 项目主键
        /// 
        public string ProjectId
        {
            get
            {
                return (string)ViewState["ProjectId"];
            }
            set
            {
                ViewState["ProjectId"] = value;
            }
        }
        #endregion
        #region 加载页面
        /// 
        /// 加载页面
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.ProjectId = this.CurrUser.LoginProjectId;
                this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
                BLL.UnitWorkService.InitUnitWorkDownList(this.drpAddress, this.CurrUser.LoginProjectId, false);
                //类型             
                BLL.ConstValue.InitConstValueDropDownList(this.drpHazardType, ConstValue.Group_LargerHazardType, true);
                //是否需要专家论证              
                BLL.ConstValue.InitConstValueRadioButtonList(this.rblIsArgument, ConstValue.Group_0001, "False");
                //是否超危大工程              
                BLL.ConstValue.InitConstValueRadioButtonList(this.rblIsSuperLargerHazard, ConstValue.Group_0001, "False");
                this.HazardId = Request.Params["HazardId"];
                var largerHazard = BLL.LargerHazardService.GetLargerHazardByHazardId(this.HazardId);
                if (largerHazard != null)
                {
                    this.ProjectId = largerHazard.ProjectId;
                    // this.txtLargerHazardCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.HazardId);
                    this.txtLargerHazardCode.Text = largerHazard.HazardCode;
                    if (!string.IsNullOrEmpty(largerHazard.HazardType))
                    {
                        this.drpHazardType.SelectedValue = largerHazard.HazardType;
                    }
                    if (!string.IsNullOrEmpty(largerHazard.Address))
                    {
                        this.drpAddress.SelectedValue = largerHazard.Address;
                    }
                    // this.txtAddress.Text = largerHazard.Address;
                    if (largerHazard.ExpectedTime != null)
                    {
                        this.txtExpectedTime.Text = string.Format("{0:yyyy-MM-dd}", largerHazard.ExpectedTime);
                    }
                    if (largerHazard.RecordTime != null)
                    {
                        this.txtRecordTime.Text = string.Format("{0:yyyy-MM-dd}", largerHazard.RecordTime);
                    }
                    if (largerHazard.IsArgument == true)
                    {
                        this.rblIsArgument.SelectedValue = "True";
                    }
                    else
                    {
                        this.rblIsArgument.SelectedValue = "False";
                    }
                    if (largerHazard.IsSuperLargerHazard == true)
                    {
                        this.rblIsSuperLargerHazard.SelectedValue = "True";
                    }
                    else
                    {
                        this.rblIsSuperLargerHazard.SelectedValue = "False";
                    }
                    if (largerHazard.TrainPersonNum != null)
                    {
                        this.txtTrainPersonNum.Text = largerHazard.TrainPersonNum.ToString();
                    }
                    if (largerHazard.OperativesNum != null)
                    {
                        this.txtOperativesNum.Text = largerHazard.OperativesNum.ToString();
                    }
                    this.drpStates.SelectedValue = largerHazard.States;
                    this.txtRemark.Text = HttpUtility.HtmlDecode(largerHazard.Remark);
                    this.txtDescriptions.Text = largerHazard.Descriptions;
                    this.txtHazardName.Text = largerHazard.HazardName;
                }
                else
                {
                    ////自动生成编码
                    // this.txtLargerHazardCode.Text = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.ProjectLargerHazardListMenuId, this.ProjectId, this.CurrUser.UnitId);
                    this.txtExpectedTime.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
                    this.txtRemark.Text = HttpUtility.HtmlDecode("描述");
                    this.txtRecordTime.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
                }
            }
        }
        #endregion
        #region 保存按钮
        /// 
        /// 保存按钮
        /// 
        /// 
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (this.drpHazardType.SelectedValue == BLL.Const._Null)
            {
                ShowNotify("请选择类型!", MessageBoxIcon.Warning);
                return;
            }
            if (this.drpStates.SelectedValue != "1")
            {
                //判断附件是否必传
                if (!returnFj(this.HazardId + "_1"))
                {
                    Alert.ShowInTop("请上传附件1-专项方案", MessageBoxIcon.Warning);
                    return;
                }
                if (Convert.ToBoolean(this.rblIsArgument.SelectedValue) && Convert.ToBoolean(this.rblIsSuperLargerHazard.SelectedValue))
                {
                    if (!returnFj(this.HazardId + "_2"))
                    {
                        Alert.ShowInTop("请上传附件2-专家论证报告", MessageBoxIcon.Warning);
                        return;
                    }
                    if (!returnFj(this.HazardId + "_3"))
                    {
                        Alert.ShowInTop("请上传附件3-论证会签到表", MessageBoxIcon.Warning);
                        return;
                    }
                    if (!returnFj(this.HazardId + "_4"))
                    {
                        Alert.ShowInTop("请上传附件4-论证会会议照片", MessageBoxIcon.Warning);
                        return;
                    }
                }
                if (!returnFj(this.HazardId + "_5"))
                {
                    Alert.ShowInTop("请上传附件5-方案交底记录", MessageBoxIcon.Warning);
                    return;
                }
                if (!returnFj(this.HazardId + "_6"))
                {
                    Alert.ShowInTop("请上传附件6-方案交底会议照片", MessageBoxIcon.Warning);
                    return;
                }
            }
            this.SaveData(BLL.Const.BtnSave);
            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
        #endregion
        /// 
        /// 保存数据
        /// 
        /// 
        private void SaveData(string type)
        {
            Model.Solution_LargerHazard largerHazard = new Model.Solution_LargerHazard
            {
                HazardCode = this.txtLargerHazardCode.Text.Trim(),
                HazardType = this.drpHazardType.SelectedValue,
                // Address = this.txtAddress.Text.Trim(),
                Address = this.drpAddress.SelectedValue,
                ExpectedTime = Funs.GetNewDateTime(this.txtExpectedTime.Text.Trim()),
                IsArgument = Convert.ToBoolean(this.rblIsArgument.SelectedValue),
                IsSuperLargerHazard = Convert.ToBoolean(this.rblIsSuperLargerHazard.SelectedValue),
                TrainPersonNum = Funs.GetNewIntOrZero(this.txtTrainPersonNum.Text.Trim()),
                OperativesNum = Funs.GetNewIntOrZero(this.txtOperativesNum.Text.Trim()),
                Remark = HttpUtility.HtmlEncode(this.txtRemark.Text.Trim()),
                Descriptions = this.txtDescriptions.Text.Trim(),
                RecordTime = Funs.GetNewDateTime(this.txtRecordTime.Text.Trim()),
                ProjectId = this.ProjectId,
                States = this.drpStates.SelectedValue,
                HazardName = txtHazardName.Text.Trim()
            };
            if (!string.IsNullOrEmpty(this.HazardId))
            {
                largerHazard.HazardId = this.HazardId;
                BLL.LargerHazardService.UpdateLargerHazard(largerHazard);
                BLL.LogService.AddSys_Log(this.CurrUser, largerHazard.HazardCode, largerHazard.HazardId, BLL.Const.ProjectLargerHazardListMenuId, BLL.Const.BtnModify);
            }
            else
            {
                largerHazard.HazardId = SQLHelper.GetNewID(typeof(Model.Solution_LargerHazard));
                largerHazard.RecardMan = this.CurrUser.UserId;
                this.HazardId = largerHazard.HazardId;
                BLL.LargerHazardService.AddLargerHazard(largerHazard);
                BLL.LogService.AddSys_Log(this.CurrUser, largerHazard.HazardCode, largerHazard.HazardId, BLL.Const.ProjectLargerHazardListMenuId, BLL.Const.BtnAdd);
            }
            Project_HSSEData_HSSEService.StatisticalData(this.CurrUser.LoginProjectId, Project_HSSEData_HSSEService.HSSEDateType.ProjectInformation);
            Project_HSSEData_HSSEService.StatisticalData(this.CurrUser.LoginProjectId, Project_HSSEData_HSSEService.HSSEDateType.DangerousProject);
        }
        #region 附件上传
        /// 
        /// 上传附件
        /// 
        /// 
        /// 
        protected void btnAttachUrl_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.HazardId))
            {
                SaveNew();
            }
            //菜单id和质量危大保持一致
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
                "../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
                this.HazardId + "_1", BLL.Const.MajorPlanApprovalMenuId)));
        }
        protected void btnAttach_Click2(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.HazardId))
            {
                SaveNew();
            }
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
                "../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
                this.HazardId + "_2", BLL.Const.MajorPlanApprovalMenuId)));
        }
        protected void btnAttach_Click3(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.HazardId))
            {
                SaveNew();
            }
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
                "../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
                this.HazardId + "_3", BLL.Const.MajorPlanApprovalMenuId)));
        }
        protected void btnAttach_Click4(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.HazardId))
            {
                SaveNew();
            }
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
                "../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
                this.HazardId + "_4", BLL.Const.MajorPlanApprovalMenuId)));
        }
        protected void btnAttach_Click5(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.HazardId))
            {
                SaveNew();
            }
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
                "../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
                this.HazardId + "_5", BLL.Const.MajorPlanApprovalMenuId)));
        }
        protected void btnAttach_Click6(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.HazardId))
            {
                SaveNew();
            }
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format(
                "../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/MajorPlanApproval&menuId={1}",
                this.HazardId + "_6", BLL.Const.MajorPlanApprovalMenuId)));
        }
        private bool returnFj(string id)
        {
            bool isT = true;
            var model = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == id);
            if (model == null)
            {
                return false;
            }
            return isT;
        }
        #endregion
        private void SaveNew()
        {
            Model.Solution_LargerHazard largerHazard = new Model.Solution_LargerHazard
            {
                HazardCode = this.txtLargerHazardCode.Text.Trim(),
                HazardType = this.drpHazardType.SelectedValue,
                // Address = this.txtAddress.Text.Trim(),
                Address = this.drpAddress.SelectedValue,
                ExpectedTime = Funs.GetNewDateTime(this.txtExpectedTime.Text.Trim()),
                IsArgument = Convert.ToBoolean(this.rblIsArgument.SelectedValue),
                Remark = HttpUtility.HtmlEncode(this.txtRemark.Text.Trim()),
                ProjectId = this.ProjectId,
                States = this.drpStates.SelectedValue,
                HazardId = SQLHelper.GetNewID(typeof(Model.Solution_LargerHazard)),
                RecardMan = this.CurrUser.UserId,
                RecordTime = Funs.GetNewDateTime(this.txtRecordTime.Text.Trim())
            };
            this.HazardId = largerHazard.HazardId;
            BLL.LargerHazardService.AddLargerHazard(largerHazard);
            BLL.LogService.AddSys_Log(this.CurrUser, largerHazard.HazardCode, largerHazard.HazardId, BLL.Const.ProjectLargerHazardListMenuId, BLL.Const.BtnAdd);
        }
    }
}