using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 应急演练工作计划半年报主表
    /// 
    public static class DrillPlanHalfYearReportService
    {
        /// 
        /// 根据主键获取应急演练工作计划半年报
        /// 
        /// 
        /// 
        public static Model.Information_DrillPlanHalfYearReport GetDrillPlanHalfYearReportById(string drillPlanHalfYearReportId)
        {
            return Funs.DB.Information_DrillPlanHalfYearReport.FirstOrDefault(e => e.DrillPlanHalfYearReportId == drillPlanHalfYearReportId);
        }
        /// 
        /// 应急演练工作计划半年报
        /// 
        /// 单位Id
        /// 年度
        /// 半年Id
        /// 应急演练工作计划半年报
        public static Model.Information_DrillPlanHalfYearReport GetDrillPlanHalfYearReportByUnitIdAndYearAndHalfYear(string unitId, int year, int halfYearId)
        {
            return Funs.DB.Information_DrillPlanHalfYearReport.FirstOrDefault(e => e.UnitId == unitId && e.HalfYearId == halfYearId && e.YearId == year);
        }
        /// 
        /// 根据单位Id获取应急演练工作计划半年报集合
        /// 
        /// 单位Id
        /// 应急演练工作计划半年报集合
        public static List GetDrillPlanHalfYearReportsByUnitId(string UnitId)
        {
            return (from x in Funs.DB.View_Information_DrillPlanHalfYearReport where x.UnitId == UnitId orderby x.Years descending select x).ToList();
        }
        /// 
        /// 根据单位、年数时间获取信息
        /// 
        /// 
        /// 
        /// 
        public static Model.Information_DrillPlanHalfYearReport GetDrillPlanHalfYearReportByUnitIdDate(string unitId, int yearId, int halfYearId)
        {
            return Funs.DB.Information_DrillPlanHalfYearReport.FirstOrDefault(e => e.UnitId == unitId && e.YearId == yearId && e.HalfYearId == halfYearId);
        }
        /// 
        /// 添加应急演练工作计划半年报
        /// 
        /// 
        public static void AddDrillPlanHalfYearReport(Model.Information_DrillPlanHalfYearReport drillPlanHalfYearReport)
        {
            Model.Information_DrillPlanHalfYearReport newDrillPlanHalfYearReport = new Model.Information_DrillPlanHalfYearReport
            {
                DrillPlanHalfYearReportId = drillPlanHalfYearReport.DrillPlanHalfYearReportId,
                UnitId = drillPlanHalfYearReport.UnitId,
                CompileMan = drillPlanHalfYearReport.CompileMan,
                CompileDate = drillPlanHalfYearReport.CompileDate,
                YearId = drillPlanHalfYearReport.YearId,
                HalfYearId = drillPlanHalfYearReport.HalfYearId,
                Telephone = drillPlanHalfYearReport.Telephone,
                UpState = drillPlanHalfYearReport.UpState,
                HandleState = drillPlanHalfYearReport.HandleState,
                HandleMan = drillPlanHalfYearReport.HandleMan
            };
            Funs.DB.Information_DrillPlanHalfYearReport.InsertOnSubmit(newDrillPlanHalfYearReport);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 修改应急演练工作计划半年报
        /// 
        /// 
        public static void UpdateDrillPlanHalfYearReport(Model.Information_DrillPlanHalfYearReport drillPlanHalfYearReport)
        {
            Model.Information_DrillPlanHalfYearReport newDrillPlanHalfYearReport = Funs.DB.Information_DrillPlanHalfYearReport.FirstOrDefault(e => e.DrillPlanHalfYearReportId == drillPlanHalfYearReport.DrillPlanHalfYearReportId);
            if (newDrillPlanHalfYearReport != null)
            {
                newDrillPlanHalfYearReport.UnitId = drillPlanHalfYearReport.UnitId;
                newDrillPlanHalfYearReport.CompileMan = drillPlanHalfYearReport.CompileMan;
                newDrillPlanHalfYearReport.CompileDate = drillPlanHalfYearReport.CompileDate;
                newDrillPlanHalfYearReport.YearId = drillPlanHalfYearReport.YearId;
                newDrillPlanHalfYearReport.HalfYearId = drillPlanHalfYearReport.HalfYearId;
                newDrillPlanHalfYearReport.Telephone = drillPlanHalfYearReport.Telephone;
                newDrillPlanHalfYearReport.UpState = drillPlanHalfYearReport.UpState;
                newDrillPlanHalfYearReport.HandleState = drillPlanHalfYearReport.HandleState;
                newDrillPlanHalfYearReport.HandleMan = drillPlanHalfYearReport.HandleMan;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除应急演练工作计划半年报
        /// 
        /// 
        public static void DeleteDrillPlanHalfYearReportById(string drillPlanHalfYearReportId)
        {
            Model.Information_DrillPlanHalfYearReport drillPlanHalfYearReport = Funs.DB.Information_DrillPlanHalfYearReport.FirstOrDefault(e => e.DrillPlanHalfYearReportId == drillPlanHalfYearReportId);
            if (drillPlanHalfYearReport != null)
            {
                Funs.DB.Information_DrillPlanHalfYearReport.DeleteOnSubmit(drillPlanHalfYearReport);
                Funs.DB.SubmitChanges();
            }
        }
    }
}