Ejemplo n.º 1
0
 public MessageSearch(MessageSearchRequest request)
 {
     if (request != null)
     {
         ReceiverId = request.ReceiverId;
         IsReaded   = request.IsReaded;
         PageIndex  = request.PageIndex;
         PageSize   = request.PageSize;
     }
 }
Ejemplo n.º 2
0
        public override List <Model.Message> Get(MessageSearchRequest search)
        {
            var query = _context.Messages.AsQueryable();

            if (search.UserId > 0)
            {
                query = query.Where(x => x.UserId == search.UserId);
            }
            query = query.OrderByDescending(x => x.DateCreated);
            return(_mapper.Map <List <Model.Message> >(query.ToList()));
        }
Ejemplo n.º 3
0
        public IActionResult Search(MessageSearchViewModel model)
        {
            long userId = Utility.GetUserContext().UserId;

            MessageSearchRequest request = new MessageSearchRequest
            {
                PageIndex  = model.PageIndex,
                PageSize   = model.PageSize,
                IsReaded   = model.IsReaded,
                ReceiverId = userId
            };

            var data = service.Search(request);

            return(Ok(data));
        }
Ejemplo n.º 4
0
        public void UdpBroadcastRequest()
        {
            MessageSearchRequest message          = new MessageSearchRequest();
            IPAddress            currentIPAddress = NetworkInfo.GetCurrentIP();

            message.Port     = ((IPEndPoint)socketUdpHandler.LocalEndPoint).Port;
            message.IPAdress = currentIPAddress.ToString();
            IPAddress  mask            = NetworkInfo.GetIPv4Mask(currentIPAddress);
            IPAddress  strongBroadcast = NetworkInfo.GetBroadcastAddress(currentIPAddress, mask);
            IPEndPoint IPendPoint      = new IPEndPoint(strongBroadcast, ServerPort);
            Socket     sendRequest     = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            sendRequest.SendTo(messageSerializer.Serialize(message, message.GetType()), IPendPoint);
            Thread threadReceiveUdp = new Thread(ReceiveMessagesUdp);

            threadReceiveUdp.IsBackground = true;
            threadReceiveUdp.Start();
        }
Ejemplo n.º 5
0
        public async Task Init()
        {
            IsBusy = true;
            IEnumerable <Model.Message> list;

            if (APIService.Role == "Administrator")
            {
                list = await _serviceMessages.Get <IEnumerable <Model.Message> >(null);
            }
            else
            {
                var request = new MessageSearchRequest()
                {
                    UserId = APIService.UserId
                };
                list = await _serviceMessages.Get <IEnumerable <Model.Message> >(request);
            }
            MessageList.Clear();
            UnreadList.Clear();
            foreach (var message in list)
            {
                if (APIService.Role == "Administrator")
                {
                    if (message.Response == null)
                    {
                        UnreadCount++;
                        UnreadList.Add(message);
                    }
                }
                else
                {
                    if (!message.IsOpened)
                    {
                        UnreadCount++;
                        UnreadList.Add(message);
                    }
                }
                MessageList.Add(message);
            }
            ;
            IsBusy = false;
        }
Ejemplo n.º 6
0
        public static void ListenUdpBroadcast()
        {
            Socket     socketListener = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            IPEndPoint localEndPoint  = new IPEndPoint(IPAddress.Any, Port);

            socketListener.Bind(localEndPoint);
            byte[]   data     = new byte[1024 * 5];
            EndPoint endPoint = localEndPoint;

            Console.WriteLine("The server avaible (UDP)");
            while (true)
            {
                int          amount           = socketListener.ReceiveFrom(data, ref endPoint);
                MemoryStream messageContainer = new MemoryStream(data, 0, data.Length);
                messageContainer.Position = 0;
                MessageSearchRequest message = (MessageSearchRequest)messageSerializer.Deserialize(messageContainer,
                                                                                                   typeof(MessageSearchRequest), null);
                HandleSearchMessage(message);
            }
        }
Ejemplo n.º 7
0
        public static void HandleSearchMessage(MessageSearchRequest message)
        {
            while (gameLogic == null)
            {
                ;
            }
            MessageServerInfo messageResponse = new MessageServerInfo()
            {
                IPAdress             = NetworkInfo.GetCurrentIP().ToString(),
                Port                 = Port,
                MaxPlayersAmount     = MaxUsersAmount,
                CurrentPlayersAmount = gameLogic.Players.Count,
                MapName              = "Level 1",
                MapWidth             = gameLogic.Map.Width,
                MapHeight            = gameLogic.Map.Height
            };
            Socket     socketSetAdress = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            IPEndPoint endPoint        = new IPEndPoint(IPAddress.Parse(message.IPAdress), message.Port);

            socketSetAdress.SendTo(messageSerializer.Serialize(messageResponse, messageResponse.GetType()), endPoint);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 搜索消息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PagerModel <Data.Entity.Messages> Search(MessageSearchRequest request)
        {
            MessageSearch search = new MessageSearch(request);

            return(search.Search());
        }