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.TestRun.BeforeTestRun
{
    public partial class InspectTemplateEdit : PageBase
    {
        /// 
        /// 工作包主键
        /// 
        public string WorkPackId
        {
            get { return (string)ViewState["WorkPackId"]; }
            set { ViewState["WorkPackId"] = value; }
        }
        /// 
        /// 主键
        /// 
        public string WorkInspectId
        {
            get { return (string)ViewState["WorkInspectId"]; }
            set { ViewState["WorkInspectId"] = value; }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.WorkInspectId = Request.Params["WorkInspectId"];
                this.WorkPackId = Request.Params["WorkPackId"];
                PageInit();
            }
        }
        /// 
        /// 默认绑定
        /// 
        public void PageInit()
        {
            if (!string.IsNullOrWhiteSpace(this.WorkInspectId))
            {
                var modelQuery = from temp in Funs.DB.PreRun_WorkInspectTemplate
                                 join workpack in Funs.DB.PreRun_WorkPackage on temp.WorkPackId equals workpack.WorkPackId
                                 where temp.WorkInspectId == this.WorkInspectId
                                 select new { temp.WorkInspectId, temp.WorkInspectName, temp.Sort, temp.Remark, temp.WorkPackId, workpack.WorkPackName };
                if (modelQuery.Count() > 0)
                {
                    var model = modelQuery.FirstOrDefault();
                    lblgzbmc.Text = model.WorkPackName;
                    //lblgzbbm.Text = model.WorkPackCode;
                    txtWorkInspectName.Text = model.WorkInspectName;
                    txtRemark.Text = model.Remark;
                    txtSort.Text = model.Sort != null ? model.Sort.ToString() : (Funs.DB.PreRun_WorkInspectTemplate.Count(x => x.WorkPackId == this.WorkPackId) + 1).ToString();
                }
            }
            else
            {
                var model = Funs.DB.PreRun_WorkPackage.FirstOrDefault(x => x.WorkPackId == this.WorkPackId);
                if (model != null)
                {
                    lblgzbmc.Text = model.WorkPackName;
                    //lblgzbbm.Text = model.WorkPackCode;
                    txtSort.Text = (Funs.DB.PreRun_WorkInspectTemplate.Count(x => x.WorkPackId == this.WorkPackId) + 1).ToString();
                }
            }
        }
        /// 
        /// 保存
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                var model = Funs.DB.PreRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == this.WorkInspectId);
                if (model == null) model = new Model.PreRun_WorkInspectTemplate();
                model.WorkInspectName = txtWorkInspectName.Text;
                model.Remark = txtRemark.Text;
                model.WorkPackId = this.WorkPackId;
                model.Sort = int.Parse(txtSort.Text);
                if (string.IsNullOrWhiteSpace(this.WorkInspectId))
                {
                    model.WorkInspectId = Guid.NewGuid().ToString();
                    model.AddUser = this.CurrUser.UserId;
                    model.AddTime = DateTime.Now;
                    Funs.DB.PreRun_WorkInspectTemplate.InsertOnSubmit(model);
                }
                Funs.DB.SubmitChanges();
                ShowNotify("保存成功!", MessageBoxIcon.Success);
                PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(this.WorkPackId) + ActiveWindow.GetHidePostBackReference());
            }
            catch (Exception ex)
            {
                ShowNotify(ex.Message, MessageBoxIcon.Error);
            }
        }
    }
}