Пример #1
0
 /// <summary>
 /// 新增(传入事务处理)
 /// </summary>
 /// <param name="p_BE">要新增的实体</param>
 /// <param name="sqlTrans">事务类</param>
 public void RAdd(BaseEntity p_BE, BaseEntity[] p_BE2, IDBTransAccess sqlTrans)
 {
     try
     {
         this.CheckCorrect(p_BE);
         MSGMessage entity = (MSGMessage)p_BE;
         //string sql = "SELECT FormNo FROM SMS_MSGInput WHERE FormNo=" + SysString.ToDBString(entity.FormNo);
         //DataTable dt = sqlTrans.Fill(sql);
         //if (dt.Rows.Count > 0)
         //{
         //    throw new BaseException("单号已存在,请重新生成");
         //}
         MSGMessageCtl control = new MSGMessageCtl(sqlTrans);
         entity.ID = (int)EntityIDTable.GetID((long)SysEntity.SMS_MSGMessage, sqlTrans);
         control.AddNew(entity);
         for (int i = 0; i < p_BE2.Length; i++)
         {
             MSGMessageDtsRule rule      = new MSGMessageDtsRule();
             MSGMessageDts     entityDts = (MSGMessageDts)p_BE2[i];
             entityDts.MainID = entity.ID;
             entityDts.Seq    = i + 1;
             rule.RAdd(entityDts, sqlTrans);
         }
         //FormNoControlRule rulest = new FormNoControlRule();
         //rulest.RAddSort((int)FormNoControlEnum.短信输入单号, sqlTrans);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
Пример #2
0
        /// <summary>
        /// 获得实体
        /// </summary>
        /// <returns></returns>
        private MSGMessage EntityGet()
        {
            MSGMessage entity = new MSGMessage();

            entity.ID = HTDataID;
            return(entity);
        }
Пример #3
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int Delete(BaseEntity p_Entity)
        {
            try
            {
                MSGMessage MasterEntity = (MSGMessage)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //删除主表数据
                string Sql = "";
                Sql = "DELETE FROM SMS_MSGMessage WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID);
                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(Sql);
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(Sql);
                }

                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBDelete), E);
            }
        }
Пример #4
0
        /// <summary>
        /// 删除
        /// </summary>
        public override void EntityDelete()
        {
            MSGMessageRule rule   = new MSGMessageRule();
            MSGMessage     entity = EntityGet();

            rule.RDelete(entity);
        }
Пример #5
0
        /// <summary>
        /// 设置
        /// </summary>
        public override void EntitySet()
        {
            MSGMessage entity = new MSGMessage();

            entity.ID = HTDataID;
            bool findFlag = entity.SelectByID();

            txtContext.Text = entity.Context.ToString();
            //txtMesPhone.Text = entity.MesPhone.ToString();
            //txtMesMakeOPID.Text = entity.MesMakeOPID.ToString();
            txtTargetOPID.Text  = entity.TargetOPID.ToString();
            txtMesTime.DateTime = entity.MesTime;
            //txtMSID.Text = entity.MSID.ToString();

            string sql = "SELECT * FROM SMS_MSGMain WHERE DID=" + SysString.ToDBString(HTDataID);

            sql += " AND MSGSourceID=" + SysString.ToDBString((int)EnumMSGSource.自定义);
            DataTable dt = SysUtils.Fill(sql);

            if (dt.Rows.Count > 0)
            {
                lbSendShow.Text = "已发送";
            }
            else
            {
                lbSendShow.Text = "未发送";
            }

            if (!findFlag)
            {
            }
            BindGridDts();
        }
