using BLL;
using Model;
using System;
using System.Linq;
namespace FineUIPro.Web.HJGL.BaseInfo
{
    public partial class ManufacturerEdit : PageBase
    {
        #region 定义项
        /// 
        /// 主键
        /// 
        public string ManufacturerID
        {
            get
            {
                return (string)ViewState["ManufacturerID"];
            }
            set
            {
                ViewState["ManufacturerID"] = value;
            }
        }
        #endregion
        #region 加载
        /// 
        /// 加载页面
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                btnClose.OnClientClick = ActiveWindow.GetHideReference();
                this.ManufacturerID = Request.Params["ManufacturerID"];
                if (!string.IsNullOrEmpty(this.ManufacturerID))
                {
                    Model.HJGL_EManufacturer Material = Funs.DB.HJGL_EManufacturer.Where(x => x.ManufacturerID == this.ManufacturerID).FirstOrDefault();
                    if (Material != null)
                    {
                        this.txtMaterialCode.Text = Material.ManufacturerCode;
                        this.txtMaterialName.Text = Material.ManufacturerName;
                        //this.txtMaterialClass.Text = Material.MaterialClass;
                        //this.txtMaterialGroup.Text = Material.MaterialGroup;
                        this.txtRemark.Text = Material.Memo;
                        //this.txtMetalType.Text = Material.MetalType;
                    }
                }
            }
        }
        #endregion
         
        #region 保存
        /// 
        /// 保存按钮
        /// 
        /// 
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {
            var q = Funs.DB.HJGL_EManufacturer.FirstOrDefault(x => x.ManufacturerCode == this.txtMaterialCode.Text.Trim() && (x.ManufacturerID != this.ManufacturerID || (this.ManufacturerID == null && x.ManufacturerID != null)));
            if (q != null)
            {
                Alert.ShowInTop("此单位编码已经存在!", MessageBoxIcon.Warning);
                return;
            }
            var q2 = Funs.DB.HJGL_EManufacturer.FirstOrDefault(x => x.ManufacturerName == this.txtMaterialName.Text.Trim() && (x.ManufacturerID != this.ManufacturerID || (this.ManufacturerID == null && x.ManufacturerID != null)));
            if (q2 != null)
            {
                Alert.ShowInTop("此单位名称已经存在!", MessageBoxIcon.Warning);
                return;
            }
            //if (this.drpSteelType.SelectedValue == BLL.Const._Null)
            //{
            //    Alert.ShowInTop("请选择材质类型!", MessageBoxIcon.Warning);
            //    return;
            //}
            Model.HJGL_EManufacturer newMaterial = new Model.HJGL_EManufacturer
            {
                ManufacturerCode = this.txtMaterialCode.Text.Trim(),
                ManufacturerName = this.txtMaterialName.Text.Trim(),
                ProjectId = this.CurrUser.LoginProjectId,
                //MaterialClass = this.txtMaterialClass.Text.Trim(),
                //MaterialGroup = this.txtMaterialGroup.Text.Trim(),
                Memo = this.txtRemark.Text.Trim(),
                //MetalType=this.txtMetalType.Text.Trim()
            };
            if (!string.IsNullOrEmpty(this.ManufacturerID))
            {
                newMaterial.ManufacturerID = this.ManufacturerID;
                var old = Funs.DB.HJGL_EManufacturer.FirstOrDefault(x => x.ManufacturerID == this.ManufacturerID);
                old.ManufacturerCode = this.txtMaterialCode.Text.Trim();
                old.ManufacturerName = this.txtMaterialName.Text.Trim();
                old.Memo = this.txtRemark.Text.Trim();
                Funs.DB.SubmitChanges();
                //BLL.Sys_LogService.AddLog(Const.System_6, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_MaterialMenuId, Const.BtnModify, this.MaterialId);
            }
            else
            {
                this.ManufacturerID = SQLHelper.GetNewID(typeof(Model.Base_Material));
                newMaterial.ManufacturerID = this.ManufacturerID;
                Funs.DB.HJGL_EManufacturer.InsertOnSubmit(newMaterial);
                Funs.DB.SubmitChanges();
                //BLL.Sys_LogService.AddLog(Const.System_6, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_MaterialMenuId, Const.BtnAdd, this.MaterialId);
            }
            ShowNotify("保存成功!", MessageBoxIcon.Success);
            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
        #endregion
    }
}