using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// HSE合规义务识别与评价
    /// 
    public class ComplianceObligationsCService
    {
        /// 
        /// 根据月报ID获取相关HSE合规义务识别与评价
        /// 
        /// 
        /// 
        public static List GetComplianceObligationsCByMonthReportId(string monthRepportId)
        {
            return (from x in Funs.DB.Manager_Month_ComplianceObligationsC where x.MonthReportId == monthRepportId select x).ToList();
        }
        /// 
        /// 增加
        /// 
        /// 
        public static void AddComplianceObligationsC(Model.Manager_Month_ComplianceObligationsC data)
        {
            Model.Manager_Month_ComplianceObligationsC newData = new Model.Manager_Month_ComplianceObligationsC
            {
                ComplianceObligationsId = data.ComplianceObligationsId,
                MonthReportId = data.MonthReportId,
                InformationContent = data.InformationContent,
                ResponseMeasures = data.ResponseMeasures,
                ImplementationStatus = data.ImplementationStatus,
                EvaluationConclusion = data.EvaluationConclusion
            };
            Funs.DB.Manager_Month_ComplianceObligationsC.InsertOnSubmit(newData);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 根据HSE月报ID删除相关HSE合规义务识别与评价
        /// 
        /// 
        public static void DeleteComplianceObligationsCByMonthReportId(string monthReportId)
        {
            var q = (from x in Funs.DB.Manager_Month_ComplianceObligationsC where x.MonthReportId == monthReportId select x).ToList();
            if (q != null)
            {
                Funs.DB.Manager_Month_ComplianceObligationsC.DeleteAllOnSubmit(q);
                Funs.DB.SubmitChanges();
            }
        }
        #region 施工方案审批
        public static void AddSolution_CQMSConstructSolutionApprove_Item(Model.Solution_CQMSConstructSolutionApprove_Item data)
        {
            using (var db = new Model.SGGLDB(Funs.ConnString)) { 
                Model.Solution_CQMSConstructSolutionApprove_Item newData = new Model.Solution_CQMSConstructSolutionApprove_Item
            {
                Id = data.Id,
                TypeSortId = data.TypeSortId,
                ConstructSolutionId = data.ConstructSolutionId,
                SortId = data.SortId,
                Chapter = data.Chapter,
                Amendment = data.Amendment,
                Proposer=data.Proposer,
                ProposerName=data.ProposerName,
                Modification = data.Modification,
                ReviewerOpinion = data.ReviewerOpinion,
                IsAccept = data.IsAccept,
            };
            db.Solution_CQMSConstructSolutionApprove_Item.InsertOnSubmit(newData);
                db.SubmitChanges();
            }
        }
        public static void UpdateSolution_CQMSConstructSolutionApprove_Item(Model.Solution_CQMSConstructSolutionApprove_Item data) {
            using (var db = new Model.SGGLDB(Funs.ConnString))
            {
                var result = db.Solution_CQMSConstructSolutionApprove_Item.FirstOrDefault(a => a.Id == data.Id);
                if (result != null)
                {
                    result.Modification = data.Modification;
                    db.SubmitChanges();
                }
            }
        }
        public static void UpdateSolution_CQMSConstructSolutionApprove_ItemNew(Model.Solution_CQMSConstructSolutionApprove_Item data)
        {
            using (var db = new Model.SGGLDB(Funs.ConnString))
            {
                var result = db.Solution_CQMSConstructSolutionApprove_Item.FirstOrDefault(a => a.Id == data.Id);
                if (result != null)
                {
                    result.ReviewerOpinion = data.ReviewerOpinion;
                    result.IsAccept = data.IsAccept;
                    db.SubmitChanges();
                }
            }
        }
        public static void DeleteSolution_CQMSConstructSolutionApprove_Item(string ConstructSolutionId,string Proposer)
        {
            var q = (from x in Funs.DB.Solution_CQMSConstructSolutionApprove_Item where x.ConstructSolutionId == ConstructSolutionId
                     && x.Proposer== Proposer
                     select x).ToList();
            if (q .Count>0)
            {
                Funs.DB.Solution_CQMSConstructSolutionApprove_Item.DeleteAllOnSubmit(q);
                Funs.DB.SubmitChanges();
            }
        }
        #endregion
    }
}