using System.Linq;
namespace BLL
{
    /// 
    /// 新开项目作业许可证
    /// 
    public static class SecurityLicenseService
    {
        /// 
        /// 记录数
        /// 
        public static int count
        {
            get;
            set;
        }
        /// 
        /// 根据主键获取新开项目作业许可证
        /// 
        /// 
        /// 
        public static Model.License_SecurityLicense GetSecurityLicenseById(string securityLicenseId)
        {
            return Funs.DB.License_SecurityLicense.FirstOrDefault(e => e.SecurityLicenseId == securityLicenseId);
        }
        /// 
        /// 添加新开项目作业许可证
        /// 
        /// 
        public static void AddSecurityLicense(Model.License_SecurityLicense securityLicense)
        {
            Model.License_SecurityLicense newSecurityLicense = new Model.License_SecurityLicense
            {
                SecurityLicenseId = securityLicense.SecurityLicenseId,
                ProjectId = securityLicense.ProjectId,
                SecurityLicenseCode = securityLicense.SecurityLicenseCode,
                SecurityLicenseName = securityLicense.SecurityLicenseName,
                NewProjectName = securityLicense.NewProjectName,
                NewProjectPart = securityLicense.NewProjectPart,
                UnitId = securityLicense.UnitId,
                LimitDate = securityLicense.LimitDate,
                SignMan = securityLicense.SignMan,
                SignDate = securityLicense.SignDate,
                ConfirmMan = securityLicense.ConfirmMan,
                AddMeasure = securityLicense.AddMeasure,
                AddMeasureMan = securityLicense.AddMeasureMan,
                SecurityLicenseContents = securityLicense.SecurityLicenseContents
            };
            Funs.DB.License_SecurityLicense.InsertOnSubmit(newSecurityLicense);
            Funs.DB.SubmitChanges();
            ////增加一条编码记录
            BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectSecurityLicenseMenuId, securityLicense.ProjectId, null, securityLicense.SecurityLicenseId, securityLicense.SignDate);
        }
        /// 
        /// 修改新开项目作业许可证
        /// 
        /// 
        public static void UpdateSecurityLicense(Model.License_SecurityLicense securityLicense)
        {
            Model.License_SecurityLicense newSecurityLicense = Funs.DB.License_SecurityLicense.FirstOrDefault(e => e.SecurityLicenseId == securityLicense.SecurityLicenseId);
            if (newSecurityLicense != null)
            {
                newSecurityLicense.ProjectId = securityLicense.ProjectId;
                newSecurityLicense.SecurityLicenseCode = securityLicense.SecurityLicenseCode;
                newSecurityLicense.SecurityLicenseName = securityLicense.SecurityLicenseName;
                newSecurityLicense.NewProjectName = securityLicense.NewProjectName;
                newSecurityLicense.NewProjectPart = securityLicense.NewProjectPart;
                newSecurityLicense.UnitId = securityLicense.UnitId;
                newSecurityLicense.LimitDate = securityLicense.LimitDate;
                newSecurityLicense.SignMan = securityLicense.SignMan;
                newSecurityLicense.SignDate = securityLicense.SignDate;
                newSecurityLicense.ConfirmMan = securityLicense.ConfirmMan;
                newSecurityLicense.AddMeasure = securityLicense.AddMeasure;
                newSecurityLicense.AddMeasureMan = securityLicense.AddMeasureMan;
                newSecurityLicense.SecurityLicenseContents = securityLicense.SecurityLicenseContents;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除新开项目作业许可证
        /// 
        /// 
        public static void DeleteSecurityLicenseById(string securityLicenseId)
        {
            Model.License_SecurityLicense securityLicense = Funs.DB.License_SecurityLicense.FirstOrDefault(e => e.SecurityLicenseId == securityLicenseId);
            if (securityLicense != null)
            {
                ///删除编码表记录
                BLL.CodeRecordsService.DeleteCodeRecordsByDataId(securityLicenseId);
                BLL.CommonService.DeleteAttachFileById(securityLicenseId);//删除附件
                BLL.CommonService.DeleteFlowOperateByID(securityLicenseId);  ////删除审核流程表
                Funs.DB.License_SecurityLicense.DeleteOnSubmit(securityLicense);
                Funs.DB.SubmitChanges();
            }
        }
    }
}