using System.Linq;

namespace BLL
{
    /// <summary>
    /// 预试车管理
    /// </summary>
    public static class BeforeTestRunService
    {
        /// <summary>
        /// 根据主键获取预试车管理信息
        /// </summary>
        /// <param name="BeforeTestRunId"></param>
        /// <returns></returns>
        public static Model.Driver_BeforeTestRun GetBeforeTestRunById(string BeforeTestRunId)
        {
            return Funs.DB.Driver_BeforeTestRun.FirstOrDefault(e => e.BeforeTestRunId == BeforeTestRunId);
        }

        /// <summary>
        /// 添加预试车管理信息
        /// </summary>
        /// <param name="BeforeTestRun"></param>
        public static void AddBeforeTestRun(Model.Driver_BeforeTestRun BeforeTestRun)
        {
            Model.Driver_BeforeTestRun newBeforeTestRun = new Model.Driver_BeforeTestRun();
            newBeforeTestRun.BeforeTestRunId = BeforeTestRun.BeforeTestRunId;
            newBeforeTestRun.ProjectId = BeforeTestRun.ProjectId;
            newBeforeTestRun.Code = BeforeTestRun.Code;
            newBeforeTestRun.Type = BeforeTestRun.Type;
            newBeforeTestRun.Time = BeforeTestRun.Time;
            newBeforeTestRun.UnitWorkId = BeforeTestRun.UnitWorkId;
            newBeforeTestRun.UnitId = BeforeTestRun.UnitId;
            newBeforeTestRun.Count = BeforeTestRun.Count;
            newBeforeTestRun.CompleteCount = BeforeTestRun.CompleteCount;
            newBeforeTestRun.TotalCount = BeforeTestRun.TotalCount;
            newBeforeTestRun.CompleteRate = BeforeTestRun.CompleteRate;
            newBeforeTestRun.AttachUrl = BeforeTestRun.AttachUrl;
            newBeforeTestRun.Remark = BeforeTestRun.Remark;
            Funs.DB.Driver_BeforeTestRun.InsertOnSubmit(newBeforeTestRun);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改预试车管理
        /// </summary>
        /// <param name="BeforeTestRun"></param>
        public static void UpdateBeforeTestRun(Model.Driver_BeforeTestRun BeforeTestRun)
        {
            Model.Driver_BeforeTestRun newBeforeTestRun = Funs.DB.Driver_BeforeTestRun.FirstOrDefault(e => e.BeforeTestRunId == BeforeTestRun.BeforeTestRunId);
            if (newBeforeTestRun != null)
            {
                newBeforeTestRun.Code = BeforeTestRun.Code;
                newBeforeTestRun.Time = BeforeTestRun.Time;
                newBeforeTestRun.UnitWorkId = BeforeTestRun.UnitWorkId;
                newBeforeTestRun.UnitId = BeforeTestRun.UnitId;
                newBeforeTestRun.Count = BeforeTestRun.Count;
                newBeforeTestRun.CompleteCount = BeforeTestRun.CompleteCount;
                newBeforeTestRun.TotalCount = BeforeTestRun.TotalCount;
                newBeforeTestRun.CompleteRate = BeforeTestRun.CompleteRate;
                newBeforeTestRun.AttachUrl = BeforeTestRun.AttachUrl;
                newBeforeTestRun.Remark = BeforeTestRun.Remark;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除预试车管理
        /// </summary>
        /// <param name="BeforeTestRunId"></param>
        public static void DeleteBeforeTestRun(string BeforeTestRunId)
        {
            Model.Driver_BeforeTestRun BeforeTestRun = Funs.DB.Driver_BeforeTestRun.FirstOrDefault(e => e.BeforeTestRunId == BeforeTestRunId);
            if (BeforeTestRun != null)
            {
                if (!string.IsNullOrEmpty(BeforeTestRun.AttachUrl))
                {
                    BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, BeforeTestRun.AttachUrl);//删除附件
                }
                Funs.DB.Driver_BeforeTestRun.DeleteOnSubmit(BeforeTestRun);
                Funs.DB.SubmitChanges();
            }
        }
    }
}