using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 意见收集流程表
    /// 
    public static class OpinionCollectionApproveService
    {
        /// 
        /// 根据意见收集Id获取相关流程
        /// 
        /// 
        /// 
        public static List GetApproveListByOpinionCollectionId(string opinionCollectionId)
        {
            return (from x in Funs.DB.Opinion_OpinionCollectionApprove where x.OpinionCollectionId == opinionCollectionId select x).ToList();
        }
        /// 
        /// 根据意见收集Id获取相关流程试图列表
        /// 
        /// 
        /// 
        public static List getViewApproveLists(string opinionCollectionId)
        {
            return (from x in Funs.DB.View_Opinion_OpinionCollectionApprove where x.OpinionCollectionId == opinionCollectionId orderby x.ApproveDate descending select x).ToList();
        }
        /// 
        /// 添加审批流程
        /// 
        /// 
        public static void AddOpinionCollectionApprove(Model.Opinion_OpinionCollectionApprove approve)
        {
            Model.Opinion_OpinionCollectionApprove newApprove = new Model.Opinion_OpinionCollectionApprove
            {
                OpinionCollectionApproveId = approve.OpinionCollectionApproveId,
                OpinionCollectionId = approve.OpinionCollectionId,
                ApproveMan = approve.ApproveMan,
                ApproveDate = approve.ApproveDate,
                IsAgree = approve.IsAgree,
                ApproveIdea = approve.ApproveIdea,
                ApproveManRoleId = approve.ApproveManRoleId,
            };
            Funs.DB.Opinion_OpinionCollectionApprove.InsertOnSubmit(newApprove);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 根据主键修改流程
        /// 
        /// 
        public static void UpdateOpinionCollectionApprove(Model.Opinion_OpinionCollectionApprove approve)
        {
            Model.Opinion_OpinionCollectionApprove newApprove = Funs.DB.Opinion_OpinionCollectionApprove.FirstOrDefault(e => e.OpinionCollectionApproveId == approve.OpinionCollectionApproveId);
            if (newApprove != null)
            {
                newApprove.ApproveDate = approve.ApproveDate;
                newApprove.IsAgree = approve.IsAgree;
                newApprove.ApproveIdea = approve.ApproveIdea;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据意见收集Id删除相关流程
        /// 
        /// 
        public static void DeleteApproveByOpinionCollectionId(string opinionCollectionId)
        {
            var approve = (from x in Funs.DB.Opinion_OpinionCollectionApprove where x.OpinionCollectionId == opinionCollectionId select x).ToList();
            if (approve.Count > 0)
            {
                Funs.DB.Opinion_OpinionCollectionApprove.DeleteAllOnSubmit(approve);
                Funs.DB.SubmitChanges();
            }
        }
    }
}