录播教室预约系统(九)-客户端部门管理员设定教室的预约规则

录播教室预约系统(九)-客户端部门管理员设定教室的预约规则_第1张图片

设置预约规则的客户端代码:

int stopHourInt = (int)stopHour.Value;
            int stopMinuteInt = (int)stopMinute.Value;

            //截止的时间
            int stopTimeInt = stopHourInt * 100 + stopMinuteInt;
            //提前的天数
            int dayspan = (int)numDay.Value;
          //声明一个ClassRoomConfig类 并设定具体的值
            ClassRoomConfig  classRoomConfig=new ClassRoomConfig ();
            classRoomConfig.DaySpan=dayspan ;
            classRoomConfig.StopTime=stopTimeInt;
            classRoomConfig.Id = roomConfigID;
            classRoomConfig.RoomID=this.itemID ;
           //发送预约规则个服务器端,并获取返回结果
            ResMessage  resMessage=tcpConnnection.SendReceiveObject<ResMessage>("AddRoomConfig","ResRoomConfig",5000, classRoomConfig);


            if (resMessage.Message == "操作成功")
            {
                GetCurrentRoomConfig();
                MessageBox.Show("添加设置完成");
            }
            else
            {
                MessageBox.Show("出现错误,错误为" + resMessage.Message);
            }

服务器端处理代码如下:

构造函数中声明:

//学校管理员添加教室的相关设置

            NetworkComms.AppendGlobalIncomingPacketHandler<ClassRoomConfig>("AddRoomConfig", HandleAddRoomConfig);

处理方法:

private void HandleAddRoomConfig(PacketHeader header, Connection connection, ClassRoomConfig classRoomConfig)
        {
            DoClassRoomConfig.Save(classRoomConfig);

            ResMessage theMessage = new ResMessage();

            theMessage.Message = "操作成功";

            connection.SendObject("ResRoomConfig", theMessage);

        }

操作类:

