/// <summary> /// 获取专业的时间表 /// </summary> /// <param name="iSpecialtyID"></param> /// <returns></returns> public static Dal.Models.Schedule GetSpecialtySchedule(int iSpecialtyID, OleDbConnection conn, OleDbTransaction tran = null) { Dal.Models.Specialty specialty = null; specialty = Specialty.GetSpecialty(iSpecialtyID, conn, tran); // 默认继承时间节点 if (specialty.IsInheritSchedule == null) { specialty.IsInheritSchedule = true; } if (specialty.IsInheritSchedule.Value) { if (specialty.ParentID.HasValue) { return(GetSpecialtySchedule(specialty.ParentID.Value, conn, tran)); } else { return(GetActivitySchedule(specialty.ActivityID.Value, conn, tran)); } } else { string strSql = "SELECT * FROM Schedule WHERE SpecialtyID = ? "; IDataReader reader = Dal.OleDbHlper.ExecuteReader(strSql, conn, CommandType.Text, tran , new OleDbParameter("@SpecialtyID", OleDbType.Integer) { Value = iSpecialtyID }); return(Dal.Models.BaseEntity.GetEntity <Dal.Models.Schedule>(reader)); } }
/// <summary> /// 设定时间表 /// </summary> /// <param name="schedule"></param> /// <param name="trans"></param> /// <returns></returns> public static int SetSchedule(Dal.Models.Schedule schedule, OleDbConnection conn, OleDbTransaction trans = null) { if (schedule == null || (schedule.SpecialtyID == null && schedule.ActivityID == null) || (schedule.SpecialtyID != null && schedule.ActivityID != null)) { return(-1); } // 专业一旦设定了时间表,则自动修改其继承状态为否 int iResult = 0; if (schedule.SpecialtyID != null) { Dal.Models.Specialty specialty = Specialty.GetSpecialty(schedule.SpecialtyID.Value, conn, trans); if (specialty.IsInheritSchedule == null || specialty.IsInheritSchedule.Value) { specialty.IsInheritSchedule = false; Specialty.UpdateSpecialty(specialty, conn, trans); iResult = CreateSchedule(schedule, conn, trans); } else { Dal.Models.Schedule sc = GetSpecialtySchedule(schedule.SpecialtyID.Value, conn, trans); if (sc != null) { schedule.ScheduleID = sc.ScheduleID; iResult = UpdateSchedule(schedule, conn, trans); } else { iResult = CreateSchedule(schedule, conn, trans); } } } else { Dal.Models.Schedule sc = GetActivitySchedule(schedule.ActivityID.Value, conn, trans); if (sc != null) { schedule.ScheduleID = sc.ScheduleID; iResult = UpdateSchedule(schedule, conn, trans); } else { iResult = CreateSchedule(schedule, conn, trans); } } return(iResult); }
public static string GetTempletCode(int iSpecialtyID, OleDbConnection conn, OleDbTransaction tran = null) { Dal.Models.Specialty specialty = Specialty.GetSpecialty(iSpecialtyID, conn, tran); // 默认继承模版 if (specialty.IsInheritTemplet == null) { specialty.IsInheritTemplet = true; } if (specialty.IsInheritTemplet.Value && specialty.ParentID.HasValue) { return(GetTempletCode(specialty.ParentID.Value, conn, tran)); } return(specialty.TemplateCode); }
public static int CheckPrize(Dal.Models.Prize prize, OleDbConnection conn, OleDbTransaction tran) { if (string.IsNullOrEmpty(prize.PrizeName) || prize.SpecialtyID == null || prize.SpecialtyID == null) { throw new Exception("参数错误!"); } Dal.Models.Specialty specialty = Specialty.GetSpecialty(prize.SpecialtyID.Value, conn, tran); // 所选专业不存在 if (specialty == null) { throw new Exception("所选专业不存在!"); } if ((specialty.ChildCount ?? 0) > 0) { throw new Exception("奖项创建失败,该专业下已存在子专业,无法创建奖项。"); } // 同一专业中,奖项不允许重名 Dal.Models.Prize prizeOriginal = GetPrize(prize.PrizeName, prize.SpecialtyID.Value, conn, tran); if (prize.PrizeID != prizeOriginal.PrizeID) { throw new Exception("同一专业中,奖项不允许重名!"); } //奖项类别为空时,默认类别为综合奖 if (string.IsNullOrEmpty(prize.PrizeTypeCode) || !(new string[] { "0301", "0302", "0303", "0304" }).Contains(prize.PrizeTypeCode)) { prize.PrizeTypeCode = "0301"; } if (string.IsNullOrEmpty(prize.TemplateCode)) { prize.TemplateCode = Specialty.GetTempletCode(prize.SpecialtyID.Value, conn, tran); } return(specialty.ActivityID.Value); }
public static int SetPrize( Dal.Models.Prize prize, List <int> LstPrizeLimitNum, OleDbConnection conn, OleDbTransaction tran) { if (prize == null || string.IsNullOrEmpty(prize.PrizeName) || prize.SpecialtyID == null) { throw new Exception("参数错误!"); } Dal.Models.Specialty specialty = Specialty.GetSpecialty(prize.SpecialtyID.Value, conn, tran); // 所选专业不存在 if (specialty == null) { throw new Exception("所选专业不存在!"); } if ((specialty.ChildCount ?? 0) > 0) { throw new Exception("奖项创建失败,该专业下已存在子专业,无法创建奖项。"); } // 同一专业中,奖项不允许重名 Dal.Models.Prize prizeOriginal = GetPrize(prize.PrizeName, prize.SpecialtyID.Value, conn, tran); if (prizeOriginal != null && prize.PrizeID != prizeOriginal.PrizeID) { throw new Exception("同一专业中,奖项不允许重名!"); } //奖项类别为空时,默认类别为综合奖 if (string.IsNullOrEmpty(prize.PrizeTypeCode) || !(new string[] { "0301", "0302", "0303", "0304" }).Contains(prize.PrizeTypeCode)) { prize.PrizeTypeCode = "0301"; } if (prize.ParticipantLimit == null) { prize.ParticipantLimit = Convert.ToInt32( SysConstant.GetConstant(prize.PrizeTypeCode, conn, tran).CorrelationValue); } if (string.IsNullOrEmpty(prize.TemplateCode)) { prize.TemplateCode = specialty.TemplateCode; } StringBuilder sbSql = new StringBuilder(); if (prize.PrizeID == null) { sbSql.Append(" INSERT INTO Prize ( "); sbSql.Append(" PrizeName"); sbSql.Append(" ,SpecialtyID "); sbSql.Append(" ,PrizeTypeCode "); sbSql.Append(" ,TemplateCode "); sbSql.Append(" ,IsMultipleVoting "); sbSql.Append(" ,VoteType "); sbSql.Append(" ,ParticipantLimit "); sbSql.Append(" ,AppendixDiscription "); sbSql.Append(" ,CreateTime "); sbSql.Append(" ,LastUpdateTime "); sbSql.Append(" ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, GETDATE(), GETDATE() ) "); int iResult = Dal.OleDbHlper.ExecuteNonQuery( sbSql.ToString(), conn, CommandType.Text, tran , new OleDbParameter("@PrizeName", OleDbType.VarWChar) { Value = prize.PrizeName } , new OleDbParameter("@SpecialtyID", OleDbType.Integer) { Value = prize.SpecialtyID } , new OleDbParameter("@PrizeTypeCode", OleDbType.VarWChar) { Value = prize.PrizeTypeCode } , new OleDbParameter("@TemplateCode", OleDbType.VarWChar) { Value = prize.TemplateCode } , new OleDbParameter("@IsMultipleVoting", OleDbType.Boolean) { Value = prize.IsMultipleVoting } , new OleDbParameter("@VoteType", OleDbType.VarWChar) { Value = prize.VoteType } , new OleDbParameter("@ParticipantNumber", OleDbType.Integer) { Value = prize.ParticipantLimit } , new OleDbParameter("@AppendixDiscription", OleDbType.VarWChar) { Value = prize.AppendixDiscription } ); prize.PrizeID = GetPrize(prize.PrizeName, prize.SpecialtyID.Value, conn, tran).PrizeID; } else { sbSql.Append(" UPDATE Prize "); sbSql.Append(" SET PrizeName = ? "); sbSql.Append(" ,IsMultipleVoting = ? "); sbSql.Append(" ,VoteType = ? "); sbSql.Append(" ,ParticipantLimit = ? "); sbSql.Append(" ,AppendixDiscription = ? "); sbSql.Append(" ,LastUpdateTime = GETDATE() "); sbSql.Append(" WHERE PrizeID = ? "); int iResult = Dal.OleDbHlper.ExecuteNonQuery( sbSql.ToString(), conn, CommandType.Text, tran , new OleDbParameter("@PrizeName", OleDbType.VarWChar) { Value = prize.PrizeName } , new OleDbParameter("@IsMultipleVoting", OleDbType.Boolean) { Value = prize.IsMultipleVoting } , new OleDbParameter("@VoteType", OleDbType.VarWChar) { Value = prize.VoteType } , new OleDbParameter("@ParticipantLimit", OleDbType.Integer) { Value = prize.ParticipantLimit } , new OleDbParameter("@AppendixDiscription", OleDbType.VarWChar) { Value = prize.AppendixDiscription } , new OleDbParameter("@PrizeID", OleDbType.Integer) { Value = prize.PrizeID } ); } //奖项数量 SetPrizeLevel(prize, LstPrizeLimitNum, conn, tran); SetOrdinal(prize, conn, tran); return(prize.PrizeID.Value); }