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

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

        /// <summary>
        /// 根据合同主键获取合同附件列表
        /// </summary>
        /// <param name="dataId"></param>
        /// <returns></returns>
        public static List<Model.FC_SignedContracts> GetSignedContractsByDataId(string dataId)
        {
            return (from x in Funs.DB.FC_SignedContracts where x.FC_ID == Convert.ToInt32(dataId) select x).ToList();
        }

        /// <summary>
        /// 添加合同附件
        /// </summary>
        /// <param name="signedContracts"></param>
        public static void AddSignedContracts(Model.FC_SignedContracts signedContracts)
        {
            Model.FC_SignedContracts newSignedContracts = new Model.FC_SignedContracts();
            newSignedContracts.FileId = signedContracts.FileId;
            newSignedContracts.FC_ID = signedContracts.FC_ID;
            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.FC_SignedContracts.InsertOnSubmit(newSignedContracts);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改合同附件
        /// </summary>
        /// <param name="signedContracts"></param>
        public static void UpdateSignedContracts(Model.FC_SignedContracts signedContracts)
        {
            Model.FC_SignedContracts newSignedContracts = Funs.DB.FC_SignedContracts.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 DeleteSignedContractsById(string fileId)
        {
            Model.FC_SignedContracts signedContracts = Funs.DB.FC_SignedContracts.FirstOrDefault(e => e.FileId == fileId);
            if (signedContracts != null)
            {
                Funs.DB.FC_SignedContracts.DeleteOnSubmit(signedContracts);
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据合同主键删除所有相关合同附件
        /// </summary>
        /// <param name="dataId"></param>
        public static void DeleteSignedContractsByDataId(string dataId)
        {
            var q = (from x in Funs.DB.FC_SignedContracts where x.FC_ID == Convert.ToInt32(dataId) select x).ToList();
            if (q != null)
            {
                Funs.DB.FC_SignedContracts.DeleteAllOnSubmit(q);
                Funs.DB.SubmitChanges();
            }
        }
    }
}