using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.PZHGL.GJSX
{
    public partial class GJSXDetailEdit : PageBase
    {
        #region 定义项
        /// 
        /// 事项Id
        /// 
        private string GJSXID
        {
            get
            {
                return (string)ViewState["GJSXID"];
            }
            set
            {
                ViewState["GJSXID"] = value;
            }
        }
        /// 
        /// 事项进展Id
        /// 
        private string GJSXDetailId
        {
            get
            {
                return (string)ViewState["GJSXDetailId"];
            }
            set
            {
                ViewState["GJSXDetailId"] = value;
            }
        }
        /// 
        /// 项目主键
        /// 
        public string ProjectId
        {
            get
            {
                return (string)ViewState["ProjectId"];
            }
            set
            {
                ViewState["ProjectId"] = value;
            }
        }
        #endregion
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.GJSXID = Request.Params["GJSXID"];
                this.ProjectId = this.CurrUser.LoginProjectId;
            }
        }
        #region 附件上传
        /// 
        /// 上传附件
        /// 
        /// 
        /// 
        protected void btnAttachUrl_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(this.txtProgress_detail.Text.Trim()))
            {
                Alert.ShowInParent("请输入进展情况!", MessageBoxIcon.Warning);
                return;
            }
            SaveData();
            PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/Gjsx&menuId={1}",
                this.GJSXDetailId, BLL.Const.GJSXMenuId)));
        }
        #endregion
        /// 
        /// 保存
        /// 
        /// 
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {
            SaveData();
            ShowNotify("保存成功", MessageBoxIcon.Success);
            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
        /// 
        /// 保存事项进展数据
        /// 
        protected void SaveData()
        {
            var progressStatus = this.ddlProgressStatus.SelectedValue;
            var progress_detail = this.txtProgress_detail.Text.Trim();
            Model.SGGLDB db = Funs.DB;
            var model = new Model.GJSX_detail
            {
                GJSXID = this.GJSXID,
                //Cuid = this.GJSXDetailId,
                Progress_detail = progress_detail,
                ProgressStatus = progressStatus,
                Progress_user = this.CurrUser.UserId,
                Date = DateTime.Now,
                //Sort = sortIndex
            };
            if (!string.IsNullOrEmpty(this.GJSXDetailId))
            {
                model.Cuid = this.GJSXDetailId;
            }
            else
            {
                this.GJSXDetailId = SQLHelper.GetNewID(typeof(Model.GJSX_detail));
                //var lastGJSX = db.GJSX_detail.Where(p => p.GJSXID == this.GJSXID).OrderByDescending(x => x.Sort).FirstOrDefault();
                //int sortIndex = lastGJSX != null ? (int)lastGJSX.Sort + 1 : 0;
                //model.Sort = sortIndex;
                model.Cuid = this.GJSXDetailId;
                db.GJSX_detail.InsertOnSubmit(model);
            }
            var gjsx = db.GJSX.Where(p => p.GJSXID == this.GJSXID).FirstOrDefault();
            if (progressStatus == "申请关闭")
            {//申请关闭
                gjsx.State = "3";
                gjsx.ProgressStatus = "1";
            }
            else if (progressStatus == "持续跟踪")
            {//持续跟踪
                gjsx.ProgressStatus = "0";
            }
            db.SubmitChanges();
            if (progressStatus == "申请关闭")
            {
                //申请关闭邮件提醒:提出人和跟踪人
                GJSXMonitorService.GJSXApplyCloseNoticeSendEmail(this.GJSXID, progress_detail);
            }
            //ShowNotify("保存成功", MessageBoxIcon.Success);
            //PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
    }
}