115 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			C#
		
	
	
	
using System;
 | 
						||
using System.Collections.Generic;
 | 
						||
using System.Linq;
 | 
						||
using System.Text;
 | 
						||
using System.Threading.Tasks;
 | 
						||
using EmitMapper;
 | 
						||
using EmitMapper.MappingConfiguration;
 | 
						||
 | 
						||
namespace BLL
 | 
						||
{
 | 
						||
    /// <summary>
 | 
						||
    /// 考试计划
 | 
						||
    /// </summary>
 | 
						||
    public static class APIServerTestPlanService
 | 
						||
    {
 | 
						||
        #region 获取考试计划列表
 | 
						||
        /// <summary>
 | 
						||
        /// 获取考试计划列表
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="states">状态(0-待发布;1-待考试;2-考试中;3已结束;-1作废)</param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static List<Model.TestPlanItem> getTestPlanList(string states)
 | 
						||
        {
 | 
						||
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | 
						||
            {
 | 
						||
                var getDataLists = (from x in db.Test_TestPlan
 | 
						||
                                    where (x.States == states || states == null)
 | 
						||
                                    orderby x.TestStartTime descending
 | 
						||
                                    select new Model.TestPlanItem
 | 
						||
                                    {
 | 
						||
                                        TestPlanId = x.TestPlanId,
 | 
						||
                                        TestPlanCode = x.PlanCode,
 | 
						||
                                        TestPlanName = x.PlanName,
 | 
						||
                                        TestPlanManId = x.PlanManId,
 | 
						||
                                        TestPlanManName = db.Sys_User.First(y => y.UserId == x.PlanManId).UserName,
 | 
						||
                                        TestPalce = x.TestPalce,
 | 
						||
                                        Duration = x.Duration ?? 60,
 | 
						||
                                        TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime),
 | 
						||
                                        TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime),
 | 
						||
                                        ActualTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ActualTime),
 | 
						||
                                        States = x.States,
 | 
						||
                                        QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'),
 | 
						||
                                    }).ToList();
 | 
						||
                return getDataLists;
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 根据考试ID获取考试计划详细
 | 
						||
        /// <summary>
 | 
						||
        /// 根据考试ID获取考试计划详细
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="testPlanId"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static Model.TestPlanItem getTestPlanByTestPlanId(string testPlanId)
 | 
						||
        {
 | 
						||
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | 
						||
            {
 | 
						||
                var getDataLists = from x in db.Test_TestPlan
 | 
						||
                                   where x.TestPlanId == testPlanId
 | 
						||
                                   select new Model.TestPlanItem
 | 
						||
                                   {
 | 
						||
                                       TestPlanId = x.TestPlanId,
 | 
						||
                                       TestPlanCode = x.PlanCode,
 | 
						||
                                       TestPlanName = x.PlanName,
 | 
						||
                                       TestPlanManId = x.PlanManId,
 | 
						||
                                       TestPlanManName = db.Sys_User.First(y => y.UserId == x.TestPlanId).UserName,
 | 
						||
                                       TestPlanDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.PlanDate),
 | 
						||
                                       TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime),
 | 
						||
                                       TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime),
 | 
						||
                                       ActualTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ActualTime),
 | 
						||
                                       Duration = x.Duration ?? 60,
 | 
						||
                                       SValue = x.SValue ?? 0,
 | 
						||
                                       MValue = x.MValue ?? 0,
 | 
						||
                                       JValue = x.JValue ?? 0,
 | 
						||
                                       TestPalce = x.TestPalce,
 | 
						||
                                       States = x.States,
 | 
						||
                                       QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'),
 | 
						||
                                   };
 | 
						||
                return getDataLists.FirstOrDefault();
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 根据TestPlanId获取考试试题类型列表
 | 
						||
        /// <summary>
 | 
						||
        /// 根据TestPlanId获取考试试题类型列表
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="testPlanId">考试计划ID</param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static List<Model.TestPlanTrainingItem> getTestPlanTrainingListByTestPlanId(string testPlanId)
 | 
						||
        {
 | 
						||
            Model.SGGLDB db = Funs.DB;
 | 
						||
            var getDataLists = (from x in db.Test_TestPlanTraining
 | 
						||
                                join y in db.Training_TestTraining on x.TrainingId equals y.TrainingId
 | 
						||
                                where x.TestPlanId == testPlanId
 | 
						||
                                orderby y.TrainingCode
 | 
						||
                                select new Model.TestPlanTrainingItem
 | 
						||
                                {
 | 
						||
                                    TestPlanTrainingId = x.TestPlanTrainingId,
 | 
						||
                                    TestPlanId = x.TestPlanId,
 | 
						||
                                    TrainingTypeId = x.TrainingId,
 | 
						||
                                    TrainingTypeName = y.TrainingName,
 | 
						||
                                    TestType1Count = x.TestType1Count ?? 0,
 | 
						||
                                    TestType2Count = x.TestType2Count ?? 0,
 | 
						||
                                    TestType3Count = x.TestType3Count ?? 0,
 | 
						||
                                    UserTypeId = x.UserType,
 | 
						||
                                    UserTypeName = x.UserType == null ? "" : (x.UserType == "1" ? "管理人员" : (x.UserType == "2" ? "临时用户" : "作业人员")),
 | 
						||
                                }).ToList();
 | 
						||
            return getDataLists;
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
    }
 | 
						||
}
 |