using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 监督检查报告明细
    /// 
    public static class SubUnitCheckRectifyItemService
    {
        /// 
        /// 根据评价报告主键获取所有明细信息
        /// 
        /// 
        /// 
        public static List GetSubUnitCheckRectifyItemList(string subUnitCheckRectifyId)
        {
            return (from x in Funs.DB.Supervise_SubUnitCheckRectifyItem where x.SubUnitCheckRectifyId == subUnitCheckRectifyId orderby x.CheckDate descending select x).ToList();
        }
        /// 
        /// 添加监督评价报告明细
        /// 
        /// 
        public static void AddSubUnitCheckRectifyItem(Model.Supervise_SubUnitCheckRectifyItem item)
        {
            Model.Supervise_SubUnitCheckRectifyItem newItem = new Model.Supervise_SubUnitCheckRectifyItem
            {
                SubUnitCheckRectifyItemId = item.SubUnitCheckRectifyItemId,
                SubUnitCheckRectifyId = item.SubUnitCheckRectifyId,
                Name = item.Name,
                Sex = item.Sex,
                UnitName = item.UnitName,
                PostName = item.PostName,
                WorkTitle = item.WorkTitle,
                CheckPostName = item.CheckPostName,
                CheckDate = item.CheckDate
            };
            Funs.DB.Supervise_SubUnitCheckRectifyItem.InsertOnSubmit(newItem);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 根据评价报告主键删除所有相关明细信息
        /// 
        /// 
        public static void DeleteSubUnitCheckRectifyItemsList(string subUnitCheckRectifyId)
        {
            var q = (from x in Funs.DB.Supervise_SubUnitCheckRectifyItem where x.SubUnitCheckRectifyId == subUnitCheckRectifyId select x).ToList();
            if (q != null)
            {
                Funs.DB.Supervise_SubUnitCheckRectifyItem.DeleteAllOnSubmit(q);
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 
        /// 
        /// 
        public static void DeleteSubUnitCheckRectifyBySuperviseCheckReportId(string superviseCheckReportId)
        {
            var q = (from x in Funs.DB.Supervise_SubUnitCheckRectify where x.SuperviseCheckReportId == superviseCheckReportId select x);
            if (q.Count() > 0)
            {
                foreach (var item in q)
                {
                    var subUnitCheckRectifyItem = from x in Funs.DB.Supervise_SubUnitCheckRectifyItem where x.SubUnitCheckRectifyId == item.SubUnitCheckRectifyId select x;
                    if (subUnitCheckRectifyItem.Count() > 0)
                    {
                        Funs.DB.Supervise_SubUnitCheckRectifyItem.DeleteAllOnSubmit(subUnitCheckRectifyItem);
                        Funs.DB.SubmitChanges();
                    }
                    Funs.DB.Supervise_SubUnitCheckRectify.DeleteOnSubmit(item);
                    Funs.DB.SubmitChanges();
                }
            }
        }
    }
}