using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
    /// 
    /// 检测单
    /// 
    public static class Batch_NDEService
    {
        /// 
        /// 根据主键获取检测单
        /// 
        /// 
        /// 
        public static Model.HJGL_Batch_NDE GetNDEById(string NDEID)
        {
            return Funs.DB.HJGL_Batch_NDE.FirstOrDefault(e => e.NDEID == NDEID);
        }
        /// 
        /// 根据主键获取检测单视图
        /// 
        /// 
        /// 
        public static Model.View_Batch_NDE GetNDEViewById(string NDEID)
        {
            return Funs.DB.View_Batch_NDE.FirstOrDefault(e => e.NDEID == NDEID);
        }
        /// 
        /// 添加检测单
        /// 
        /// 
        public static void AddNDE(Model.HJGL_Batch_NDE NDE)
        {
            Model.SGGLDB db = Funs.DB;
            Model.HJGL_Batch_NDE newNDE = new Model.HJGL_Batch_NDE();
            newNDE.NDEID = NDE.NDEID;
            newNDE.TrustBatchId = NDE.TrustBatchId;
            newNDE.ProjectId = NDE.ProjectId;
            newNDE.UnitId = NDE.UnitId;
            newNDE.UnitWorkId = NDE.UnitWorkId;
            newNDE.NDEUnit = NDE.NDEUnit;
            newNDE.NDECode = NDE.NDECode;
            newNDE.NDEDate = NDE.NDEDate;
            newNDE.NDEMan = NDE.NDEMan;
            newNDE.AuditDate = NDE.AuditDate;
            newNDE.Remark = NDE.Remark;
            db.HJGL_Batch_NDE.InsertOnSubmit(newNDE);
            db.SubmitChanges();
        }
        /// 
        /// 修改检测单
        /// 
        /// 
        public static void UpdateNDE(Model.HJGL_Batch_NDE NDE)
        {
            Model.SGGLDB db = Funs.DB;
            Model.HJGL_Batch_NDE newNDE = db.HJGL_Batch_NDE.FirstOrDefault(e => e.NDEID == NDE.NDEID);
            if (newNDE != null)
            {
                newNDE.TrustBatchId = NDE.TrustBatchId;
                newNDE.ProjectId = NDE.ProjectId;
                newNDE.UnitId = NDE.UnitId;
                newNDE.NDEUnit = NDE.NDEUnit;
                newNDE.UnitWorkId = NDE.UnitWorkId;
                newNDE.NDECode = NDE.NDECode;
                newNDE.NDEDate = NDE.NDEDate;
                newNDE.NDEMan = NDE.NDEMan;
                newNDE.AuditDate = NDE.AuditDate;
                newNDE.Remark = NDE.Remark;
                db.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除检测单
        /// 
        /// 
        public static void DeleteNDEById(string NDEID)
        {
            Model.SGGLDB db = Funs.DB;
            Model.HJGL_Batch_NDE NDE = db.HJGL_Batch_NDE.FirstOrDefault(e => e.NDEID == NDEID);
            if (NDE != null)
            {
                db.HJGL_Batch_NDE.DeleteOnSubmit(NDE);
                db.SubmitChanges();
            }
        }
        /// 
        /// 检测单委托单编号是否存在
        /// 
        /// 
        /// 
        /// 
        public static bool IsExistNDECode(string NDECode, string NDEID, string projectId)
        {
            var q = Funs.DB.HJGL_Batch_NDE.FirstOrDefault(x => x.NDECode == NDECode && x.ProjectId == projectId && x.NDEID != NDEID);
            if (q != null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}