using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 监理整改通知单
    /// 
    public static class SupervisionNoticeService
    {
        /// 
        /// 根据主键获取监理整改通知单
        /// 
        /// 
        /// 
        public static Model.Check_SupervisionNotice GetSupervisionNoticeById(string SupervisionNoticeId)
        {
            return Funs.DB.Check_SupervisionNotice.FirstOrDefault(e => e.SupervisionNoticeId == SupervisionNoticeId);
        }
        /// 
        /// 添加监理整改通知单
        /// 
        /// 
        public static void AddSupervisionNotice(Model.Check_SupervisionNotice SupervisionNotice)
        {
            Model.Check_SupervisionNotice newSupervisionNotice = new Model.Check_SupervisionNotice
            {
                SupervisionNoticeId = SupervisionNotice.SupervisionNoticeId,
                ProjectId = SupervisionNotice.ProjectId,
                SupervisionNoticeCode = SupervisionNotice.SupervisionNoticeCode,
                UnitId = SupervisionNotice.UnitId,
                WorkAreaId = SupervisionNotice.WorkAreaId,
                CheckedDate = SupervisionNotice.CheckedDate,
                WrongContent = SupervisionNotice.WrongContent,
                SignPerson = SupervisionNotice.SignPerson,
                SignDate = SupervisionNotice.SignDate,
                CompleteStatus = SupervisionNotice.CompleteStatus,
                DutyPerson = SupervisionNotice.DutyPerson,
                CompleteDate = SupervisionNotice.CompleteDate,
                IsRectify = SupervisionNotice.IsRectify,
                CheckPerson = SupervisionNotice.CheckPerson
            };
            Funs.DB.Check_SupervisionNotice.InsertOnSubmit(newSupervisionNotice);
            Funs.DB.SubmitChanges();
            CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectSupervisionNoticeMenuId, SupervisionNotice.ProjectId, SupervisionNotice.UnitId, SupervisionNotice.SupervisionNoticeId, SupervisionNotice.CompleteDate);
        }
        /// 
        /// 修改监理整改通知单
        /// 
        /// 
        public static void UpdateSupervisionNotice(Model.Check_SupervisionNotice SupervisionNotice)
        {
            Model.Check_SupervisionNotice newSupervisionNotice = Funs.DB.Check_SupervisionNotice.FirstOrDefault(e => e.SupervisionNoticeId == SupervisionNotice.SupervisionNoticeId);
            if (newSupervisionNotice != null)
            {
                newSupervisionNotice.ProjectId = SupervisionNotice.ProjectId;
                newSupervisionNotice.SupervisionNoticeCode = SupervisionNotice.SupervisionNoticeCode;
                newSupervisionNotice.UnitId = SupervisionNotice.UnitId;
                newSupervisionNotice.WorkAreaId = SupervisionNotice.WorkAreaId;
                newSupervisionNotice.CheckedDate = SupervisionNotice.CheckedDate;
                newSupervisionNotice.WrongContent = SupervisionNotice.WrongContent;
                newSupervisionNotice.SignPerson = SupervisionNotice.SignPerson;
                newSupervisionNotice.SignDate = SupervisionNotice.SignDate;
                newSupervisionNotice.CompleteStatus = SupervisionNotice.CompleteStatus;
                newSupervisionNotice.DutyPerson = SupervisionNotice.DutyPerson;
                newSupervisionNotice.CompleteDate = SupervisionNotice.CompleteDate;
                newSupervisionNotice.IsRectify = SupervisionNotice.IsRectify;
                newSupervisionNotice.CheckPerson = SupervisionNotice.CheckPerson;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除监理整改通知单
        /// 
        /// 
        public static void DeleteSupervisionNoticeById(string SupervisionNoticeId)
        {
            Model.Check_SupervisionNotice SupervisionNotice = Funs.DB.Check_SupervisionNotice.FirstOrDefault(e => e.SupervisionNoticeId == SupervisionNoticeId);
            if (SupervisionNotice != null)
            {
                BLL.CodeRecordsService.DeleteCodeRecordsByDataId(SupervisionNoticeId);
                BLL.UploadFileService.DeleteFile(Funs.RootPath, SupervisionNotice.AttachUrl);
                BLL.CommonService.DeleteAttachFileById(SupervisionNoticeId);
                Funs.DB.Check_SupervisionNotice.DeleteOnSubmit(SupervisionNotice);
                Funs.DB.SubmitChanges();
            }
        }
    }
}