コード例 #1
0
        /// <summary>
        /// Проверяет возможность добавления мероприятия с данным интервалом.
        /// </summary>
        /// <param name="ConferenceHallID">ID комнаты.</param>
        /// <param name="ArrangementID">ID мероприятия (при редактировании).</param>
        /// <param name="dBegin">Дата начала.</param>
        /// <param name="dEnd">Дата конца.</param>
        /// <returns>Возможно ли добавление.</returns>
        public static bool CheckArrangementAdding(int ConferenceHallID, int ArrangementID, DateTime dBegin, DateTime dEnd)
        {
            String sql = "SELECT a.* FROM ";
            sql += DBAttributesManager.GetDBTableName(typeof(ConfirmIt.PortalLib.Arrangements.Arrangement)) + " a, ";
            sql += DBAttributesManager.GetDBTableName(typeof(ArrangementDate)) + " b";

            //compare time only from Arrangement table
            sql += " WHERE (CONVERT(char(12), a.TimeBegin, 114) <= CONVERT(char(12), @pDateBegin, 114)" +
                "and CONVERT(char(12), a.TimeEnd, 114) > CONVERT(char(12), @pDateEnd, 114)";
            sql += " AND (b.ArrangementID=a.ID)";
            //compare date only from ArrangementDate table
            sql += " AND CONVERT(char(8), b.Date, 112)=CONVERT(char(8), @pDateBegin, 112))";

            //compare time only from Arrangement table
            sql += " OR (CONVERT(char(12), a.TimeBegin, 114) >= CONVERT(char(12), @pDateBegin, 114)" +
                "and CONVERT(char(12), a.TimeEnd, 114) <= CONVERT(char(12), @pDateEnd, 114)";
            sql += " AND (b.ArrangementID=a.ID)";
            //compare date only from ArrangementDate table
            sql += " AND CONVERT(char(8), b.Date, 112)=CONVERT(char(8), @pDateBegin, 112))";

            //compare time only from Arrangement table
            sql += " OR (CONVERT(char(12), a.TimeBegin, 114) < CONVERT(char(12), @pDateEnd, 114)" +
                "and CONVERT(char(12), a.TimeEnd, 114) >= CONVERT(char(12), @pDateEnd, 114)";
            sql += " AND (b.ArrangementID=a.ID)";
            //compare date only from ArrangementDate table
            sql += " AND CONVERT(char(8), b.Date, 112)=CONVERT(char(8), @pDateBegin, 112))";

            sql += " AND (a.ID != " + ArrangementID + ")";

            //sql += " WHERE ((a.TimeBegin <= @pDateBegin and a.TimeEnd > @pDateBegin)";
            //sql += " or (a.TimeBegin >= @pDateBegin and a.TimeEnd <= @pDateEnd)";
            //sql += " or (a.TimeBegin < @pDateEnd and a.TimeEnd >= @pDateEnd))";

            Query q = new Query(sql);
            q.Add("@pDateBegin", dBegin, DbType.Time);
            q.Add("@pDateEnd", dEnd, DbType.Time);
            q.Command.CommandText += " AND (a.ConferenceHallID=" + ConferenceHallID + ")";
            if (ArrangementID != 0)
                q.Command.CommandText += " AND (a.ID<>" + ArrangementID + ")";
            DataTable dt = q.ExecDataTable();
            if (dt.Rows.Count == 0)
                return true;
            else
                return false;
        }
コード例 #2
0
        /// <summary>
        /// Is this arrangement cyclic
        /// </summary>
        public static bool isCyclicArrangement(int ArrID)
        {
            String sql = "SELECT * FROM ";
            sql += DBAttributesManager.GetDBTableName(typeof(ArrangementDate));
            sql += " WHERE ArrangementID=" + ArrID;

            Query q = new Query(sql);
            DataTable dt = q.ExecDataTable();

            if (dt.Rows.Count > 1)
                return true;
            else
                return false;
        }
コード例 #3
0
ファイル: DBManager.cs プロジェクト: Confirmit/Portal
 /// <summary>
 /// Возвращает таблицу "разрешенных" тегов.
 /// </summary>
 /// <returns></returns>
 public static DataTable GetAllowTags()
 {
     String query = "SELECT tagName from AllowTags";
     Query q = new Query(query);
     DataTable dt = q.ExecDataTable();
     return dt;
 }