using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BLL
{
    /// <summary>
    /// 控制点检查检测
    /// </summary>
   public static class ControlPointCheckService
    {
        /// <summary>
        /// 根据控制点检查信息
        /// </summary>
        /// <param name="inspectionId"></param>
        /// <returns></returns>
        public static Model.CQMS_Foreign_ControlPointCheck GetControlPointCheckById(string controlPointCheckId)
        {
            return Funs.DB.CQMS_Foreign_ControlPointCheck.FirstOrDefault(e => e.ControlPointCheckId == controlPointCheckId);
        }

        /// <summary>
        /// 添加控制点检查信息
        /// </summary>
        /// <param name="controlPointCheck"></param>
        public static void AddControlPointCheck(Model.CQMS_Foreign_ControlPointCheck controlPointCheck)
        {
            Model.CQMS_Foreign_ControlPointCheck newControlPointCheck = new Model.CQMS_Foreign_ControlPointCheck();
            newControlPointCheck.ControlPointCheckId = controlPointCheck.ControlPointCheckId;
            newControlPointCheck.ProjectId = controlPointCheck.ProjectId;
            newControlPointCheck.UnitId = controlPointCheck.UnitId;
            newControlPointCheck.CNProfessionalId = controlPointCheck.CNProfessionalId;
            newControlPointCheck.InspectionCode = controlPointCheck.InspectionCode;
            newControlPointCheck.UnitWorkId = controlPointCheck.UnitWorkId;
            newControlPointCheck.Branch = controlPointCheck.Branch;
            newControlPointCheck.ControlPointType = controlPointCheck.ControlPointType;
            newControlPointCheck.AcceptanceSite = controlPointCheck.AcceptanceSite;
            newControlPointCheck.IsOnceQualified = controlPointCheck.IsOnceQualified;
            newControlPointCheck.InspectionDate = controlPointCheck.InspectionDate;
            newControlPointCheck.AttachUrl = controlPointCheck.AttachUrl;
            newControlPointCheck.NoticeCode = controlPointCheck.NoticeCode;
            newControlPointCheck.ParentDivisionProjectId = controlPointCheck.ParentDivisionProjectId;
            newControlPointCheck.CheckDate = controlPointCheck.CheckDate;
            newControlPointCheck.CheckMan = controlPointCheck.CheckMan;
            newControlPointCheck.CompileMan = controlPointCheck.CompileMan;
            newControlPointCheck.CompileDate = controlPointCheck.CompileDate;
            newControlPointCheck.UnqualifiedReason = controlPointCheck.UnqualifiedReason;
            newControlPointCheck.AcceptanceCheckMan = controlPointCheck.AcceptanceCheckMan;
            Funs.DB.CQMS_Foreign_ControlPointCheck.InsertOnSubmit(newControlPointCheck);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改控制点检查信息
        /// </summary>
        /// <param name="controlPointCheck"></param>
        public static void UpdateControlPointCheck(Model.CQMS_Foreign_ControlPointCheck controlPointCheck)
        {
            Model.CQMS_Foreign_ControlPointCheck newControlPointCheck = Funs.DB.CQMS_Foreign_ControlPointCheck.FirstOrDefault(e => e.ControlPointCheckId == controlPointCheck.ControlPointCheckId);
            if (newControlPointCheck != null)
            {
                newControlPointCheck.ProjectId = controlPointCheck.ProjectId;
                newControlPointCheck.UnitId = controlPointCheck.UnitId;
                newControlPointCheck.CNProfessionalId = controlPointCheck.CNProfessionalId;
                newControlPointCheck.InspectionCode = controlPointCheck.InspectionCode;
                newControlPointCheck.UnitWorkId = controlPointCheck.UnitWorkId;
                newControlPointCheck.Branch = controlPointCheck.Branch;
                newControlPointCheck.ControlPointType = controlPointCheck.ControlPointType;
                newControlPointCheck.AcceptanceSite = controlPointCheck.AcceptanceSite;
                newControlPointCheck.IsOnceQualified = controlPointCheck.IsOnceQualified;
                newControlPointCheck.InspectionDate = controlPointCheck.InspectionDate;
                newControlPointCheck.AttachUrl = controlPointCheck.AttachUrl;
                newControlPointCheck.NoticeCode = controlPointCheck.NoticeCode;
                newControlPointCheck.ParentDivisionProjectId = controlPointCheck.ParentDivisionProjectId;
                newControlPointCheck.UnqualifiedReason = controlPointCheck.UnqualifiedReason;
                newControlPointCheck.AcceptanceCheckMan = controlPointCheck.AcceptanceCheckMan;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除控制点检查信息
        /// </summary>
        /// <param name="controlPointCheckId"></param>
        public static void DeleteControlPointCheck(string controlPointCheckId)
        {
            Model.CQMS_Foreign_ControlPointCheck controlPointCheck = Funs.DB.CQMS_Foreign_ControlPointCheck.FirstOrDefault(e => e.ControlPointCheckId == controlPointCheckId);
            if (controlPointCheck != null)
            {
                Funs.DB.CQMS_Foreign_ControlPointCheck.DeleteOnSubmit(controlPointCheck);
                Funs.DB.SubmitChanges();
            }
        }

    }
}