Exemplo n.º 1
0
        static async void ParseMessage(string message)
        {
            Message msg = MessageParser.Deserialize(message);

            Console.WriteLine($"[From Client]: {message}");

            switch (msg.Command)
            {
            case "UpdateDataRequest":
                _ = UpdateEveryVinylSend();
                break;

            case "AddVinyl":
                var vinylToAdd = MessageParser.DeserializeType <VinylDTO>(msg.Data.ToString());
                await srvVinyls.AddVinyl(vinylToAdd.ID, vinylToAdd.InStock);

                _ = ConfirmSend();
                break;

            case "RemoveVinyl":
                var vinylToRemove = MessageParser.DeserializeType <int>(msg.Data.ToString());

                await srvVinyls.RemoveStockVinyl(vinylToRemove, 1);

                _ = ConfirmSend();
                break;

            case "TimeInterval":
                float timeInterval = MessageParser.DeserializeType <float>(msg.Data.ToString());

                timeTracker.ProcessTimeInterval(timeInterval);
                break;

            case "Subscribe":
                if (vinylSubscr == null)
                {
                    vinylSubscr = MessageParser.DeserializeType <VinylDTO>(msg.Data.ToString());
                    _           = Task.Run(() => RemoveOneVinylInTime());
                    _           = ConfirmSend();
                }
                break;

            case "Unsubscribe":
                var vinyl = MessageParser.DeserializeType <VinylDTO>(msg.Data.ToString());
                if (vinyl.ID == vinylSubscr.ID)
                {
                    vinylSubscr = null;
                    _           = ConfirmSend();
                }
                break;
            }
        }
Exemplo n.º 2
0
        public void TestAddingVinyls()
        {
            Assert.IsNotNull(vinylsManager);

            Assert.IsNotNull(vinylsManager.GetAllVinylsAsDTO());

            int expectedVinylsCounter = 5;

            Assert.AreEqual(vinylsManager.GetAllVinylsAsDTO().Count, expectedVinylsCounter);

            VinylDTO vinylDTO = new VinylDTO()
            {
                ID = -1, Band = "test", Title = "test", Price = 1.99M
            };

            Assert.IsTrue(vinylsManager.AddVinyl(vinylDTO));

            Assert.AreEqual(vinylsManager.GetAllVinylsAsDTO().Count, expectedVinylsCounter + 1);
        }