public class DoClassRoomConfig
    {

        #region Private Methods

        /// <summary>
        /// Gets an instance of ClassRoomConfig.
        /// </summary>
        /// <param name="id"> id </param>
        private static ClassRoomConfig GetClassRoomConfig(
            int id)
        {
            using (IDataReader reader = DBClassRoomConfig.GetOne(
                id))
            {
                return PopulateFromReader(reader);
            }

        }


        public static ClassRoomConfig GetClassRoomConfigByRoomID(
          int roomID)
        {
            using (IDataReader reader = DBClassRoomConfig.GetOneByRoomID(
                roomID))
            {
                return PopulateFromReaderF(reader);
            }

        }


        private static ClassRoomConfig PopulateFromReader(IDataReader reader)
        {
            ClassRoomConfig classRoomConfig = new ClassRoomConfig();
            if (reader.Read())
            {
                classRoomConfig.Id = Convert.ToInt32(reader["Id"]);
                classRoomConfig.DaySpan = Convert.ToInt32(reader["DaySpan"]);
                classRoomConfig.StopTime = Convert.ToInt32(reader["StopTime"]);
                classRoomConfig.RoomID = Convert.ToInt32(reader["RoomID"]);
                classRoomConfig.RoomName = reader["RoomName"].ToString();
                classRoomConfig.ModifyDate = Convert.ToDateTime(reader["ModifyDate"]);

            }
            return classRoomConfig;
        }

        private static ClassRoomConfig PopulateFromReaderF(IDataReader reader)
        {
            ClassRoomConfig classRoomConfig = new ClassRoomConfig();
            if (reader.Read())
            {
                classRoomConfig.Id = Convert.ToInt32(reader["Id"]);
                classRoomConfig.DaySpan = Convert.ToInt32(reader["DaySpan"]);
                classRoomConfig.StopTime = Convert.ToInt32(reader["StopTime"]);

                string stopTimeStr = classRoomConfig.StopTime.ToString();


                classRoomConfig.RoomName = stopTimeStr.Insert(stopTimeStr.Length - 2, "") + "";  

              


                classRoomConfig.RoomID = Convert.ToInt32(reader["RoomID"]);
               
                classRoomConfig.ModifyDate = Convert.ToDateTime(reader["ModifyDate"]);

            }
            return classRoomConfig;
        }

        /// <summary>
        /// Persists a new instance of ClassRoomConfig. Returns true on success.
        /// </summary>
        /// <returns></returns>
        private static bool Create(ClassRoomConfig classRoomConfig)
        {
            int newID = 0;

            newID = DBClassRoomConfig.Create(
                classRoomConfig.DaySpan,
                classRoomConfig.StopTime,
                classRoomConfig.RoomID,
                classRoomConfig.RoomName,
                classRoomConfig.ModifyDate);

            classRoomConfig.Id = newID;

            return (newID > 0);

        }


        /// <summary>
        /// Updates this instance of ClassRoomConfig. Returns true on success.
        /// </summary>
        /// <returns>bool</returns>
        private static bool Update(ClassRoomConfig classRoomConfig)
        {

            return DBClassRoomConfig.Update(
                classRoomConfig.Id,
                classRoomConfig.DaySpan,
                classRoomConfig.StopTime,
                classRoomConfig.RoomID,
                classRoomConfig.RoomName,
                classRoomConfig.ModifyDate);

        }





        #endregion

        #region Public Methods

        /// <summary>
        /// Saves this instance of ClassRoomConfig. Returns true on success.
        /// </summary>
        /// <returns>bool</returns>
        public static bool Save(ClassRoomConfig classRoomConfig)
        {
            if (classRoomConfig.Id > 0)
            {
                return Update(classRoomConfig);
            }
            else
            {
                return Create(classRoomConfig);
            }
        }




        #endregion

        #region Static Methods

        /// <summary>
        /// Deletes an instance of ClassRoomConfig. Returns true on success.
        /// </summary>
        /// <param name="id"> id </param>
        /// <returns>bool</returns>
        public static bool Delete(
            int id)
        {
            return DBClassRoomConfig.Delete(
                id);
        }


        /// <summary>
        /// Gets a count of ClassRoomConfig. 
        /// </summary>
        public static int GetCount()
        {
            return DBClassRoomConfig.GetCount();
        }

        private static IList<ClassRoomConfig> LoadListFromReader(IDataReader reader)
        {
            IList<ClassRoomConfig> classRoomConfigList = new List<ClassRoomConfig>();
            try
            {
                while (reader.Read())
                {
                    ClassRoomConfig classRoomConfig = new ClassRoomConfig();
                    classRoomConfig.Id = Convert.ToInt32(reader["Id"]);
                    classRoomConfig.DaySpan = Convert.ToInt32(reader["DaySpan"]);
                    classRoomConfig.StopTime = Convert.ToInt32(reader["StopTime"]);
                    classRoomConfig.RoomID = Convert.ToInt32(reader["RoomID"]);
                    classRoomConfig.RoomName = reader["RoomName"].ToString();
                    classRoomConfig.ModifyDate = Convert.ToDateTime(reader["ModifyDate"]);
                    classRoomConfigList.Add(classRoomConfig);

                }
            }
            finally
            {
                reader.Close();
            }

            return classRoomConfigList;

        }


        /// <summary>
        /// Gets an IList with some instances of ClassRoomConfig.
        /// </summary>
        public static IList<ClassRoomConfig> GetTopList(
            int id)
        {
            IDataReader reader = DBClassRoomConfig.GetTopList(
                id);

            return LoadListFromReader(reader);

        }


        /// <summary>
        /// Gets an IList with all instances of ClassRoomConfig.
        /// </summary>
        public static IList<ClassRoomConfig> GetAll()
        {
            IDataReader reader = DBClassRoomConfig.GetAll();
            return LoadListFromReader(reader);

        }

        /// <summary>
        /// Gets an IList with page of instances of ClassRoomConfig.
        /// </summary>
        /// <param name="pageNumber">The page number.</param>
        /// <param name="pageSize">Size of the page.</param>
        /// <param name="totalPages">total pages</param>
        public static IList<ClassRoomConfig> GetPage(int pageNumber, int pageSize, out int itemCount)
        {
            itemCount = 1;
            IDataReader reader = DBClassRoomConfig.GetPage(pageNumber, pageSize, out itemCount);
            return LoadListFromReader(reader);
        }


        /// <summary>
        /// Gets an IList with page of instances of ClassRoomConfig.
        /// </summary>
        /// <param name="pageNumber">The page number.</param>
        /// <param name="pageSize">Size of the page.</param>
        /// <param name="itemCount">total items</param>
        public static IList<ClassRoomConfig> GetListPage(int pageNumber, int pageSize, int pid, out int itemCount)
        {
            itemCount = 1;
            IDataReader reader = DBClassRoomConfig.GetListPage(pageNumber, pageSize, pid, out itemCount);
            return LoadListFromReader(reader);
        }



        #endregion




    }
