using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BLL
{
   public class OneTimeSignedContractsService
    {
        /// <summary>
        /// 根据主键获取附件
        /// </summary>
        /// <param name="signedContractsId"></param>
        /// <returns></returns>
        public static Model.EMC_OneTimeSignedContracts GetOneTimeSignedContractsById(string fileId)
        {
            return Funs.DB.EMC_OneTimeSignedContracts.FirstOrDefault(e => e.FileId == fileId);
        }

        /// <summary>
        /// 添加合同附件
        /// </summary>
        /// <param name="signedContracts"></param>
        public static void AddOneTimeSignedContracts(Model.EMC_OneTimeSignedContracts signedContracts)
        {
            Model.EMC_OneTimeSignedContracts newSignedContracts = new Model.EMC_OneTimeSignedContracts();
            newSignedContracts.FileId = signedContracts.FileId;
            newSignedContracts.OneTimeContractsId = signedContracts.OneTimeContractsId;
            newSignedContracts.FileName = signedContracts.FileName;
            newSignedContracts.FileType = signedContracts.FileType;
            newSignedContracts.FileTypeCode = signedContracts.FileTypeCode;
            newSignedContracts.UploadMan = signedContracts.UploadMan;
            newSignedContracts.UploadDate = signedContracts.UploadDate;
            newSignedContracts.Remark = signedContracts.Remark;
            newSignedContracts.AttachUrl = signedContracts.AttachUrl;
            Funs.DB.EMC_OneTimeSignedContracts.InsertOnSubmit(newSignedContracts);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改合同附件
        /// </summary>
        /// <param name="signedContracts"></param>
        public static void UpdateOneTimeSignedContracts(Model.EMC_OneTimeSignedContracts signedContracts)
        {
            Model.EMC_OneTimeSignedContracts newSignedContracts = Funs.DB.EMC_OneTimeSignedContracts.FirstOrDefault(e => e.FileId == signedContracts.FileId);
            if (newSignedContracts != null)
            {
                newSignedContracts.FileName = signedContracts.FileName;
                //newSignedContracts.FileType = signedContracts.FileType;
                //newSignedContracts.FileTypeCode = signedContracts.FileTypeCode;
                newSignedContracts.UploadMan = signedContracts.UploadMan;
                newSignedContracts.UploadDate = signedContracts.UploadDate;
                //newSignedContracts.Remark = signedContracts.Remark;
                newSignedContracts.AttachUrl = signedContracts.AttachUrl;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除合同附件
        /// </summary>
        /// <param name="signedContractsId"></param>
        public static void DeleteOneTimeSignedContractsById(string fileId)
        {
            Model.EMC_OneTimeSignedContracts signedContracts = Funs.DB.EMC_OneTimeSignedContracts.FirstOrDefault(e => e.FileId == fileId);
            if (signedContracts != null)
            {
                Funs.DB.EMC_OneTimeSignedContracts.DeleteOnSubmit(signedContracts);
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据合同Id获取相关附件信息
        /// </summary>
        /// <param name="oneTimeContractsId"></param>
        /// <returns></returns>
        public static List<Model.EMC_OneTimeSignedContracts> GetOneTimeSignedContractsByOneTimeId(string oneTimeContractsId)
        {
            return (from x in Funs.DB.EMC_OneTimeSignedContracts where x.OneTimeContractsId == oneTimeContractsId select x).ToList();
        }

        /// <summary>
        /// 根据合同主键删除相关附件
        /// </summary>
        /// <param name="oneTimeContractsId"></param>
        public static void DeleteOneTimeSignedContractsList(string oneTimeContractsId)
        {
            var q = (from x in Funs.DB.EMC_OneTimeSignedContracts where x.OneTimeContractsId == oneTimeContractsId select x).ToList();
            if (q != null)
            {
                Funs.DB.EMC_OneTimeSignedContracts.DeleteAllOnSubmit(q);
                Funs.DB.SubmitChanges();
            }
        }
    }
}