154 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C#
		
	
	
	
using System.Collections.Generic;
 | 
						|
using System.Linq;
 | 
						|
 | 
						|
namespace BLL
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// 考试计划
 | 
						|
    /// </summary>
 | 
						|
    public static class TestPlanService
 | 
						|
    {
 | 
						|
        public static Model.SGGLDB db = Funs.DB;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 根据主键获取培训计划
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="TestPlanId"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public static Model.Training_TestPlan GetTestPlanById(string TestPlanId)
 | 
						|
        {
 | 
						|
            return Funs.DB.Training_TestPlan.FirstOrDefault(e => e.TestPlanId == TestPlanId);
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 添加培训计划
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="testPlan"></param>
 | 
						|
        public static void AddTestPlan(Model.Training_TestPlan testPlan)
 | 
						|
        {
 | 
						|
            Model.Training_TestPlan newTestPlan = new Model.Training_TestPlan
 | 
						|
            {
 | 
						|
                TestPlanId = testPlan.TestPlanId,
 | 
						|
                ProjectId = testPlan.ProjectId,
 | 
						|
                PlanCode = testPlan.PlanCode,
 | 
						|
                PlanName = testPlan.PlanName,
 | 
						|
                PlanManId = testPlan.PlanManId,
 | 
						|
                PlanDate = testPlan.PlanDate,
 | 
						|
                TestStartTime = testPlan.TestStartTime,
 | 
						|
                TestEndTime = testPlan.TestEndTime,
 | 
						|
                Duration = testPlan.Duration,
 | 
						|
                SValue = testPlan.SValue,
 | 
						|
                MValue = testPlan.MValue,
 | 
						|
                JValue = testPlan.JValue,
 | 
						|
                TotalScore = testPlan.TotalScore,
 | 
						|
                QuestionCount = testPlan.QuestionCount,
 | 
						|
                TestPalce = testPlan.TestPalce,
 | 
						|
                UnitIds = testPlan.UnitIds,
 | 
						|
                UnitNames = testPlan.UnitNames,
 | 
						|
                DepartIds = testPlan.DepartIds,
 | 
						|
                DepartNames = testPlan.DepartNames,
 | 
						|
                WorkPostIds = testPlan.WorkPostIds,
 | 
						|
                WorkPostNames = testPlan.WorkPostNames,
 | 
						|
                PlanId= testPlan.PlanId,
 | 
						|
                States = testPlan.States
 | 
						|
            };
 | 
						|
 | 
						|
            db.Training_TestPlan.InsertOnSubmit(newTestPlan);
 | 
						|
            db.SubmitChanges();
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 修改培训计划
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="TestPlan"></param>
 | 
						|
        public static void UpdateTestPlan(Model.Training_TestPlan TestPlan)
 | 
						|
        {
 | 
						|
            Model.Training_TestPlan newTestPlan = db.Training_TestPlan.FirstOrDefault(e => e.TestPlanId == TestPlan.TestPlanId);
 | 
						|
            if (newTestPlan != null)
 | 
						|
            {
 | 
						|
                newTestPlan.PlanCode = TestPlan.PlanCode;
 | 
						|
                newTestPlan.PlanName = TestPlan.PlanName;
 | 
						|
                newTestPlan.PlanManId = TestPlan.PlanManId;
 | 
						|
                newTestPlan.PlanDate = TestPlan.PlanDate;
 | 
						|
                newTestPlan.TestStartTime = TestPlan.TestStartTime;
 | 
						|
                newTestPlan.TestEndTime = TestPlan.TestEndTime;
 | 
						|
                newTestPlan.Duration = TestPlan.Duration;
 | 
						|
                newTestPlan.TotalScore = TestPlan.TotalScore;
 | 
						|
                newTestPlan.QuestionCount = TestPlan.QuestionCount;
 | 
						|
                newTestPlan.TestPalce = TestPlan.TestPalce;
 | 
						|
                newTestPlan.UnitIds = TestPlan.UnitIds;
 | 
						|
                newTestPlan.UnitNames = TestPlan.UnitNames;
 | 
						|
                newTestPlan.DepartIds = TestPlan.DepartIds;
 | 
						|
                newTestPlan.DepartNames = TestPlan.DepartNames;
 | 
						|
                newTestPlan.WorkPostIds = TestPlan.WorkPostIds;
 | 
						|
                newTestPlan.WorkPostNames = TestPlan.WorkPostNames;
 | 
						|
                newTestPlan.States = TestPlan.States;
 | 
						|
                db.SubmitChanges();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 根据主键删除培训计划信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="TestPlanId"></param>
 | 
						|
        public static void DeleteTestPlanById(string TestPlanId)
 | 
						|
        {
 | 
						|
 | 
						|
            var getTestPlan = GetTestPlanById(TestPlanId);
 | 
						|
            if (getTestPlan != null)
 | 
						|
            {
 | 
						|
                var testPlanTrainings = from x in Funs.DB.Training_TestPlanTraining where x.TestPlanId == TestPlanId select x;
 | 
						|
                if (testPlanTrainings.Count() > 0)
 | 
						|
                {
 | 
						|
                    Funs.DB.Training_TestPlanTraining.DeleteAllOnSubmit(testPlanTrainings);
 | 
						|
                    Funs.DB.SubmitChanges();
 | 
						|
                }
 | 
						|
                if (getTestPlan.States == "3") //状态考试结束
 | 
						|
                {
 | 
						|
                    var updateTrainingPlan = TrainingPlanService.GetPlanById(getTestPlan.PlanId);
 | 
						|
                    if (updateTrainingPlan != null)
 | 
						|
                    {
 | 
						|
                        updateTrainingPlan.States = "2";
 | 
						|
                        TrainingPlanService.UpdatePlan(updateTrainingPlan);
 | 
						|
                        var getTrainingTasks = from x in Funs.DB.Training_Task
 | 
						|
                                               where x.PlanId == updateTrainingPlan.PlanId 
 | 
						|
                                               select x;
 | 
						|
                        foreach (var item in getTrainingTasks)
 | 
						|
                        {
 | 
						|
                            item.States = "1";
 | 
						|
                            TrainingTaskService.UpdateTask(item);
 | 
						|
                        }
 | 
						|
                        ////删除归档的培训记录
 | 
						|
                        var trainRecord = Funs.DB.EduTrain_TrainRecord.FirstOrDefault(x => x.PlanId == getTestPlan.PlanId);
 | 
						|
                        if (trainRecord != null)
 | 
						|
                        {
 | 
						|
                            EduTrain_TrainRecordService.DeleteTrainingByTrainingId(trainRecord.TrainingId);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
                Funs.DB.Training_TestPlan.DeleteOnSubmit(getTestPlan);
 | 
						|
                Funs.DB.SubmitChanges();              
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 获取培训计划列
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        public static List<Model.Training_TestPlan> GetTestPlanList()
 | 
						|
        {
 | 
						|
            return (from x in db.Training_TestPlan orderby x.PlanCode select x).ToList();
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 获取培训计划列
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        public static Model.Training_TestPlan GetTestPlanByPlanId(string planId)
 | 
						|
        {
 | 
						|
            return Funs.DB.Training_TestPlan.FirstOrDefault(x => x.PlanId == planId);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |