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

namespace BLL
{
    /// <summary>
    /// 机泵巡检记录管理
    /// </summary>
    public static class TestRunPumpCheckService
    {
        /// <summary>
        /// 根据主键获取机泵巡检记录管理
        /// </summary>
        /// <param name="testRunPumpCheckId"></param>
        /// <returns></returns>
        public static Model.ProduceTestRun_TestRunPumpCheck GetTestRunPumpCheckById(string testRunPumpCheckId)
        {
            return Funs.DB.ProduceTestRun_TestRunPumpCheck.FirstOrDefault(e => e.TestRunPumpCheckId == testRunPumpCheckId);
        }

        /// <summary>
        /// 添加机泵巡检记录管理
        /// </summary>
        /// <param name="testRunPumpCheck"></param>
        public static void AddTestRunPumpCheck(Model.ProduceTestRun_TestRunPumpCheck testRunPumpCheck)
        {
            Model.ProduceTestRun_TestRunPumpCheck newTestRunPumpCheck = new Model.ProduceTestRun_TestRunPumpCheck();
            newTestRunPumpCheck.TestRunPumpCheckId = testRunPumpCheck.TestRunPumpCheckId;
            newTestRunPumpCheck.ProjectId = testRunPumpCheck.ProjectId;
            newTestRunPumpCheck.UnitWorkId = testRunPumpCheck.UnitWorkId;
            newTestRunPumpCheck.UnitHead = testRunPumpCheck.UnitHead;
            newTestRunPumpCheck.CheckRecord = testRunPumpCheck.CheckRecord;
            newTestRunPumpCheck.TestRunPumpCheckCode = testRunPumpCheck.TestRunPumpCheckCode;
            newTestRunPumpCheck.CheckMan = testRunPumpCheck.CheckMan;
            newTestRunPumpCheck.StartDate = testRunPumpCheck.StartDate;
            newTestRunPumpCheck.EndDate = testRunPumpCheck.EndDate;
            newTestRunPumpCheck.Description = testRunPumpCheck.Description;
            newTestRunPumpCheck.ProblemsAndSolutions = testRunPumpCheck.ProblemsAndSolutions;
            newTestRunPumpCheck.AttachUrl = testRunPumpCheck.AttachUrl;
            newTestRunPumpCheck.Remark = testRunPumpCheck.Remark;
            Funs.DB.ProduceTestRun_TestRunPumpCheck.InsertOnSubmit(newTestRunPumpCheck);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改机泵巡检记录管理
        /// </summary>
        /// <param name="testRunPumpCheck"></param>
        public static void UpdateTestRunPumpCheck(Model.ProduceTestRun_TestRunPumpCheck testRunPumpCheck)
        {
            Model.ProduceTestRun_TestRunPumpCheck newTestRunPumpCheck = Funs.DB.ProduceTestRun_TestRunPumpCheck.FirstOrDefault(e => e.TestRunPumpCheckId == testRunPumpCheck.TestRunPumpCheckId);
            if (newTestRunPumpCheck != null)
            {
                newTestRunPumpCheck.ProjectId = testRunPumpCheck.ProjectId;
                newTestRunPumpCheck.UnitWorkId = testRunPumpCheck.UnitWorkId;
                newTestRunPumpCheck.UnitHead = testRunPumpCheck.UnitHead;
                newTestRunPumpCheck.CheckRecord = testRunPumpCheck.CheckRecord;
                newTestRunPumpCheck.TestRunPumpCheckCode = testRunPumpCheck.TestRunPumpCheckCode;
                newTestRunPumpCheck.CheckMan = testRunPumpCheck.CheckMan;
                newTestRunPumpCheck.StartDate = testRunPumpCheck.StartDate;
                newTestRunPumpCheck.EndDate = testRunPumpCheck.EndDate;
                newTestRunPumpCheck.Description = testRunPumpCheck.Description;
                newTestRunPumpCheck.ProblemsAndSolutions = testRunPumpCheck.ProblemsAndSolutions;
                newTestRunPumpCheck.AttachUrl = testRunPumpCheck.AttachUrl;
                newTestRunPumpCheck.Remark = testRunPumpCheck.Remark;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除机泵巡检记录管理
        /// </summary>
        /// <param name="testRunPumpCheckId"></param>
        public static void DeleteTestRunPumpCheckById(string testRunPumpCheckId)
        {
            Model.ProduceTestRun_TestRunPumpCheck testRunPumpCheck = Funs.DB.ProduceTestRun_TestRunPumpCheck.FirstOrDefault(e => e.TestRunPumpCheckId == testRunPumpCheckId);
            if (testRunPumpCheck != null)
            {
                if (!string.IsNullOrEmpty(testRunPumpCheck.AttachUrl))
                {
                    UploadAttachmentService.DeleteFile(Funs.RootPath, testRunPumpCheck.AttachUrl);
                }
                Funs.DB.ProduceTestRun_TestRunPumpCheck.DeleteOnSubmit(testRunPumpCheck);
                Funs.DB.SubmitChanges();
            }
        }
    }
}