Exemplo n.º 1
0
        private MessageListModel GetUnreachedMessage(ReachedMessageList reachedMessageList)
        {
            MessageListModel messageList = new MessageListModel();

            using (Controller.Message controllerMessage = new Controller.Message())
            {
                List <MessageModel> recordList = controllerMessage.GetUserMessage(aid, Controller.Message.MESSAGE_STATUS.UNREACH);

                if (recordList != null)
                {
                    foreach (MessageModel message in recordList)
                    {
                        if (reachedMessageList != null)
                        {
                            if (reachedMessageList.Contains((uint)message.mid))
                            {
                                continue;
                            }
                        }
                        messageList.Add(message);
                    }
                }
            }

            return(messageList);
        }
Exemplo n.º 2
0
        protected override void OnRequest()
        {
            base.OnRequest();

            ReachedMessageList reachedMessageList = getModel <ReachedMessageList>();

            try
            {
                if (reachedMessageList == null || reachedMessageList.Count <= 0)
                {
                    throw new ExceptionMessage("/language/parameter/lack");
                }

                foreach (uint messageID in reachedMessageList)
                {
                    new Controller.Message().MakeMessageRead(messageID);
                }

                WriteSuccess <String>("success");
            }
            catch (UnfulfilException ex)
            {
                WriteUnfulfil(ex.DisplayMessage);
            }
            catch (Database.Exception ex)
            {
                WriteException(ex);
            }
            catch (Exception ex)
            {
                WriteException(ex);
            }
        }
Exemplo n.º 3
0
        protected override void OnRequest()
        {
            base.OnRequest();

            int PullTimeout = SystemConfig.MessagePullingTimeout;
            int PullSleep   = SystemConfig.MessagePullingSleep;

            Server.ScriptTimeout = PullTimeout + 10;
            _startTime           = DateTime.Now;

            ReachedMessageList reachedMessageList = getModel <ReachedMessageList>();

            while (_startTime.AddSeconds(PullTimeout) >= DateTime.Now)
            {
                if (!Response.IsClientConnected)
                {
                    WriteEnd();
                }


                MessageListModel messageList = GetUnreachedMessage(reachedMessageList);
                if (messageList.Count > 0)
                {
                    WriteSuccess <MessageListModel>(messageList);
                    WriteEnd();
                }

                Thread.Sleep(PullSleep);
            }

            WriteUnfulfil("No message");
        }