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

namespace BLL
{
    /// <summary>
    /// 投料试车管理
    /// </summary>
   public static class FeedingTestRunService
    {
        /// <summary>
        /// 根据主键获取试车管理
        /// </summary>
        /// <param name="feedingTestRunId"></param>
        /// <returns></returns>
        public static Model.Driver_FeedingTestRun GetFeedingTestRunById(string feedingTestRunId)
        {
            return Funs.DB.Driver_FeedingTestRun.FirstOrDefault(e => e.FeedingTestRunId == feedingTestRunId);
        }

        /// <summary>
        /// 添加试车管理
        /// </summary>
        /// <param name="FeedingTestRun"></param>
        public static void AddFeedingTestRun(Model.Driver_FeedingTestRun feedingTestRun)
        {
            Model.Driver_FeedingTestRun newFeedingTestRun = new Model.Driver_FeedingTestRun();
            newFeedingTestRun.FeedingTestRunId = feedingTestRun.FeedingTestRunId;
            newFeedingTestRun.ProjectId = feedingTestRun.ProjectId;
            newFeedingTestRun.Code = feedingTestRun.Code;
            newFeedingTestRun.UnitWorkId = feedingTestRun.UnitWorkId;
            newFeedingTestRun.InstallationHead = feedingTestRun.InstallationHead;
            newFeedingTestRun.WorkContents = feedingTestRun.WorkContents;
            newFeedingTestRun.StartDate = feedingTestRun.StartDate;
            newFeedingTestRun.EndDate = feedingTestRun.EndDate;
            newFeedingTestRun.Descriptions = feedingTestRun.Descriptions;
            newFeedingTestRun.ProblemsAndSolutions = feedingTestRun.ProblemsAndSolutions;
            newFeedingTestRun.AttachUrl = feedingTestRun.AttachUrl;
            newFeedingTestRun.Remark = feedingTestRun.Remark;
            Funs.DB.Driver_FeedingTestRun.InsertOnSubmit(newFeedingTestRun);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改试车管理
        /// </summary>
        /// <param name="FeedingTestRun"></param>
        public static void UpdateFeedingTestRun(Model.Driver_FeedingTestRun feedingTestRun)
        {
            Model.Driver_FeedingTestRun newFeedingTestRun = Funs.DB.Driver_FeedingTestRun.FirstOrDefault(e => e.FeedingTestRunId == feedingTestRun.FeedingTestRunId);
            if (newFeedingTestRun != null)
            {
                newFeedingTestRun.Code = feedingTestRun.Code;
                newFeedingTestRun.UnitWorkId = feedingTestRun.UnitWorkId;
                newFeedingTestRun.InstallationHead = feedingTestRun.InstallationHead;
                newFeedingTestRun.WorkContents = feedingTestRun.WorkContents;
                newFeedingTestRun.StartDate = feedingTestRun.StartDate;
                newFeedingTestRun.EndDate = feedingTestRun.EndDate;
                newFeedingTestRun.Descriptions = feedingTestRun.Descriptions;
                newFeedingTestRun.ProblemsAndSolutions = feedingTestRun.ProblemsAndSolutions;
                newFeedingTestRun.AttachUrl = feedingTestRun.AttachUrl;
                newFeedingTestRun.Remark = feedingTestRun.Remark;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除试车管理
        /// </summary>
        /// <param name="FeedingTestRunId"></param>
        public static void DeleteFeedingTestRunById(string feedingTestRunId)
        {
            Model.Driver_FeedingTestRun newFeedingTestRun = Funs.DB.Driver_FeedingTestRun.FirstOrDefault(e => e.FeedingTestRunId == feedingTestRunId);
            if (newFeedingTestRun != null)
            {
                if (!string.IsNullOrEmpty(newFeedingTestRun.AttachUrl))
                {
                    UploadAttachmentService.DeleteFile(Funs.RootPath, newFeedingTestRun.AttachUrl);
                }
                Funs.DB.Driver_FeedingTestRun.DeleteOnSubmit(newFeedingTestRun);
                Funs.DB.SubmitChanges();
            }
        }
    }
}