/// <summary> /// Gets the required information from the InfoServer /// </summary> /// <param name="_events"></param> public GameStatusViewModel(IEventAggregator _events) { events = _events; GameNews gameNews = GetGameNews(); GameStatus gameStatus = GetGameStatus(); GameNewsLink = gameNews.link; GameNewsTitle = gameNews.title; if (gameStatus.EUstatus) { EUstatus = "working correctly"; } else { EUstatus = "server down"; } if (gameStatus.NAstatus) { NAstatus = "working correctly"; } else { NAstatus = "server down"; } }
/// <summary> /// Handles the Refresh button for game news /// </summary> public void RefreshGameNews() { GameNews gameNews = GetGameNews(); GameNewsLink = gameNews.link; GameNewsTitle = gameNews.title; }
/// <summary> /// Gets latest news from the InfoServer /// </summary> private static GameNews GetGameNews() { ServerMessage request = new ServerMessage(); ServerMessage response = new ServerMessage(); request.comment = "GAMENEWS"; try { using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)) { socket.Connect("localhost", 55555); ConnectionHelper.SendMessage(socket, request); response = ConnectionHelper.ReceiveMessage(socket); } } catch (Exception e) { GameNews tmp = new GameNews(); tmp.title = "UNABLE TO CONNECT TO THE INFO SERVER. PLEASE REFRESH!"; tmp.link = "https://www.ea.com/pl-pl/games/anthem"; response.message = tmp; } return(response.message as GameNews); }
public ActionResult AddNews(GameNews model) { MsgBase msg = new MsgBase(); try { int i = 0; if (model.ID == 0) { i = newsBll.Add(model); } else { GameNews news = newsBll.GetById(model.ID); if (news != null) { news.Author = model.Author; news.Title = model.Title; news.Content = model.Content; news.Type = model.Type; i = newsBll.Update(news); } } msg.Message = i > 0 ? MsgBase.SuccessMessage : MsgBase.FailMessage; msg.Code = i > 0 ? 1 : 0; } catch (Exception) { msg.Code = -1; msg.Message = MsgBase.ErrMessage; } return(Json(msg)); }
public ActionResult NewsList() { GameNews model = new GameNews(); model.Type = "0"; return(View(model)); }
public ActionResult Save(SaveGameNews savemodel) { var gamelist = _mobilGameTask.GetAll(null, "").ToSelectList(c => c.ID.ToString(), c => c.GameName); gamelist.Insert(0, new SelectListItem { Selected = true, Text = "平台", Value = "0" }); ViewData["gamelist"] = gamelist; ViewData["newstypelist"] = NewsTypeEnum.Active.ToSelectListAddDefault(); if (ModelState.IsValid) { if (savemodel.ID == null) { var model = new GameNews { GameID = savemodel.GameID, NewsType = savemodel.NewsType, Title = savemodel.Title, Content = savemodel.Content, ShortDes = savemodel.ShortDes, ShortDesImg = "", IsDisplayHomePage = savemodel.IsDisplayHomePage, ClickCount = savemodel.ClickCount, CreateDate = savemodel.CreateDate, CreatePeople = savemodel.CreatePeople, IsWeb = savemodel.IsWeb, }; _gamenewsTask.Add(model); } else { var model = _gamenewsTask.GetById((int)savemodel.ID); if (model == null) { return(AlertMsg("参数错误", HttpContext.Request.UrlReferrer.PathAndQuery)); } model.GameID = savemodel.GameID; model.NewsType = savemodel.NewsType; model.Title = savemodel.Title; model.Content = savemodel.Content; model.ShortDes = savemodel.ShortDes; model.ShortDesImg = ""; model.IsDisplayHomePage = savemodel.IsDisplayHomePage; model.ClickCount = savemodel.ClickCount; model.CreateDate = savemodel.CreateDate; model.CreatePeople = savemodel.CreatePeople; model.IsWeb = savemodel.IsWeb; _gamenewsTask.Update(model); } return(AlertMsg("保存成功", HttpContext.Request.UrlReferrer.PathAndQuery)); } return(View(savemodel)); }
public JsonResult GetNews(int ID) { GameNews model = newsBll.GetById(ID); if (model != null) { return(Json(model, JsonRequestBehavior.AllowGet)); } return(Json("{}", JsonRequestBehavior.AllowGet)); }
public void Update(GameNews model) { _dao.Update(model); }
public void Add(GameNews model) { _dao.Add(model); }
static void Main(string[] args) { GameNews gameNews = new GameNews(); GameStatus gameStatus = new GameStatus(); int dotsInLink = 0; bool incorrectLink = true; Console.WriteLine("Server starting, please pick starting parameters."); char input = '0'; do { Console.WriteLine("Please pick NA server status, working/not working (w/n):"); input = Char.ToLower(Console.ReadKey(true).KeyChar); Console.WriteLine(input); if (input == 'w') { gameStatus.NAstatus = true; } else if (input == 'n') { gameStatus.NAstatus = false; } } while (input != 'w' && input != 'n'); input = '0'; do { Console.WriteLine("Please pick EU server status, working/not working (w/n):"); input = Char.ToLower(Console.ReadKey(true).KeyChar); if (input == 'w') { gameStatus.EUstatus = true; } else if (input == 'n') { gameStatus.EUstatus = false; } } while (input != 'w' && input != 'n'); Console.WriteLine("Please pick a title for the latest news:"); gameNews.title = Console.ReadLine(); Console.WriteLine("Please input the link for the latest news:"); do { dotsInLink = 0; gameNews.link = Console.ReadLine(); for (int i = 1; i < gameNews.link.Length; i++) { if (gameNews.link[i] == '.') { dotsInLink++; } if (dotsInLink == 2) { incorrectLink = false; } } } while (incorrectLink); //Console.WriteLine(gameStatus.NAstatus + " " + gameStatus.EUstatus + " " + gameInfo.title + " " + gameInfo.link); Console.WriteLine("Server starting..."); Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); int port = 55555; int queue = 15; try { IPAddress ip = IPAddress.Any; IPEndPoint endPoint = new IPEndPoint(ip, port); socket.Bind(endPoint); socket.Listen(queue); while (true) { Socket connectionSocket = socket.Accept(); Task.Run(() => { Console.WriteLine("New connection."); ServerMessage receivedMessage = ConnectionHelper.ReceiveMessage(connectionSocket); ServerMessage response = new ServerMessage(); if (receivedMessage.comment == "SERVERSTATUS") { response.comment = "SERVERSTATUS"; Console.WriteLine("Client requested: serverstatus check."); response.message = gameStatus; } else if (receivedMessage.comment == "GAMENEWS") { response.comment = "GAMENEWS"; Console.WriteLine("Client requested: gamenews check."); response.message = gameNews; } else { Console.WriteLine("Incorrect request from the client."); } Console.WriteLine("Sending a response for client's request..."); ConnectionHelper.SendMessage(connectionSocket, response); Console.WriteLine("Response sent."); }); } } catch (SocketException e) { Console.WriteLine($"Socket exception! {e}"); } catch (Exception e) { Console.WriteLine($"Other exception: {e}"); } finally { Console.WriteLine("Server crashed."); } }