using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 管理周报
    /// 
    public static class ManagerWeekService
    {
        /// 
        /// 根据主键获取管理周报
        /// 
        /// 
        /// 
        public static Model.Manager_ManagerWeek GetManagerWeekById(string managerWeekId)
        {
            return Funs.DB.Manager_ManagerWeek.FirstOrDefault(e => e.ManagerWeekId == managerWeekId);
        }
        /// 
        /// 添加管理周报
        /// 
        /// 
        public static void AddManagerWeek(Model.Manager_ManagerWeek managerWeek)
        {
            Model.Manager_ManagerWeek newManagerWeek = new Model.Manager_ManagerWeek
            {
                ManagerWeekId = managerWeek.ManagerWeekId,
                ProjectId = managerWeek.ProjectId,
                ManagerWeekCode = managerWeek.ManagerWeekCode,
                ManagerWeekName = managerWeek.ManagerWeekName,
                FileContent = managerWeek.FileContent,
                CompileMan = managerWeek.CompileMan,
                CompileDate = managerWeek.CompileDate,
                States = managerWeek.States
            };
            Funs.DB.Manager_ManagerWeek.InsertOnSubmit(newManagerWeek);
            Funs.DB.SubmitChanges();
            ////增加一条编码记录
            BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectManagerWeekMenuId, managerWeek.ProjectId, null, managerWeek.ManagerWeekId, managerWeek.CompileDate);
        }
        /// 
        /// 修改管理周报
        /// 
        /// 
        public static void UpdateManagerWeek(Model.Manager_ManagerWeek managerWeek)
        {
            Model.Manager_ManagerWeek newManagerWeek = Funs.DB.Manager_ManagerWeek.FirstOrDefault(e => e.ManagerWeekId == managerWeek.ManagerWeekId);
            if (newManagerWeek != null)
            {
                newManagerWeek.ManagerWeekCode = managerWeek.ManagerWeekCode;
                newManagerWeek.ManagerWeekName = managerWeek.ManagerWeekName;
                newManagerWeek.FileContent = managerWeek.FileContent;
                newManagerWeek.CompileMan = managerWeek.CompileMan;
                newManagerWeek.CompileDate = managerWeek.CompileDate;
                newManagerWeek.States = managerWeek.States;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除管理周报
        /// 
        /// 
        public static void DeleteManagerWeekById(string managerWeekId)
        {
            Model.Manager_ManagerWeek managerWeek = Funs.DB.Manager_ManagerWeek.FirstOrDefault(e => e.ManagerWeekId == managerWeekId);
            if (managerWeek != null)
            {
                ///删除编码表记录
                BLL.CodeRecordsService.DeleteCodeRecordsByDataId(managerWeekId);
                BLL.CommonService.DeleteAttachFileById(managerWeekId);//删除附件
                BLL.CommonService.DeleteFlowOperateByID(managerWeekId);//删除审核流程
                Funs.DB.Manager_ManagerWeek.DeleteOnSubmit(managerWeek);
                Funs.DB.SubmitChanges();
            }
        }
    }
}