using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 焊接工艺评定
    /// 
    public class WeldingProcedureService
    {
        /// 
        /// 根据焊接工艺评定ID获取焊接工艺评定信息
        /// 
        /// 
        /// 
        public static Model.PW_WeldingProcedure GetWeldingProcedureByWeldingProcedureId(string WeldingProcedureId)
        {
            return Funs.DB.PW_WeldingProcedure.FirstOrDefault(e => e.WeldingProcedureId == WeldingProcedureId);
        }
        /// 
        /// 增加焊接工艺评定信息
        /// 
        /// 焊接工艺评定实体
        public static void AddWeldProcedure(Model.PW_WeldingProcedure weldProcedure)
        {
            Model.PW_WeldingProcedure newWeldProcedure = new Model.PW_WeldingProcedure();
            newWeldProcedure.WeldingProcedureId = weldProcedure. WeldingProcedureId;
            newWeldProcedure.WeldingProcedureCode = weldProcedure.WeldingProcedureCode;
            newWeldProcedure.WType = weldProcedure.WType;
            newWeldProcedure.Material = weldProcedure.Material;
            newWeldProcedure.Specification = weldProcedure.Specification;
            newWeldProcedure.Welding = weldProcedure.Welding;
            newWeldProcedure.WRange = weldProcedure.WRange;
            newWeldProcedure.Remark = weldProcedure.Remark;
            newWeldProcedure.IsAdd = weldProcedure.IsAdd;
            newWeldProcedure.MaterialGroup = weldProcedure.MaterialGroup;
            newWeldProcedure.JointsForm = weldProcedure.JointsForm;
            newWeldProcedure.TubeDiameter = weldProcedure.TubeDiameter;
            newWeldProcedure.SpecimenThickness = weldProcedure.SpecimenThickness;
            newWeldProcedure.WeldMethod = weldProcedure.WeldMethod;
            newWeldProcedure.WeldPositionCode = weldProcedure.WeldPositionCode;
            newWeldProcedure.WeldPreheating = weldProcedure.WeldPreheating;
            newWeldProcedure.PWHT = weldProcedure.PWHT;
            newWeldProcedure.MaterialId = weldProcedure.MaterialId;
            newWeldProcedure.ProcedureDate = weldProcedure.ProcedureDate;
            newWeldProcedure.WeldedJoints = weldProcedure.WeldedJoints;
            newWeldProcedure.GrooveForm = weldProcedure.GrooveForm;
            newWeldProcedure.MaterialCode = weldProcedure.MaterialCode;
            newWeldProcedure.ThicknessRange = weldProcedure.ThicknessRange;
            newWeldProcedure.MaterialStandard = weldProcedure.MaterialStandard;
            newWeldProcedure.MaterialType = weldProcedure.MaterialType;
            newWeldProcedure.MaterialModel = weldProcedure.MaterialModel;
            newWeldProcedure.MaterialSpecification = weldProcedure.MaterialSpecification;
            newWeldProcedure.WeldingPosition = weldProcedure.WeldingPosition;
            newWeldProcedure.HotTemperatures = weldProcedure.HotTemperatures;
            newWeldProcedure.HoldingTime = weldProcedure.HoldingTime;
            newWeldProcedure.PreheatingTemperature = weldProcedure.PreheatingTemperature;
            newWeldProcedure.HeatingMode = weldProcedure.HeatingMode;
            newWeldProcedure.GasComponent = weldProcedure.GasComponent;
            newWeldProcedure.GasFlow = weldProcedure.GasFlow;
            newWeldProcedure.PolarDiameter = weldProcedure.PolarDiameter;
            newWeldProcedure.NozzleDiameter = weldProcedure.NozzleDiameter;
            newWeldProcedure.WeldLayer = weldProcedure.WeldLayer;
            newWeldProcedure.WeldMethod = weldProcedure.WeldMethod;
            newWeldProcedure.CardNum = weldProcedure.CardNum;
            newWeldProcedure.Diameter = weldProcedure.Diameter;
            newWeldProcedure.Polarity = weldProcedure.Polarity;
            newWeldProcedure.ElectricCurrent = weldProcedure.ElectricCurrent;
            newWeldProcedure.Voltage = weldProcedure.Voltage;
            newWeldProcedure.Speed = weldProcedure.Speed;
            newWeldProcedure.LineCapacity = weldProcedure.LineCapacity;
            newWeldProcedure.TestingRT = weldProcedure.TestingRT;
            newWeldProcedure.TestingPT = weldProcedure.TestingPT;
            newWeldProcedure.TestingMT = weldProcedure.TestingMT;
            newWeldProcedure.TestingUT = weldProcedure.TestingUT;
            newWeldProcedure.TestingOther = weldProcedure.TestingOther;
            newWeldProcedure.TechnicalMeasures = weldProcedure.TechnicalMeasures;
            newWeldProcedure.Description = weldProcedure.Description;
            newWeldProcedure.ImageId = weldProcedure.ImageId;
            Funs.DB.PW_WeldingProcedure.InsertOnSubmit(newWeldProcedure);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 修改工艺评定
        /// 
        /// 焊接日报实体
        public static void UpdateWeldProcedure(Model.PW_WeldingProcedure weldProcedure)
        {
            Model.PW_WeldingProcedure newWeldProcedure = Funs.DB.PW_WeldingProcedure.FirstOrDefault(e => e.WeldingProcedureId == weldProcedure.WeldingProcedureId);
            if (newWeldProcedure != null)
            {
                newWeldProcedure.WeldingProcedureCode = weldProcedure.WeldingProcedureCode;
                newWeldProcedure.WType = weldProcedure.WType;
                newWeldProcedure.Material = weldProcedure.Material;
                newWeldProcedure.Specification = weldProcedure.Specification;
                newWeldProcedure.Welding = weldProcedure.Welding;
                newWeldProcedure.WRange = weldProcedure.WRange;
                newWeldProcedure.Remark = weldProcedure.Remark;
                newWeldProcedure.MaterialGroup = weldProcedure.MaterialGroup;
                newWeldProcedure.JointsForm = weldProcedure.JointsForm;
                newWeldProcedure.TubeDiameter = weldProcedure.TubeDiameter;
                newWeldProcedure.SpecimenThickness = weldProcedure.SpecimenThickness;
                newWeldProcedure.WeldMethod = weldProcedure.WeldMethod;
                newWeldProcedure.WeldPositionCode = weldProcedure.WeldPositionCode;
                newWeldProcedure.WeldPreheating = weldProcedure.WeldPreheating;
                newWeldProcedure.PWHT = weldProcedure.PWHT;
                newWeldProcedure.MaterialId = weldProcedure.MaterialId;
                newWeldProcedure.ProcedureDate = weldProcedure.ProcedureDate;
                newWeldProcedure.WeldedJoints = weldProcedure.WeldedJoints;
                newWeldProcedure.GrooveForm = weldProcedure.GrooveForm;
                newWeldProcedure.MaterialCode = weldProcedure.MaterialCode;
                newWeldProcedure.ThicknessRange = weldProcedure.ThicknessRange;
                newWeldProcedure.MaterialStandard = weldProcedure.MaterialStandard;
                newWeldProcedure.MaterialType = weldProcedure.MaterialType;
                newWeldProcedure.MaterialModel = weldProcedure.MaterialModel;
                newWeldProcedure.MaterialSpecification = weldProcedure.MaterialSpecification;
                newWeldProcedure.WeldingPosition = weldProcedure.WeldingPosition;
                newWeldProcedure.HotTemperatures = weldProcedure.HotTemperatures;
                newWeldProcedure.HoldingTime = weldProcedure.HoldingTime;
                newWeldProcedure.PreheatingTemperature = weldProcedure.PreheatingTemperature;
                newWeldProcedure.HeatingMode = weldProcedure.HeatingMode;
                newWeldProcedure.GasComponent = weldProcedure.GasComponent;
                newWeldProcedure.GasFlow = weldProcedure.GasFlow;
                newWeldProcedure.PolarDiameter = weldProcedure.PolarDiameter;
                newWeldProcedure.NozzleDiameter = weldProcedure.NozzleDiameter;
                newWeldProcedure.WeldLayer = weldProcedure.WeldLayer;
                newWeldProcedure.WeldMethod = weldProcedure.WeldMethod;
                newWeldProcedure.CardNum = weldProcedure.CardNum;
                newWeldProcedure.Diameter = weldProcedure.Diameter;
                newWeldProcedure.Polarity = weldProcedure.Polarity;
                newWeldProcedure.ElectricCurrent = weldProcedure.ElectricCurrent;
                newWeldProcedure.Voltage = weldProcedure.Voltage;
                newWeldProcedure.Speed = weldProcedure.Speed;
                newWeldProcedure.LineCapacity = weldProcedure.LineCapacity;
                newWeldProcedure.TestingRT = weldProcedure.TestingRT;
                newWeldProcedure.TestingPT = weldProcedure.TestingPT;
                newWeldProcedure.TestingMT = weldProcedure.TestingMT;
                newWeldProcedure.TestingUT = weldProcedure.TestingUT;
                newWeldProcedure.TestingOther = weldProcedure.TestingOther;
                newWeldProcedure.TechnicalMeasures = weldProcedure.TechnicalMeasures;
                newWeldProcedure.Description = weldProcedure.Description;
                newWeldProcedure.ImageId = weldProcedure.ImageId;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据焊接工艺评定Id删除一个焊接工艺评定信息
        /// 
        /// 
        public static void DeleteWeldingProcedure(string WeldingProcedureId)
        {
            Model.PW_WeldingProcedure WeldingProcedure = Funs.DB.PW_WeldingProcedure.FirstOrDefault(e => e.WeldingProcedureId == WeldingProcedureId);
            if (WeldingProcedure != null)
            {
                Funs.DB.PW_WeldingProcedure.DeleteOnSubmit(WeldingProcedure);
                Funs.DB.SubmitChanges();
            }
        }
    }
}