using System; using System.Collections.Generic; using System.Text; using MySql.Data.MySqlClient; using GoMusic.Data.MySqlClient; using GoMusic.Data; using Gta.VSL.Entities; using System.Data; namespace Gta.VSL.MySqlClient { /// <summary> /// 表的数据访问类 /// </summary> public partial class CourseCycleRepository { /// <summary> /// 从搜索类里面拼接参数化的SQL字符串 /// </summary> /// <param name="searchEntity">搜索类</param> /// <param name="sqlParams">搜索的参数,不能传入Null</param> /// <param name="whereSqlAppender">安全的SQL语句</param> protected override void GetWhereSqlBySearchItemCore(SearchCourseCycle searchEntity, List<MySqlParameter> sqlParams, StringBuilder whereSqlAppender) { if (searchEntity.CoursePlan_IdEqual.HasValue) { this.CombineSqlQueryCondition(c => c.CoursePlan_Id, ConditionCompareChar.Equal, searchEntity.CoursePlan_IdEqual.Value, whereSqlAppender, sqlParams); } if (searchEntity.RecordStatusEqual.HasValue) { this.CombineSqlQueryCondition(c => c.RecordStatus, ConditionCompareChar.Equal, searchEntity.RecordStatusEqual.Value, whereSqlAppender, sqlParams); } if (searchEntity.StartTimeLessThanEqual.HasValue) { this.CombineSqlQueryCondition(c => c.StartTime, ConditionCompareChar.LessThanEqual, searchEntity.StartTimeLessThanEqual.Value, whereSqlAppender, sqlParams); } if (searchEntity.EndTimeGreateThanEqual.HasValue) { this.CombineSqlQueryCondition(c => c.EndTime, ConditionCompareChar.GreaterThanEqual, searchEntity.EndTimeGreateThanEqual.Value, whereSqlAppender, sqlParams); } } /// <summary> /// 课程在该周是否存在课程安排 /// </summary> /// <param name="weekNum">周编号</param> /// <param name="courseId">课程Id</param> /// <returns></returns> public bool HasCourseCycle(int weekNum, int courseId) { string formatString = @"SELECT COUNT(*) FROM coursecycle LEFT JOIN courseplan ON coursecycle.CoursePlan_Id = courseplan.Id LEFT JOIN course ON courseplan.Course_Id = course.Id WHERE coursecycle.CycleCount = {0} AND course.Id = {1} AND coursecycle.RecordStatus = 1"; string sqlString = string.Format(formatString, weekNum, courseId); object count = MySqlDbHelper.ExecuteScalar(CommandType.Text, sqlString); if (Convert.ToInt32(count) > 0) { return true; } else { return false; } } } }