using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
    public static class SpecialSchemeService
    {
        public static Model.SGGLDB db = Funs.DB;
        /// 
        /// 根据主键获取专项方案
        /// 
        /// 
        /// 
        public static Model.Technique_SpecialScheme GetSpecialSchemeListById(string specialSchemeId)
        {
            return Funs.DB.Technique_SpecialScheme.FirstOrDefault(e => e.SpecialSchemeId == specialSchemeId);
        }
        /// 
        /// 根据整理人获取专项方案
        /// 
        /// 
        /// 
        public static List GetSpecialSchemeByCompileMan(string compileMan)
        {
            return (from x in Funs.DB.Technique_SpecialScheme where x.CompileMan == compileMan select x).ToList();
        }
        /// 
        /// 添加专项方案
        /// 
        /// 
        public static void AddSpecialSchemeList(Model.Technique_SpecialScheme specialSchemeList)
        {
            Model.SGGLDB db = Funs.DB;
            Model.Technique_SpecialScheme newSpecialSchemeList = new Model.Technique_SpecialScheme
            {
                SpecialSchemeId = specialSchemeList.SpecialSchemeId,
                SpecialSchemeTypeId = specialSchemeList.SpecialSchemeTypeId,
                SpecialSchemeCode = specialSchemeList.SpecialSchemeCode,
                SpecialSchemeName = specialSchemeList.SpecialSchemeName,
                Summary = specialSchemeList.Summary,
                AttachUrl = specialSchemeList.AttachUrl,
                CompileMan = specialSchemeList.CompileMan,
                CompileDate = specialSchemeList.CompileDate,
                UnitId = specialSchemeList.UnitId
            };
            newSpecialSchemeList.CompileMan = specialSchemeList.CompileMan;
            newSpecialSchemeList.CompileDate = specialSchemeList.CompileDate;
            newSpecialSchemeList.IsPass = specialSchemeList.IsPass;
            newSpecialSchemeList.UpState = specialSchemeList.UpState;
            db.Technique_SpecialScheme.InsertOnSubmit(newSpecialSchemeList);
            db.SubmitChanges();
        }
        /// 
        /// 修改专项方案
        /// 
        /// 
        public static void UpdateSpecialSchemeList(Model.Technique_SpecialScheme specialSchemeList)
        {
            Model.SGGLDB db = Funs.DB;
            Model.Technique_SpecialScheme newSpecialSchemeList = db.Technique_SpecialScheme.FirstOrDefault(e => e.SpecialSchemeId == specialSchemeList.SpecialSchemeId);
            if (newSpecialSchemeList != null)
            {
                newSpecialSchemeList.SpecialSchemeTypeId = specialSchemeList.SpecialSchemeTypeId;
                newSpecialSchemeList.SpecialSchemeCode = specialSchemeList.SpecialSchemeCode;
                newSpecialSchemeList.SpecialSchemeName = specialSchemeList.SpecialSchemeName;
                newSpecialSchemeList.Summary = specialSchemeList.Summary;
                newSpecialSchemeList.AttachUrl = specialSchemeList.AttachUrl;
                newSpecialSchemeList.CompileMan = specialSchemeList.CompileMan;
                newSpecialSchemeList.CompileDate = specialSchemeList.CompileDate;
                newSpecialSchemeList.UnitId = specialSchemeList.UnitId;
                newSpecialSchemeList.UpState = specialSchemeList.UpState;
                db.SubmitChanges();
            }
        }
        /// 
        /// 修改专项方案 是否采用
        /// 
        /// 
        public static void UpdateSpecialSchemeListIsPass(Model.Technique_SpecialScheme specialSchemeList)
        {
            Model.SGGLDB db = Funs.DB;
            Model.Technique_SpecialScheme newSpecialSchemeList = db.Technique_SpecialScheme.FirstOrDefault(e => e.SpecialSchemeId == specialSchemeList.SpecialSchemeId);
            if (newSpecialSchemeList != null)
            {
                newSpecialSchemeList.AuditMan = specialSchemeList.AuditMan;
                newSpecialSchemeList.AuditDate = specialSchemeList.AuditDate;
                newSpecialSchemeList.IsPass = specialSchemeList.IsPass;
                db.SubmitChanges();
            }
        }
        /// 
        ///根据主键删除专项方案
        /// 
        /// 
        public static void DeleteSpecialSchemeListById(string specialSchemeId)
        {
            Model.SGGLDB db = Funs.DB;
            Model.Technique_SpecialScheme specialSchemeList = db.Technique_SpecialScheme.FirstOrDefault(e => e.SpecialSchemeId == specialSchemeId);
            if (specialSchemeList != null)
            {
                if (!string.IsNullOrEmpty(specialSchemeList.AttachUrl))
                {
                    BLL.UploadFileService.DeleteFile(Funs.RootPath, specialSchemeList.AttachUrl);
                }
                ////删除附件表
                BLL.CommonService.DeleteAttachFileById(specialSchemeList.SpecialSchemeId);
                db.Technique_SpecialScheme.DeleteOnSubmit(specialSchemeList);
                db.SubmitChanges();
            }
        }
        /// 
        ///  外键判断
        /// 
        /// 
        /// 
        public static bool IsDelteBySpecialSchemeTypeId(string SpecialSchemeTypeId)
        {
            List type = (from x in Funs.DB.Technique_SpecialScheme where x.SpecialSchemeTypeId == SpecialSchemeTypeId select x).ToList();
            if (type.Count() > 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
    }
}