コード例 #1
0
        /// <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";
            }
        }
コード例 #2
0
        /// <summary>
        /// Handles the Refresh button for game news
        /// </summary>
        public void RefreshGameNews()
        {
            GameNews gameNews = GetGameNews();

            GameNewsLink  = gameNews.link;
            GameNewsTitle = gameNews.title;
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
ファイル: NewsController.cs プロジェクト: tangwulin/mir
        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));
        }
コード例 #5
0
ファイル: NewsController.cs プロジェクト: tangwulin/mir
        public ActionResult NewsList()
        {
            GameNews model = new GameNews();

            model.Type = "0";
            return(View(model));
        }
コード例 #6
0
        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));
        }
コード例 #7
0
ファイル: NewsController.cs プロジェクト: tangwulin/mir
        public JsonResult GetNews(int ID)
        {
            GameNews model = newsBll.GetById(ID);

            if (model != null)
            {
                return(Json(model, JsonRequestBehavior.AllowGet));
            }
            return(Json("{}", JsonRequestBehavior.AllowGet));
        }
コード例 #8
0
 public void Update(GameNews model)
 {
     _dao.Update(model);
 }
コード例 #9
0
 public void Add(GameNews model)
 {
     _dao.Add(model);
 }
コード例 #10
0
        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.");
            }
        }