using System.Linq;

namespace BLL
{
    /// <summary>
    /// 
    /// </summary>
    public static class ProjectFolderItemService
    {
        /// <summary>
        /// 根据主键id获取项目明细
        /// </summary>
        /// <param name="appraise"></param>
        /// <returns></returns>
        public static Model.InformationProject_ProjectFolderItem GetProjectFolderItemByID(string projectFolderItemId)
        {
            return Funs.DB.InformationProject_ProjectFolderItem.FirstOrDefault(x => x.ProjectFolderItemId == projectFolderItemId);
        }

        /// <summary>
        /// 添加项目文件
        /// </summary>
        /// <param name="projectFolderItem"></param>
        public static void AddProjectFolderItem(Model.InformationProject_ProjectFolderItem projectFolderItem)
        {
            Model.InformationProject_ProjectFolderItem newProjectFolderItem = new Model.InformationProject_ProjectFolderItem
            {
                ProjectFolderItemId = projectFolderItem.ProjectFolderItemId,
                ProjectFolderId = projectFolderItem.ProjectFolderId,
                Code = projectFolderItem.Code,
                Title = projectFolderItem.Title,
                FileContent = projectFolderItem.FileContent,
                CompileMan = projectFolderItem.CompileMan,
                CompileDate = projectFolderItem.CompileDate,
                AttachUrl = projectFolderItem.AttachUrl
            };
            Funs.DB.InformationProject_ProjectFolderItem.InsertOnSubmit(newProjectFolderItem);
            Funs.DB.SubmitChanges();

            var projecFolder = BLL.ProjectFolderService.GetProjectFolderByID(projectFolderItem.ProjectFolderId);
            if (projecFolder != null)
            {
                ////增加一条编码记录
                BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectFolderMenuId, projecFolder.ProjectId, null, newProjectFolderItem.ProjectFolderItemId, newProjectFolderItem.CompileDate);
            }
        }

        /// <summary>
        /// 修改项目文件
        /// </summary>
        /// <param name="projectFolderItem"></param>
        public static void UpdateProjectFolderItem(Model.InformationProject_ProjectFolderItem projectFolderItem)
        {
            Model.InformationProject_ProjectFolderItem newProjectFolderItem = Funs.DB.InformationProject_ProjectFolderItem.FirstOrDefault(e => e.ProjectFolderItemId == projectFolderItem.ProjectFolderItemId);
            if (newProjectFolderItem != null)
            {
                newProjectFolderItem.Code = projectFolderItem.Code;
                newProjectFolderItem.Title = projectFolderItem.Title;
                newProjectFolderItem.FileContent = projectFolderItem.FileContent;
                newProjectFolderItem.CompileMan = projectFolderItem.CompileMan;
                newProjectFolderItem.CompileDate = projectFolderItem.CompileDate;
                newProjectFolderItem.AttachUrl = projectFolderItem.AttachUrl;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除信息
        /// </summary>
        /// <param name="projectFolderItemId"></param>
        public static void DeleteProjectFolderItemByID(string projectFolderItemId)
        {
            Model.InformationProject_ProjectFolderItem projectFolderItem = Funs.DB.InformationProject_ProjectFolderItem.FirstOrDefault(e => e.ProjectFolderItemId == projectFolderItemId);
            if (projectFolderItem != null)
            {
                ////删除附件表
                BLL.CommonService.DeleteAttachFileById(projectFolderItem.ProjectFolderItemId);
                ////删除编码
                BLL.CodeRecordsService.DeleteCodeRecordsByDataId(projectFolderItem.ProjectFolderItemId);
                Funs.DB.InformationProject_ProjectFolderItem.DeleteOnSubmit(projectFolderItem);
                Funs.DB.SubmitChanges();
            }
        }
    }
}