DoClassRoomConfig

数据库类:

public static class DBClassRoomConfig
    {
        /// <summary>
        /// Gets the connection string for read.
        /// </summary>
        /// <returns></returns>
        private static string GetReadConnectionString()
        {
            return ConfigurationManager.AppSettings["MSSQLConnectionString"];

        }

        /// <summary>
        /// Gets the connection string for write.
        /// </summary>
        /// <returns></returns>
        private static string GetWriteConnectionString()
        {
            if (ConfigurationManager.AppSettings["MSSQLWriteConnectionString"] != null)
            {
                return ConfigurationManager.AppSettings["MSSQLWriteConnectionString"];
            }

            return ConfigurationManager.AppSettings["MSSQLConnectionString"];

        }


        /// <summary>
        /// Inserts a row in the ClassRoomConfig table. Returns new integer id.
        /// </summary>
        /// <param name="daySpan"> daySpan </param>
        /// <param name="stopTime"> stopTime </param>
        /// <param name="roomID"> roomID </param>
        /// <param name="roomName"> roomName </param>
        /// <param name="modifyDate"> modifyDate </param>
        /// <returns>int</returns>
        public static int Create(
            int daySpan,
            int stopTime,
            int roomID,
            string roomName,
            DateTime modifyDate)
        {
            SqlParameterHelper sph = new SqlParameterHelper(GetWriteConnectionString(), "ClassRoomConfig_Insert", 5);
            sph.DefineSqlParameter("@DaySpan", SqlDbType.Int, ParameterDirection.Input, daySpan);
            sph.DefineSqlParameter("@StopTime", SqlDbType.Int, ParameterDirection.Input, stopTime);
            sph.DefineSqlParameter("@RoomID", SqlDbType.Int, ParameterDirection.Input, roomID);
            sph.DefineSqlParameter("@RoomName", SqlDbType.NVarChar, 200, ParameterDirection.Input, roomName);
            sph.DefineSqlParameter("@ModifyDate", SqlDbType.DateTime, ParameterDirection.Input, modifyDate);
            int newID = Convert.ToInt32(sph.ExecuteScalar());
            return newID;
        }


        /// <summary>
        /// Updates a row in the ClassRoomConfig table. Returns true if row updated.
        /// </summary>
        /// <param name="id"> id </param>
        /// <param name="daySpan"> daySpan </param>
        /// <param name="stopTime"> stopTime </param>
        /// <param name="roomID"> roomID </param>
        /// <param name="roomName"> roomName </param>
        /// <param name="modifyDate"> modifyDate </param>
        /// <returns>bool</returns>
        public static bool Update(
            int id,
            int daySpan,
            int stopTime,
            int roomID,
            string roomName,
            DateTime modifyDate)
        {
            SqlParameterHelper sph = new SqlParameterHelper(GetWriteConnectionString(), "ClassRoomConfig_Update", 6);
            sph.DefineSqlParameter("@Id", SqlDbType.Int, ParameterDirection.Input, id);
            sph.DefineSqlParameter("@DaySpan", SqlDbType.Int, ParameterDirection.Input, daySpan);
            sph.DefineSqlParameter("@StopTime", SqlDbType.Int, ParameterDirection.Input, stopTime);
            sph.DefineSqlParameter("@RoomID", SqlDbType.Int, ParameterDirection.Input, roomID);
            sph.DefineSqlParameter("@RoomName", SqlDbType.NVarChar, 200, ParameterDirection.Input, roomName);
            sph.DefineSqlParameter("@ModifyDate", SqlDbType.DateTime, ParameterDirection.Input, modifyDate);
            int rowsAffected = sph.ExecuteNonQuery();
            return (rowsAffected > 0);

        }

        /// <summary>
        /// Deletes a row from the ClassRoomConfig table. Returns true if row deleted.
        /// </summary>
        /// <param name="id"> id </param>
        /// <returns>bool</returns>
        public static bool Delete(
            int id)
        {
            SqlParameterHelper sph = new SqlParameterHelper(GetWriteConnectionString(), "ClassRoomConfig_Delete", 1);
            sph.DefineSqlParameter("@Id", SqlDbType.Int, ParameterDirection.Input, id);
            int rowsAffected = sph.ExecuteNonQuery();
            return (rowsAffected > 0);

        }


        /// <summary>
        /// Gets an IDataReader with one row from the ClassRoomConfig table.
        /// </summary>
        /// <param name="id"> id </param>
        public static IDataReader GetOne(
            int id)
        {
            SqlParameterHelper sph = new SqlParameterHelper(GetReadConnectionString(), "ClassRoomConfig_SelectOne", 1);
            sph.DefineSqlParameter("@Id", SqlDbType.Int, ParameterDirection.Input, id);
            return sph.ExecuteReader();

        }
        //ClassRoomConfig_SelectOneByRoomID

        public static IDataReader GetOneByRoomID(
        int roomID)
        {
            SqlParameterHelper sph = new SqlParameterHelper(GetReadConnectionString(), "ClassRoomConfig_SelectOneByRoomID", 1);
            sph.DefineSqlParameter("@RoomID", SqlDbType.Int, ParameterDirection.Input, roomID);
            return sph.ExecuteReader();

        }


        /// <summary>
        /// Gets an IDataReader with some list row from the ClassRoomConfig table.
        /// </summary>
        /// <param name="id"> id </param>
        public static IDataReader GetTopList(
            int id)
        {
            SqlParameterHelper sph = new SqlParameterHelper(GetReadConnectionString(), "ClassRoomConfig_SelectTopList", 1);
            sph.DefineSqlParameter("@pid", SqlDbType.Int, ParameterDirection.Input, id);
            return sph.ExecuteReader();

        }



        /// <summary>
        /// Gets a count of rows in the ClassRoomConfig table.
        /// </summary>
        public static int GetCount()
        {

            return Convert.ToInt32(SqlHelper.ExecuteScalar(
                GetReadConnectionString(),
                CommandType.StoredProcedure,
                "ClassRoomConfig_GetCount",
                null));

        }



        /// <summary>
        /// Gets a Listcount of rows in the ClassRoomConfig table.
        /// </summary>
        public static int GetListCount(int pid)
        {
            SqlParameter theSqlParameter = new SqlParameter("@Pid", pid);
            return Convert.ToInt32(SqlHelper.ExecuteScalar(
                GetReadConnectionString(),
                CommandType.StoredProcedure,
                "ClassRoomConfig_GetListCount",
                theSqlParameter));

        }



        /// <summary>
        /// Gets an IDataReader with all rows in the ClassRoomConfig table.
        /// </summary>
        public static IDataReader GetAll()
        {

            return SqlHelper.ExecuteReader(
                GetReadConnectionString(),
                CommandType.StoredProcedure,
                "ClassRoomConfig_SelectAll",
                null);

        }

        /// <summary>
        /// Gets a page of data from the ClassRoomConfig table.
        /// </summary>
        /// <param name="pageNumber">The page number.</param>
        /// <param name="pageSize">Size of the page.</param>
        /// <param name="totalPages">total pages</param>
        public static IDataReader GetPage(
            int pageNumber,
            int pageSize,
            out int itemCount)
        {
            itemCount = GetCount();

            SqlParameterHelper sph = new SqlParameterHelper(GetReadConnectionString(), "ClassRoomConfig_SelectPage", 2);
            sph.DefineSqlParameter("@PageNumber", SqlDbType.Int, ParameterDirection.Input, pageNumber);
            sph.DefineSqlParameter("@PageSize", SqlDbType.Int, ParameterDirection.Input, pageSize);
            return sph.ExecuteReader();

        }


        public static IDataReader GetListPage(
            int pageNumber,
            int pageSize,
            int pid,
            out int itemCount)
        {
            itemCount = GetListCount(pid);

            SqlParameterHelper sph = new SqlParameterHelper(GetReadConnectionString(), "ClassRoomConfig_SelectListPage", 3);
            sph.DefineSqlParameter("@PageNumber", SqlDbType.Int, ParameterDirection.Input, pageNumber);
            sph.DefineSqlParameter("@PageSize", SqlDbType.Int, ParameterDirection.Input, pageSize);
            sph.DefineSqlParameter("@pid", SqlDbType.Int, ParameterDirection.Input, pid);
            return sph.ExecuteReader();

        }

    }
DBClassRoomConfig

 

你可能感兴趣的:(录播教室预约系统(九)-客户端部门管理员设定教室的预约规则)