using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 资料收发文登记记录审核表
    /// 
    public class DataReceivingDocApproveService
    {
        /// 
        /// 根据资料收发文登记记录Id获取审核列表
        /// 
        /// 
        /// 
        public static List GetApproveListByDocId(string docId)
        {
            return (from x in Funs.DB.Comprehensive_DataReceivingDocApprove where x.DataReceivingDocId == docId select x).ToList();
        }
        public static Model.Comprehensive_DataReceivingDocApprove GetCurrentApprove(string dataReceivingDocId)
        {
            var q = from x in Funs.DB.Comprehensive_DataReceivingDocApprove
                    where x.DataReceivingDocId == dataReceivingDocId && x.ApproveType != "S" && x.ApproveDate == null
                    select x;
            return q.FirstOrDefault();
        }
        public static void EditApprove(Model.Comprehensive_DataReceivingDocApprove approve)
        {
            var db = Funs.DB;
            Model.Comprehensive_DataReceivingDocApprove newApprove = new Model.Comprehensive_DataReceivingDocApprove();
            if (string.IsNullOrWhiteSpace(approve.DataReceivingDocApproveId))
            {  //新增
                newApprove.DataReceivingDocApproveId = SQLHelper.GetNewID(typeof(Model.Comprehensive_DataReceivingDocApprove));
                newApprove.DataReceivingDocId = approve.DataReceivingDocId;
                newApprove.ApproveMan = approve.ApproveMan;
                newApprove.ApproveDate = approve.ApproveDate;
                newApprove.ApproveIdea = approve.ApproveIdea;
                newApprove.IsAgree = approve.IsAgree;
                newApprove.ApproveType = approve.ApproveType;
                //newApprove.Edition = approve.Edition;
                db.Comprehensive_DataReceivingDocApprove.InsertOnSubmit(newApprove);
                db.SubmitChanges();
            }
            else
            {   //修改
                Model.Comprehensive_DataReceivingDocApprove editApprove = db.Comprehensive_DataReceivingDocApprove.FirstOrDefault(e => e.DataReceivingDocApproveId == approve.DataReceivingDocApproveId);
                if (editApprove != null)
                {
                    editApprove.DataReceivingDocId = approve.DataReceivingDocId;
                    editApprove.ApproveMan = approve.ApproveMan;
                    editApprove.ApproveDate = approve.ApproveDate;
                    editApprove.ApproveIdea = approve.ApproveIdea;
                    editApprove.IsAgree = approve.IsAgree;
                    editApprove.ApproveType = approve.ApproveType;
                    //editApprove.Edition = approve.Edition;
                    db.SubmitChanges();
                }
            }
        }
        /// 
        /// 根据收发文Id删除审核信息
        /// 
        /// 
        public static void DeleteApproveByDocId(string docId)
        {
            var q = (from x in Funs.DB.Comprehensive_DataReceivingDocApprove where x.DataReceivingDocId == docId select x).ToList();
            if (q != null)
            {
                Funs.DB.Comprehensive_DataReceivingDocApprove.DeleteAllOnSubmit(q);
                Funs.DB.SubmitChanges();
            }
        }
    }
}