コード例 #1
0
ファイル: ServerController.cs プロジェクト: phyo34/Team3-Temp
        /// <summary>
        /// Processes messages recieved from client.
        /// If message is a sucessful login, server will return product list.
        /// If message is
        /// </summary>
        /// <param name="s"></param>
        /// <param name="msgType"></param>
        /// <returns></returns>
        public string  ProcessMessage(string s, string msgType)
        {
            string[] splitter = s.Split('#');
            string   msg      = splitter[0];
            string   ID       = splitter[1];

            // Retrieve message from client
            serializedmsg = msg;
            //Check to see what type of message it is
            JsonDeserializer rm = new JsonDeserializer();

            string returnmsg = "";

            switch (msgType)
            {
            case "Login":

                LoginMessage login = rm.DeserializeLoginMessage(serializedmsg);

                string valid = c.ValidateLogin(login.userName, login.password);

                switch (valid)
                {
                case "Good":
                {
                    AddUser(ID, login.userName);
                    //Serialize list of product

                    returnmsg = "Login#" + JsonConvert.SerializeObject(p.GetProduct);
                    break;
                }

                case "New":
                case "Bad":
                {
                    returnmsg = "Failed#failed";
                    break;
                }

                default:
                    break;
                }
                //Add to the list if it is new user
                if (valid == "New")
                {
                    c.Add(login.userName, login.password);
                }
                break;

            case "Bid":

                BidMessage bid          = rm.DeserializeBidMessage(msg);
                bool       validProduct = ValidateBid(bid.productName, bid.bidAmount);
                if (validProduct)
                {
                    returnmsg = "Bid#" + JsonConvert.SerializeObject(p.GetProduct);

                    AddTopBid(bid.productName, ID);
                }
                else
                {
                    returnmsg = "BadBid#" + JsonConvert.SerializeObject(p.GetProduct);
                }
                break;

            default:
                break;
            }
            return(returnmsg);
        }