Пример #6
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int Update(BaseEntity p_Entity)
        {
            try
            {
                MSGMessage MasterEntity = (MSGMessage)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //更新主表数据
                StringBuilder UpdateBuilder = new StringBuilder();
                UpdateBuilder.Append("UPDATE SMS_MSGMessage SET ");
                UpdateBuilder.Append(" ID=" + SysString.ToDBString(MasterEntity.ID) + ",");
                UpdateBuilder.Append(" Context=" + SysString.ToDBString(MasterEntity.Context) + ",");
                UpdateBuilder.Append(" MesPhone=" + SysString.ToDBString(MasterEntity.MesPhone) + ",");
                UpdateBuilder.Append(" MesMakeOPID=" + SysString.ToDBString(MasterEntity.MesMakeOPID) + ",");
                UpdateBuilder.Append(" TargetOPID=" + SysString.ToDBString(MasterEntity.TargetOPID) + ",");

                if (MasterEntity.MesTime != SystemConfiguration.DateTimeDefaultValue)
                {
                    UpdateBuilder.Append(" MesTime=" + SysString.ToDBString(MasterEntity.MesTime.ToString("yyyy-MM-dd HH:mm:ss")) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" MesTime=null,");
                }

                UpdateBuilder.Append(" MSID=" + SysString.ToDBString(MasterEntity.MSID) + ",");
                UpdateBuilder.Append(" SubmitFlag=" + SysString.ToDBString(MasterEntity.SubmitFlag) + ",");
                UpdateBuilder.Append(" DelFlag=" + SysString.ToDBString(MasterEntity.DelFlag));

                UpdateBuilder.Append(" WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID));



                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(UpdateBuilder.ToString());
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(UpdateBuilder.ToString());
                }
                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBUpdate), E);
            }
        }
Пример #7
0
        /// <summary>
        /// 修改
        /// </summary>
        public override void EntityUpdate()
        {
            MSGMessageRule rule   = new MSGMessageRule();
            MSGMessage     entity = EntityGet();

            MSGMessageDts[] entitydts = EntityDtsGet();
            //entity.SubmitFlag = this.HTSubmitFlagInsertGet();
            rule.RUpdate(entity, entitydts);
        }
Пример #8
0
        /// <summary>
        /// 新增
        /// </summary>
        public override int EntityAdd()
        {
            MSGMessageRule rule   = new MSGMessageRule();
            MSGMessage     entity = EntityGet();

            MSGMessageDts[] entitydts = EntityDtsGet();
            //entity.SubmitFlag = this.HTSubmitFlagInsertGet();
            rule.RAdd(entity, entitydts);
            return(entity.ID);
        }
Пример #9
0
        /// <summary>
        /// 获得实体
        /// </summary>
        /// <returns></returns>
        private MSGMessage EntityGet()
        {
            MSGMessage entity = new MSGMessage();

            entity.ID = HTDataID;
            entity.SelectByID();
            entity.Context = txtContext.Text.Trim();
            //entity.MesPhone = txtMesPhone.Text.Trim();
            //entity.MesMakeOPID = txtMesMakeOPID.Text.Trim();
            entity.TargetOPID = txtTargetOPID.Text.Trim();
            entity.MesTime    = txtMesTime.DateTime.Date;
            //entity.MSID = SysConvert.ToInt32(txtMSID.Text.Trim());

            return(entity);
        }
