Exemple #1
0
        static void ReceiveHander(string[] recv)
        {
            int opcode = -1;
            int idx    = -1;

            try
            {
                opcode = Int32.Parse(recv[0]);
                idx    = Int32.Parse(recv[1]);
            } catch (Exception e)
            {
            }

            if (opcode == -1 || idx == -1)
            {
                return;
            }


            switch (opcode)
            {
            case 0:     //getHello
                break;

            case 1:     //requestShopInfo
            {
                sb.Append("1<>");
                for (int i = 0; i < shops.Count; i++)
                {
                    Write packet = new Write(1);
                    packet.writeLine(shops[i].getId().ToString());
                    packet.writeLine(shops[i].getName().ToString());
                    packet.writeLine(shops[i].getNumber().ToString());
                    packet.writeLine(shops[i].getNew().ToString());
                    packet.writeLine(shops[i].getOld().ToString());
                    packet.writeLine(shops[i].getCategory().ToString());
                    packet.writeLine(shops[i].getImage().ToString());
                    packet.writeLine(shops[i].getStar().ToString());
                    packet.writeLine(shops[i].getTax().ToString());
                    packet.writeLine(shops[i].getCompany().ToString());
                    packet.writeLine(shops[i].getOwner().ToString());

                    sb.Append(packet.getPacket(true));
                    packet = null;
                }
                sb.Append("<EOF>");
                Send(sb.ToString(), idx);
                sb.Clear();
                System.Threading.Thread.Sleep(250);


                sb.Append("2<>");
                for (int i = 0; i < shops.Count; i++)
                {
                    for (int j = 0; j < shops[i].getItems().Count; j++)
                    {
                        Write    packet = new Write(2);
                        ShopItem temp   = shops[i].getItems()[j];
                        packet.writeLine(i.ToString());
                        packet.writeLine(temp.getShopId().ToString());
                        packet.writeLine(temp.getName().ToString());
                        packet.writeLine(temp.getImage().ToString());
                        packet.writeLine(temp.getPrice().ToString());
                        packet.writeLine(temp.getCategory().ToString());

                        sb.Append(packet.getPacket(true));
                        packet = null;
                    }
                }
                sb.Append("<EOF>");
                Send(sb.ToString(), idx);
                sb.Clear();
                System.Threading.Thread.Sleep(250);

                sb.Append("3<>");
                for (int i = 0; i < shops.Count; i++)
                {
                    for (int j = 0; j < shops[i].getReviews().Count; j++)
                    {
                        Write  packet = new Write(3);
                        Review temp   = shops[i].getReviews()[j];
                        packet.writeLine(i.ToString());
                        packet.writeLine(temp.getShopId().ToString());
                        packet.writeLine(temp.getNickName().ToString());
                        packet.writeLine(temp.getComment().ToString());
                        packet.writeLine(temp.getScore().ToString());

                        sb.Append(packet.getPacket(true));
                        packet = null;
                    }
                }
                sb.Append("<EOF>");
                Send(sb.ToString(), idx);
                sb.Clear();
                System.Threading.Thread.Sleep(250);
            }
            break;

            case 3:
            {
                int    id       = Int32.Parse(recv[2]);
                string nickname = recv[3];
                int    score    = Int32.Parse(recv[4]);
                string comment  = recv[5];

                foreach (var shop in shops)
                {
                    if (shop.getId() == id)
                    {
                        shop.addReview(new Review(nickname, comment, score, id));
                    }
                }
                ShopFactory.saveReview(con, nickname, comment, id, score);
            }
            break;
            }
            opcode = -1;
            idx    = -1;
        }