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