Пример #10
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="p_BE">要删除的实体</param>
 /// <param name="sqlTrans">事务类</param>
 public void RDelete(BaseEntity p_BE, IDBTransAccess sqlTrans)
 {
     try
     {
         this.CheckCorrect(p_BE);
         MSGMessage    entity  = (MSGMessage)p_BE;
         MSGMessageCtl control = new MSGMessageCtl(sqlTrans);
         control.Delete(entity);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
Пример #11
0
 /// <summary>
 /// 新增(传入事务处理)
 /// </summary>
 /// <param name="p_BE">要新增的实体</param>
 /// <param name="sqlTrans">事务类</param>
 public void RAdd(BaseEntity p_BE, IDBTransAccess sqlTrans)
 {
     try
     {
         this.CheckCorrect(p_BE);
         MSGMessage    entity  = (MSGMessage)p_BE;
         MSGMessageCtl control = new MSGMessageCtl(sqlTrans);
         entity.ID = (int)EntityIDTable.GetID((long)SysEntity.SMS_MSGMessage, sqlTrans);
         control.AddNew(entity);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
Пример #12
0
 /// <summary>
 /// 检查将要操作的数据是否符合业务规则
 /// </summary>
 /// <param name="p_BE"></param>
 private void CheckCorrect(BaseEntity p_BE)
 {
     MSGMessage entity = (MSGMessage)p_BE;
 }
Пример #13
0
        public void Receive(object client)
        {
            NetworkStream clientStream = Client.GetStream();

            byte[] message = new byte[8192];
            int    bytesRead;
            int    errorCount     = 0;
            double firstErrorTick = 0;
            double nowTicks       = 0;

            while (true)
            {
                //System.Threading.Thread.Sleep(Program.Random.Next(50, 200));

                bytesRead = 0;

                try
                {
                    //blocks until a client sends a message
                    bytesRead = clientStream.Read(message, 0, 8192);
                }
                catch
                {
                    //a socket error has occured
                    break;
                }

                if (bytesRead == 0)
                {
                    //the client has disconnected from the server
                    break;
                }

                //message has successfully been received
                string info = "";
                try
                {
                    decoder.PushMsg(Encoding.Unicode.GetString(message, 0, bytesRead));                    //encoder.GetString(message, 0, bytesRead));
                    info = decoder.GetMsg();
                    while (info != null)
                    {
                        //System.Console.WriteLine(info);
                        Message msg = Message.Decode(info);
                        if (msg is MSGPlayer)
                        {
                            ((MSGPlayer)msg).HandleMsg(this);
                        }
                        else
                        {
                            msg.HandleMsg();
                        }

                        info = decoder.GetMsg();
                    }
                }
                catch (MultiPlayerError)
                {
                    break;
                }
                catch (SameNameError)
                {
                    Client.Close();
                    thread.Abort();
                }
                catch (Exception)
                {
                    nowTicks = MPManager.Simulator.GameTime;
                    if (firstErrorTick == 0)
                    {
                        firstErrorTick = nowTicks;
                        errorCount     = 1;
                    }
                    if (errorCount >= 5 && nowTicks - firstErrorTick < 10)                     //5 errors last 10 seconds
                    {
                        MSGMessage emsg = new MSGMessage(this.Username, "Error", "Too many errors received from you in a short period of time.");
                        MPManager.BroadCast(emsg.ToString());
                        break;
                    }
                    else if (errorCount < 5)
                    {
                        errorCount++;
                    }
                    else
                    {
                        firstErrorTick = nowTicks; errorCount = 0;
                    }
                    //System.Console.WriteLine(e.Message + info);
                }
            }

            System.Console.WriteLine("{0} quit", this.Username);
            if (MPManager.Simulator.Confirmer != null)
            {
                MPManager.Simulator.Confirmer.Information(MPManager.Catalog.GetStringFmt("{0} quit.", this.Username));
            }
            Client.Close();
            if (this.Train != null && this.status != Status.Removed)             //remember the location of the train in case the player comes back later, if he is not removed by the dispatcher
            {
                if (!MPManager.Instance().lostPlayer.ContainsKey(this.Username))
                {
                    MPManager.Instance().lostPlayer.Add(this.Username, this);
                }
                this.quitTime       = MPManager.Simulator.GameTime;
                this.Train.SpeedMpS = 0.0f;
                this.status         = Status.Quit;
            }
            MPManager.Instance().AddRemovedPlayer(this);            //add this player to be removed
            MPManager.BroadCast((new MSGQuit(this.Username)).ToString());
            thread.Abort();
        }
Пример #14
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int AddNew(BaseEntity p_Entity)
        {
            try
            {
                MSGMessage MasterEntity = (MSGMessage)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //新增主表数据
                StringBuilder MasterField = new StringBuilder();
                StringBuilder MasterValue = new StringBuilder();
                MasterField.Append("INSERT INTO SMS_MSGMessage(");
                MasterValue.Append(" VALUES(");
                MasterField.Append("ID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ID) + ",");
                MasterField.Append("Context" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Context) + ",");
                MasterField.Append("MesPhone" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.MesPhone) + ",");
                MasterField.Append("MesMakeOPID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.MesMakeOPID) + ",");
                MasterField.Append("TargetOPID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.TargetOPID) + ",");
                MasterField.Append("MesTime" + ",");
                if (MasterEntity.MesTime != SystemConfiguration.DateTimeDefaultValue)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.MesTime.ToString("yyyy-MM-dd HH:mm:ss")) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("MSID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.MSID) + ",");
                MasterField.Append("SubmitFlag" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.SubmitFlag) + ",");
                MasterField.Append("DelFlag" + ")");
                MasterValue.Append(SysString.ToDBString(MasterEntity.DelFlag) + ")");



                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString());
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString());
                }
                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBInsert), E);
            }
        }