public MessageSearch(MessageSearchRequest request) { if (request != null) { ReceiverId = request.ReceiverId; IsReaded = request.IsReaded; PageIndex = request.PageIndex; PageSize = request.PageSize; } }
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())); }
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)); }
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(); }
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; }
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); } }
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); }
/// <summary> /// 搜索消息 /// </summary> /// <param name="request"></param> /// <returns></returns> public PagerModel <Data.Entity.Messages> Search(MessageSearchRequest request) { MessageSearch search = new MessageSearch(request); return(search.Search()); }