/// <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); }