using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.QualityPlanning
{
    public partial class ProjectQualityPlanEdit : PageBase
    {
        #region 定义变量
        /// 
        /// 主键
        /// 
        public string ProjectQualityPlanId
        {
            get
            {
                return (string)ViewState["ProjectQualityPlanId"];
            }
            set
            {
                ViewState["ProjectQualityPlanId"] = value;
            }
        }
        #endregion
        #region 加载
        /// 
        /// 加载页面
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GetButtonPower();
                BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true);
                this.ProjectQualityPlanId = Request.Params["id"];
                Model.QualityPlanning_ProjectQualityPlan projectQualityPlan = BLL.ProjectQualityPlanService.GetProjectQualityPlanById(this.ProjectQualityPlanId);
                if (projectQualityPlan != null)
                {
                    this.ProjectQualityPlanId = projectQualityPlan.ProjectQualityPlanId;
                    this.hdAttachUrl.Text = this.ProjectQualityPlanId;
                    this.txtFileCode.Text = projectQualityPlan.FileCode;
                    this.txtFileName.Text = projectQualityPlan.FileName;
                    if (!string.IsNullOrEmpty(projectQualityPlan.CompileMan))
                    {
                        this.drpCompileMan.SelectedValue = projectQualityPlan.CompileMan;
                    }
                    this.txtAuditor.Text = projectQualityPlan.Auditor;
                    this.txtApprover.Text = projectQualityPlan.Approver;
                    this.txtApprovalDate.Text = projectQualityPlan.ApprovalDate.HasValue ? string.Format("{0:yyyy-MM-dd}", projectQualityPlan.ApprovalDate) : "";
                }
                else
                {
                    this.drpCompileMan.SelectedValue = this.CurrUser.UserId;
                    this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
                    this.btnSave.Hidden = false;
                }
            }
        }
        #endregion
        #region 保存
        /// 
        /// 保存按钮
        /// 
        /// 
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {            
            Model.QualityPlanning_ProjectQualityPlan projectQualityPlan = new Model.QualityPlanning_ProjectQualityPlan();
            projectQualityPlan.ProjectId = this.CurrUser.LoginProjectId;
            projectQualityPlan.FileCode = this.txtFileCode.Text.Trim();
            projectQualityPlan.FileName = this.txtFileName.Text.Trim();
            if (this.drpCompileMan.SelectedValue != BLL.Const._Null)
            {
                projectQualityPlan.CompileMan = this.drpCompileMan.SelectedValue;
            }
            projectQualityPlan.CompileDate = DateTime.Now;
            projectQualityPlan.Auditor = this.txtAuditor.Text.Trim();
            projectQualityPlan.Approver = this.txtApprover.Text.Trim();
            projectQualityPlan.ApprovalDate = Funs.GetNewDateTime(this.txtApprovalDate.Text.Trim());
            if (string.IsNullOrEmpty(this.ProjectQualityPlanId))
            {
                if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
                {
                    projectQualityPlan.ProjectQualityPlanId = this.hdAttachUrl.Text;
                }
                else
                {
                    projectQualityPlan.ProjectQualityPlanId = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ProjectQualityPlan));
                    this.hdAttachUrl.Text = projectQualityPlan.ProjectQualityPlanId;
                }
                BLL.ProjectQualityPlanService.AddProjectQualityPlan(projectQualityPlan);
            }
            else
            {
                projectQualityPlan.ProjectQualityPlanId = this.ProjectQualityPlanId;
                BLL.ProjectQualityPlanService.UpdateProjectQualityPlan(projectQualityPlan);
            }
            ShowNotify("保存成功!", MessageBoxIcon.Success);
            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
        #endregion
        #region 附件上传
        /// 
        /// 附件上传
        /// 
        /// 
        /// 
        protected void btnAttach_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.hdAttachUrl.Text))   //新增记录
            {
                this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.QualityPlanning_ProjectQualityPlan));
            }
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/ProjectQualityPlan&menuId={1}", this.hdAttachUrl.Text, BLL.Const.ProjectQualityPlanMenuId)));
        }
        #endregion
        #region 获取按钮权限
        /// 
        /// 获取按钮权限
        /// 
        /// 
        /// 
        private void GetButtonPower()
        {
            if (Request.Params["value"] == "0")
            {
                return;
            }
            var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectQualityPlanMenuId);
            if (buttonList.Count > 0)
            {
                if (buttonList.Contains(BLL.Const.BtnSave))
                {
                    this.btnSave.Hidden = false;
                }
            }
        }
        #endregion
    }
}