using System.Collections.Generic;
using System.Linq;
namespace BLL
{
    /// 
    /// 开工前检查明细表
    /// 
    public static class Check_CheckWorkDetailService
    {
        /// 
        /// 根据开工前检查id获取所有相关明细信息
        /// 
        /// 
        /// 
        public static List GetCheckWorkDetailByCheckWorkId(string checkWorkId)
        {
            return (from x in Funs.DB.Check_CheckWorkDetail where x.CheckWorkId == checkWorkId select x).ToList();
        }
        /// 
        /// 根据主键获取开工前检查明细信息
        /// 
        /// 
        /// 
        public static Model.Check_CheckWorkDetail GetCheckWorkDetailByCheckWorkDetailId(string checkWorkDetailId)
        {
            return Funs.DB.Check_CheckWorkDetail.FirstOrDefault(e => e.CheckWorkDetailId == checkWorkDetailId);
        }
        /// 
        /// 增加开工前检查明细信息
        /// 
        /// 
        public static void AddCheckWorkDetail(Model.Check_CheckWorkDetail checkWorkDetail)
        {
            Model.Check_CheckWorkDetail newCheckWorkDetail = new Model.Check_CheckWorkDetail
            {
                CheckWorkDetailId = checkWorkDetail.CheckWorkDetailId,
                CheckWorkId = checkWorkDetail.CheckWorkId,
                CheckItem = checkWorkDetail.CheckItem,
                CheckResult = checkWorkDetail.CheckResult,
                CheckOpinion = checkWorkDetail.CheckOpinion,
                CheckStation = checkWorkDetail.CheckStation,
                HandleResult = checkWorkDetail.HandleResult,
                CheckContent = checkWorkDetail.CheckContent,
                WorkArea = checkWorkDetail.WorkArea,
                SortIndex = checkWorkDetail.SortIndex,
            };
            Funs.DB.Check_CheckWorkDetail.InsertOnSubmit(newCheckWorkDetail);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 修改开工前检查明细信息
        /// 
        /// 
        public static void UpdateCheckWorkDetail(Model.Check_CheckWorkDetail CheckWorkDetail)
        {
            var newCheckWorkDetail = Funs.DB.Check_CheckWorkDetail.FirstOrDefault(x => x.CheckWorkDetailId == CheckWorkDetail.CheckWorkDetailId);
            if (newCheckWorkDetail != null)
            {
                newCheckWorkDetail.CheckResult = CheckWorkDetail.CheckResult;
                newCheckWorkDetail.CheckOpinion = CheckWorkDetail.CheckOpinion;
                newCheckWorkDetail.CheckStation = CheckWorkDetail.CheckStation;
                newCheckWorkDetail.HandleResult = CheckWorkDetail.HandleResult;
                newCheckWorkDetail.CheckContent = CheckWorkDetail.CheckContent;
                newCheckWorkDetail.WorkArea = CheckWorkDetail.WorkArea;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据开工前检查ID删除所有开工前检查明细信息
        /// 
        /// 
        public static void DeleteCheckWorkDetails(string checkWorkId)
        {
            var q = (from x in Funs.DB.Check_CheckWorkDetail where x.CheckWorkId == checkWorkId select x).ToList();
            if (q != null)
            {
                foreach (var item in q)
                {
                    ////删除附件表
                    BLL.CommonService.DeleteAttachFileById(item.CheckWorkDetailId);
                }
                Funs.DB.Check_CheckWorkDetail.DeleteAllOnSubmit(q);
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据开工前检查ID删除一条开工前检查明细信息
        /// 
        /// 
        public static void DeleteCheckWorkDetailById(string checkWorkDetailId)
        {
            var q = (from x in Funs.DB.Check_CheckWorkDetail where x.CheckWorkDetailId == checkWorkDetailId select x).FirstOrDefault();
            if (q != null)
            {
                ////删除附件表
                BLL.CommonService.DeleteAttachFileById(q.CheckWorkDetailId);
                Funs.DB.Check_CheckWorkDetail.DeleteOnSubmit(q);
                Funs.DB.SubmitChanges();
            }
        }
    }
}