using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
    /// 
    /// 焊接工艺评定台账
    /// 
    public static class WPQListServiceService
    {
        /// 
        /// 根据主键获取焊接工艺评定台账
        /// 
        /// 
        /// 
        public static Model.WPQ_WPQList GetWPQById(string wpqId)
        {
            return Funs.DB.WPQ_WPQList.FirstOrDefault(e => e.WPQId == wpqId);
        }
        /// 
        /// 添加焊接工艺评定台账
        /// 
        /// 
        public static void AddWPQ(Model.WPQ_WPQList WPQ)
        {
            Model.HJGLDB db = Funs.DB;
            Model.WPQ_WPQList newWPQ = new Model.WPQ_WPQList();
            newWPQ.WPQId = WPQ.WPQId;
            newWPQ.WPQCode = WPQ.WPQCode;
            newWPQ.CompileDate = WPQ.CompileDate;
            newWPQ.MaterialId1 = WPQ.MaterialId1;
            newWPQ.MaterialId2 = WPQ.MaterialId2;
            newWPQ.Specifications = WPQ.Specifications;
            newWPQ.WeldingModel = WPQ.WeldingModel;
            newWPQ.WeldingGrade = WPQ.WeldingGrade;
            newWPQ.WeldMatId = WPQ.WeldMatId;
            newWPQ.WeldSilkId = WPQ.WeldSilkId;
            newWPQ.WeldingSpecifications = WPQ.WeldingSpecifications;
            newWPQ.WeldingPosition = WPQ.WeldingPosition;
            newWPQ.WeldingMethodId = WPQ.WeldingMethodId;
            newWPQ.MinImpactDia = WPQ.MinImpactDia;
            newWPQ.MaxImpactDia = WPQ.MaxImpactDia;
            newWPQ.MinImpactThickness = WPQ.MinImpactThickness;
            newWPQ.MaxImpactThickness = WPQ.MaxImpactThickness;
            newWPQ.NoMinImpactThickness = WPQ.NoMinImpactThickness;
            newWPQ.NoMaxImpactThickness = WPQ.NoMaxImpactThickness;
            newWPQ.IsHotProess = WPQ.IsHotProess;
            newWPQ.WPQStandard = WPQ.WPQStandard;
            newWPQ.Remark = WPQ.Remark;
            newWPQ.JointType = WPQ.JointType;
            newWPQ.Motorization = WPQ.Motorization;
            newWPQ.ProtectiveGas = WPQ.ProtectiveGas;
            newWPQ.Stretching = WPQ.Stretching;
            newWPQ.Bend = WPQ.Bend;
            newWPQ.ToAttack = WPQ.ToAttack;
            newWPQ.Others = WPQ.Others;
            newWPQ.ProjectId = WPQ.ProjectId;
            newWPQ.WelderIds = WPQ.WelderIds;
            db.WPQ_WPQList.InsertOnSubmit(newWPQ);
            db.SubmitChanges();
        }
        /// 
        /// 修改焊接工艺评定台账
        /// 
        /// 
        public static void UpdateWPQ(Model.WPQ_WPQList WPQ)
        {
            Model.HJGLDB db = Funs.DB;
            Model.WPQ_WPQList newWPQ = db.WPQ_WPQList.FirstOrDefault(e => e.WPQId == WPQ.WPQId);
            if (newWPQ != null)
            {
                newWPQ.WPQCode = WPQ.WPQCode;
                newWPQ.CompileDate = WPQ.CompileDate;
                newWPQ.MaterialId1 = WPQ.MaterialId1;
                newWPQ.MaterialId2 = WPQ.MaterialId2;
                newWPQ.Specifications = WPQ.Specifications;
                newWPQ.WeldingModel = WPQ.WeldingModel;
                newWPQ.WeldingGrade = WPQ.WeldingGrade;
                newWPQ.WeldMatId = WPQ.WeldMatId;
                newWPQ.WeldSilkId = WPQ.WeldSilkId;
                newWPQ.WeldingSpecifications = WPQ.WeldingSpecifications;
                newWPQ.WeldingPosition = WPQ.WeldingPosition;
                newWPQ.WeldingMethodId = WPQ.WeldingMethodId;
                newWPQ.MinImpactDia = WPQ.MinImpactDia;
                newWPQ.MaxImpactDia = WPQ.MaxImpactDia;
                newWPQ.MinImpactThickness = WPQ.MinImpactThickness;
                newWPQ.MaxImpactThickness = WPQ.MaxImpactThickness;
                newWPQ.NoMinImpactThickness = WPQ.NoMinImpactThickness;
                newWPQ.NoMaxImpactThickness = WPQ.NoMaxImpactThickness;
                newWPQ.IsHotProess = WPQ.IsHotProess;
                newWPQ.WPQStandard = WPQ.WPQStandard;
                newWPQ.Remark = WPQ.Remark;
                newWPQ.JointType = WPQ.JointType;
                newWPQ.Motorization = WPQ.Motorization;
                newWPQ.ProtectiveGas = WPQ.ProtectiveGas;
                newWPQ.Stretching = WPQ.Stretching;
                newWPQ.Bend = WPQ.Bend;
                newWPQ.ToAttack = WPQ.ToAttack;
                newWPQ.Others = WPQ.Others;
                newWPQ.ProjectId = WPQ.ProjectId;
                newWPQ.WelderIds = WPQ.WelderIds;
                db.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除焊接工艺评定台账
        /// 
        /// 
        public static void DeleteWPQById(string WPQId)
        {
            Model.HJGLDB db = Funs.DB;
            Model.WPQ_WPQList WPQ = db.WPQ_WPQList.FirstOrDefault(e => e.WPQId == WPQId);
            if (WPQ != null)
            {
                AttachFileService.DeleteAttachFile(Funs.RootPath, WPQId, Const.WPQListMenuId);//删除附件
                db.WPQ_WPQList.DeleteOnSubmit(WPQ);
                db.SubmitChanges();
            }
        }
        /// 
        /// 判断是否存在相同评定编号
        /// 
        /// 
        /// 
        /// 
        public static bool IsWPQCode(string WPQId, string code)
        {
            var q = Funs.DB.WPQ_WPQList.FirstOrDefault(x => (x.WPQId != WPQId || (WPQId == null && x.WPQId != null)) && x.WPQCode == code);
            if (q != null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}