using System.Linq;

namespace BLL
{
    /// <summary>
    /// 开车方案管理
    /// </summary>
    public static class DriverSchemeService
    {
        /// <summary>
        /// 根据主键获取开车方案管理信息
        /// </summary>
        /// <param name="DriverSchemeId"></param>
        /// <returns></returns>
        public static Model.Driver_DriverScheme GetDriverSchemeById(string DriverSchemeId)
        {
            return Funs.DB.Driver_DriverScheme.FirstOrDefault(e => e.DriverSchemeId == DriverSchemeId);
        }

        /// <summary>
        /// 添加开车方案管理信息
        /// </summary>
        /// <param name="DriverScheme"></param>
        public static void AddDriverScheme(Model.Driver_DriverScheme DriverScheme)
        {
            Model.Driver_DriverScheme newDriverScheme = new Model.Driver_DriverScheme();
            newDriverScheme.DriverSchemeId = DriverScheme.DriverSchemeId;
            newDriverScheme.ProjectId = DriverScheme.ProjectId;
            newDriverScheme.Code = DriverScheme.Code;
            newDriverScheme.UnitWorkId = DriverScheme.UnitWorkId;
            newDriverScheme.SchemeName = DriverScheme.SchemeName;
            newDriverScheme.SchemeCode = DriverScheme.SchemeCode;
            newDriverScheme.CompileMan = DriverScheme.CompileMan;
            newDriverScheme.ApprovalUnitId = DriverScheme.ApprovalUnitId;
            newDriverScheme.ExaminationUnitId = DriverScheme.ExaminationUnitId;
            newDriverScheme.PlanCompileDate = DriverScheme.PlanCompileDate;
            newDriverScheme.ActualCompileDate = DriverScheme.ActualCompileDate;
            newDriverScheme.SubmitDate = DriverScheme.SubmitDate;
            newDriverScheme.ApprovalCompletionDate = DriverScheme.ApprovalCompletionDate;
            newDriverScheme.AttachUrl = DriverScheme.AttachUrl;
            newDriverScheme.Remark = DriverScheme.Remark;
            Funs.DB.Driver_DriverScheme.InsertOnSubmit(newDriverScheme);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改开车方案管理
        /// </summary>
        /// <param name="DriverScheme"></param>
        public static void UpdateDriverScheme(Model.Driver_DriverScheme DriverScheme)
        {
            Model.Driver_DriverScheme newDriverScheme = Funs.DB.Driver_DriverScheme.FirstOrDefault(e => e.DriverSchemeId == DriverScheme.DriverSchemeId);
            if (newDriverScheme != null)
            {
                newDriverScheme.Code = DriverScheme.Code;
                newDriverScheme.UnitWorkId = DriverScheme.UnitWorkId;
                newDriverScheme.SchemeName = DriverScheme.SchemeName;
                newDriverScheme.SchemeCode = DriverScheme.SchemeCode;
                //newDriverScheme.CompileMan = DriverScheme.CompileMan;
                newDriverScheme.ApprovalUnitId = DriverScheme.ApprovalUnitId;
                newDriverScheme.ExaminationUnitId = DriverScheme.ExaminationUnitId;
                newDriverScheme.PlanCompileDate = DriverScheme.PlanCompileDate;
                newDriverScheme.ActualCompileDate = DriverScheme.ActualCompileDate;
                newDriverScheme.SubmitDate = DriverScheme.SubmitDate;
                newDriverScheme.ApprovalCompletionDate = DriverScheme.ApprovalCompletionDate;
                newDriverScheme.AttachUrl = DriverScheme.AttachUrl;
                newDriverScheme.Remark = DriverScheme.Remark;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除开车方案管理
        /// </summary>
        /// <param name="DriverSchemeId"></param>
        public static void DeleteDriverScheme(string DriverSchemeId)
        {
            Model.Driver_DriverScheme DriverScheme = Funs.DB.Driver_DriverScheme.FirstOrDefault(e => e.DriverSchemeId == DriverSchemeId);
            if (DriverScheme != null)
            {
                if (!string.IsNullOrEmpty(DriverScheme.AttachUrl))
                {
                    BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, DriverScheme.AttachUrl);//删除附件
                }
                Funs.DB.Driver_DriverScheme.DeleteOnSubmit(DriverScheme);
                Funs.DB.SubmitChanges();
            }
        }
    }
}