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

namespace BLL
{
    /// <summary>
    /// 开车进度管理
    /// </summary>
    public static class DriverProgressService
    {
        /// <summary>
        /// 根据主键获取开车进度管理信息
        /// </summary>
        /// <param name="DriverProgressId"></param>
        /// <returns></returns>
        public static Model.Driver_DriverProgress GetDriverProgressById(string DriverProgressId)
        {
            return Funs.DB.Driver_DriverProgress.FirstOrDefault(e => e.DriverProgressId == DriverProgressId);
        }

        /// <summary>
        /// 添加开车进度管理信息
        /// </summary>
        /// <param name="DriverProgress"></param>
        public static void AddDriverProgress(Model.Driver_DriverProgress DriverProgress)
        {
            Model.Driver_DriverProgress newDriverProgress = new Model.Driver_DriverProgress();
            newDriverProgress.DriverProgressId = DriverProgress.DriverProgressId;
            newDriverProgress.ProjectId = DriverProgress.ProjectId;
            newDriverProgress.Code = DriverProgress.Code;
            newDriverProgress.UnitWorkId = DriverProgress.UnitWorkId;
            newDriverProgress.PlanName = DriverProgress.PlanName;
            newDriverProgress.PlanCode = DriverProgress.PlanCode;
            newDriverProgress.CompileMan = DriverProgress.CompileMan;
            newDriverProgress.CompileDate = DriverProgress.CompileDate;
            newDriverProgress.Revision = DriverProgress.Revision;
            newDriverProgress.ExecutionDeviation = DriverProgress.ExecutionDeviation;
            newDriverProgress.Effect = DriverProgress.Effect;
            newDriverProgress.AttachUrl = DriverProgress.AttachUrl;
            newDriverProgress.Remark = DriverProgress.Remark;
            Funs.DB.Driver_DriverProgress.InsertOnSubmit(newDriverProgress);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改开车进度管理
        /// </summary>
        /// <param name="DriverProgress"></param>
        public static void UpdateDriverProgress(Model.Driver_DriverProgress DriverProgress)
        {
            Model.Driver_DriverProgress newDriverProgress = Funs.DB.Driver_DriverProgress.FirstOrDefault(e => e.DriverProgressId == DriverProgress.DriverProgressId);
            if (newDriverProgress != null)
            {
                newDriverProgress.Code = DriverProgress.Code;
                newDriverProgress.UnitWorkId = DriverProgress.UnitWorkId;
                newDriverProgress.PlanName = DriverProgress.PlanName;
                newDriverProgress.PlanCode = DriverProgress.PlanCode;
                //newDriverProgress.CompileMan = DriverProgress.CompileMan;
                newDriverProgress.CompileDate = DriverProgress.CompileDate;
                newDriverProgress.Revision = DriverProgress.Revision;
                newDriverProgress.ExecutionDeviation = DriverProgress.ExecutionDeviation;
                newDriverProgress.Effect = DriverProgress.Effect;
                newDriverProgress.AttachUrl = DriverProgress.AttachUrl;
                newDriverProgress.Remark = DriverProgress.Remark;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除开车进度管理
        /// </summary>
        /// <param name="DriverProgressId"></param>
        public static void DeleteDriverProgress(string DriverProgressId)
        {
            Model.Driver_DriverProgress DriverProgress = Funs.DB.Driver_DriverProgress.FirstOrDefault(e => e.DriverProgressId == DriverProgressId);
            if (DriverProgress != null)
            {
                if (!string.IsNullOrEmpty(DriverProgress.AttachUrl))
                {
                    BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, DriverProgress.AttachUrl);//删除附件
                }
                Funs.DB.Driver_DriverProgress.DeleteOnSubmit(DriverProgress);
                Funs.DB.SubmitChanges();
            }
        }
    }
}