Exemple #1
0
        /// <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));
            }
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }