static void Main(string[] args) { Console.WriteLine("***** Message *****"); EncodingOptions options = new EncodingOptions( "FRA", VersionID.V2_5_1, new List <string>() { "C:\\Users\\Xavier\\Documents\\Sources\\NET\\HL7\\REP1", "C:\\Users\\Xavier\\Documents\\Sources\\NET\\HL7\\REP2", "C:\\Users\\Xavier\\Documents\\Sources\\NET\\HL7\\REP3" }, new EncodingCharacters()); EncoderContainer encoder = new EncoderContainer(options); AbstractMessage msgA28 = encoder.CreateMessage("A28", null); string retEncode = encoder.Encode(msgA28, true); Console.WriteLine($"Encode = {retEncode}"); Console.WriteLine($"Full = {msgA28.GetType().FullName}"); }
private void ResponseParse(AbstractMessage response) { if (response is LoginResponse) { Guid userID = (response as LoginResponse).UserID; curUser = userID; GetLoginEvent.Invoke(userID); } else if (response is CreateGameResponse) { Guid gameID = (response as CreateGameResponse).GameID; curGame = gameID; CreateGameEvent?.Invoke(gameID); } else if (response is GameListResponse) { GetGameListEvent?.Invoke((response as GameListResponse).GameList); } else if (response is SendMazeResponse) { SendMazeEvent?.Invoke(); } else if (response is YourStep) { YourStepEvent?.Invoke(); } else if (response is SendStartPositionResponce) { SendPointEvent?.Invoke(); } else if (response is MoveObjectResponse) { MoveObjectEvent?.Invoke((bool)(response as MoveObjectResponse).IsMoved); } else if (response is GiveMaze) { GiveMazeEvent?.Invoke(); } else if (response is GivePoint) { GivePointEvent?.Invoke(); } //else if (response is CumulativeResponse) //{ // foreach (var resp in (response as CumulativeResponse).ResponseList) // { // ResponseParse(resp); // } //} else if (response is GameFinished) { if ((response as GameFinished).Winner.CompareTo(curUser) == 0) { GameIsFinishedEvent?.Invoke("Вы победили", (response as GameFinished).FullMaze); } else { GameIsFinishedEvent?.Invoke("Вы проиграли", (response as GameFinished).FullMaze); } } else { throw new Exception("Неизвестный пакет: " + response.GetType()); } }