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.Feeding
{
    public partial class InspectWanderAboutAllPass : PageBase
    {
        /// 
        /// 检查表主键
        /// 
        public string SubInspectId
        {
            get { return (string)ViewState["SubInspectId"]; }
            set { ViewState["SubInspectId"] = value; }
        }
        /// 
        /// 统一处理附件
        /// 
        public int UnifyImg
        {
            get { return (int)ViewState["UnifyImg"]; }
            set { ViewState["UnifyImg"] = value; }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.UnifyImg = 0;
                this.SubInspectId = Request["SubInspectId"];
                PageInit();
            }
        }
        /// 
        /// 绑定数据
        /// 
        public void PageInit()
        {
            var data = from term in Funs.DB.FeedingRun_SubInspectTerm
                       join pro in Funs.DB.Base_Project on term.ProjectId equals pro.ProjectId
                       join ua in Funs.DB.Sys_User on term.DriverCharge equals ua.UserId
                       join ub in Funs.DB.Sys_User on term.DrivingManager equals ub.UserId
                       join uc in Funs.DB.Sys_User on term.ProjectManager equals uc.UserId
                       where term.SubInspectId == this.SubInspectId
                       select new
                       {
                           term.SubInspectId,
                           term.ProjectId,
                           pro.ProjectName,
                           pro.ProjectCode,
                           term.AddUser,
                           term.AddTime,
                           DriverChargeName = ua.UserName,
                           DrivingManagerName = ub.UserName,
                           ProjectManagerName = uc.UserName,
                           term.IsUnifyWanderAbout,
                           term.UnifyWanderAboutData,
                           term.UnifyWanderAboutOpinion
                       };
            if (data.Count() > 0)
            {
                var model = data.FirstOrDefault();
                //项目名称
                lblProjectName.Text = model.ProjectName;
                //项目号
                lblProjectCode.Text = model.ProjectCode;
                //装置开车负责人
                lblDriverChargeName.Text = model.DriverChargeName;
                //开车经理
                lblDrivingManagerName.Text = model.DrivingManagerName;
                //项目经理
                lblProjectManagerName.Text = model.ProjectManagerName;
                //是否统一流转
                rblIsUnifyWanderAbout.SelectedValue = model.IsUnifyWanderAbout != null ? model.IsUnifyWanderAbout.ToString() : "1";
                //审核意见
                txtUnifyWanderAboutOpinion.Text = model.UnifyWanderAboutOpinion;
            }
        }
        /// 
        /// 确认
        /// 
        protected void btnConfirm_Click(object sender, EventArgs e)
        {
            try
            {
                if (Funs.DB.AttachFile.Count(x => x.ToKeyId == this.SubInspectId + "_unify" && x.AttachUrl != null && x.AttachUrl != "") == 0)
                {
                    ShowNotify("请上传附件!", MessageBoxIcon.Warning);
                    return;
                }
                var term = Funs.DB.FeedingRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == this.SubInspectId);
                if (term != null)
                {
                    var isPass = int.Parse(rblIsUnifyWanderAbout.SelectedValue);
                    term.IsUnifyWanderAbout = isPass;
                    term.UnifyWanderAboutData = DateTime.Now;
                    term.UnifyWanderAboutOpinion = txtUnifyWanderAboutOpinion.Text;
                    term.DriverChargeIsAllPass = isPass;
                    term.DrivingManagerIsAllPass = isPass;
                    term.ProjectManagerIsAllPass = isPass;
                    term.WanderIsComplete = isPass;
                    term.InspectIsClose = isPass;
                    if (isPass == 1)
                    {
                        term.DriverChargeAllPassData = DateTime.Now;
                        term.DrivingManagerAllPassData = DateTime.Now;
                        term.ProjectManagerAllPassData = DateTime.Now;
                        term.WanderCompleteData = DateTime.Now;
                        term.InspectCloseData = DateTime.Now;
                    }
                    else
                    {
                        term.DriverChargeAllPassData = null;
                        term.DrivingManagerAllPassData = null;
                        term.ProjectManagerAllPassData = null;
                        term.WanderCompleteData = null;
                        term.InspectCloseData = null;
                    }
                    var termIetms = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).ToList();
                    if (termIetms.Count > 0)
                    {
                        foreach (var item in termIetms)
                        {
                            item.DriverChargeIsPass = isPass;
                            item.DrivingManagerIsPass = isPass;
                            item.ProjectManagerIsPass = isPass;
                            Funs.DB.SubmitChanges();
                        }
                    }
                    ShowNotify("确认成功!", MessageBoxIcon.Success);
                }
            }
            catch (Exception ex)
            {
                ShowNotify(ex.Message, MessageBoxIcon.Error);
            }
        }
        /// 
        /// 附件上传
        /// 
        protected void btnAttach_Click(object sender, EventArgs e)
        {
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", UnifyImg, this.SubInspectId + "_unify", Const.TestRunMenuId)));
        }
    }
}