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

namespace BLL
{
    /// <summary>
    /// 经验教训编辑器
    /// </summary>
    public class LessonsLearnedService
    {
        /// <summary>
        /// 根据主键获取经验教训
        /// </summary>
        /// <param name="lessonsLearnedId"></param>
        /// <returns></returns>
        public static Model.Editor_LessonsLearned GetLessonsLearnedById(string lessonsLearnedId)
        {
            return Funs.DB.Editor_LessonsLearned.FirstOrDefault(e => e.LessonsLearnedId == lessonsLearnedId);
        }

        public static Model.Editor_LessonsLearned GetLessonsLearnedByEprojectIdAndId(string eprojectId, string id)
        {
            return Funs.DB.Editor_LessonsLearned.FirstOrDefault(e => e.EProjectId == eprojectId && e.Id == id);
        }

        public static List<Model.Editor_LessonsLearned> GetLessonsLearnedByEprojectId(string eprojectId)
        {
            return (from x in Funs.DB.Editor_LessonsLearned where x.EProjectId == eprojectId select x).ToList();
        }

        /// <summary>
        /// 增加经验教训
        /// </summary>
        /// <param name="lessonsLearned"></param>
        public static void AddLessonsLearned(Model.Editor_LessonsLearned lessonsLearned)
        {
            Model.Editor_LessonsLearned newLessonsLearned = new Model.Editor_LessonsLearned();
            newLessonsLearned.LessonsLearnedId = lessonsLearned.LessonsLearnedId;
            newLessonsLearned.EProjectId = lessonsLearned.EProjectId;
            newLessonsLearned.Id = lessonsLearned.Id;
            newLessonsLearned.JobNo = lessonsLearned.JobNo;
            newLessonsLearned.PostBy = lessonsLearned.PostBy;
            newLessonsLearned.EntryDate = lessonsLearned.EntryDate;
            newLessonsLearned.AppliedDiscip = lessonsLearned.AppliedDiscip;
            newLessonsLearned.Stage = lessonsLearned.Stage;
            newLessonsLearned.Keyword = lessonsLearned.Keyword;
            newLessonsLearned.Description = lessonsLearned.Description;
            newLessonsLearned.RootCause = lessonsLearned.RootCause;
            newLessonsLearned.LessonLearned = lessonsLearned.LessonLearned;
            Funs.DB.Editor_LessonsLearned.InsertOnSubmit(newLessonsLearned);
            Funs.DB.SubmitChanges();
        }

        /// <summary>
        /// 修改经验教训
        /// </summary>
        /// <param name="lessonsLearned"></param>
        public static void UpdateLessonsLearned(Model.Editor_LessonsLearned lessonsLearned)
        {
            Model.Editor_LessonsLearned newLessonsLearned = Funs.DB.Editor_LessonsLearned.FirstOrDefault(e => e.LessonsLearnedId == lessonsLearned.LessonsLearnedId);
            if (newLessonsLearned != null)
            {
                newLessonsLearned.Id = lessonsLearned.Id;
                newLessonsLearned.JobNo = lessonsLearned.JobNo;
                newLessonsLearned.PostBy = lessonsLearned.PostBy;
                newLessonsLearned.EntryDate = lessonsLearned.EntryDate;
                newLessonsLearned.AppliedDiscip = lessonsLearned.AppliedDiscip;
                newLessonsLearned.Stage = lessonsLearned.Stage;
                newLessonsLearned.Keyword = lessonsLearned.Keyword;
                newLessonsLearned.Description = lessonsLearned.Description;
                newLessonsLearned.RootCause = lessonsLearned.RootCause;
                newLessonsLearned.LessonLearned = lessonsLearned.LessonLearned;
                Funs.DB.SubmitChanges();
            }
        }

        /// <summary>
        /// 根据主键删除经验教训
        /// </summary>
        /// <param name="lessonsLearnedId"></param>
        public static void DeleteLessonsLearnedById(string lessonsLearnedId)
        {
            Model.Editor_LessonsLearned lessonsLearned = Funs.DB.Editor_LessonsLearned.FirstOrDefault(e => e.LessonsLearnedId == lessonsLearnedId);
            if (lessonsLearned != null)
            {
                Funs.DB.Editor_LessonsLearned.DeleteOnSubmit(lessonsLearned);
                Funs.DB.SubmitChanges();
            }
        }
    }
}