/// <summary>
        /// Implementación de Contrato para obtener datos de un jugador
        /// </summary>
        /// <param name="actualPlayer"></param>
        public void GetActualPlayer(Jugador actualPlayer)
        {
            DataObtainedResult dataObtainedResult = DataObtainedResult.ErrorObtainingData;

            DataAccess.Jugador searchedPlayer = jugadorDataManager.GetPlayerByNickname(actualPlayer.Apodo);

            if (searchedPlayer != null)
            {
                Dominio.Jugador domainSearchedPlayer = new Dominio.Jugador
                {
                    IdJugador            = searchedPlayer.idJugador,
                    Apodo                = searchedPlayer.apodo,
                    CorreoElectronico    = searchedPlayer.correoElectronico,
                    Status               = searchedPlayer.status,
                    PreguntaRecuperacion = searchedPlayer.preguntaRecuperacion,
                    IdLenguaje           = searchedPlayer.idioma
                };
                dataObtainedResult = DataObtainedResult.DataObtained;
                PlayerCallback.SendActualPlayer(dataObtainedResult, domainSearchedPlayer);
            }
            else
            {
                Dominio.Jugador emptyPlayer = new Jugador();
                PlayerCallback.SendActualPlayer(dataObtainedResult, emptyPlayer);
            }
        }
 /// <summary>
 /// Maneja el resultado de intentar visualizar los datos del jugador en una pagina <c>UserConfiguration</c>
 /// </summary>
 /// <param name="dataObtainedResult"></param>
 /// <param name="actualPlayer"></param>
 public void SendActualPlayer(DataObtainedResult dataObtainedResult, Jugador actualPlayer)
 {
     if (dataObtainedResult == DataObtainedResult.DataObtained)
     {
         Menu menu = App.Current.Windows.OfType <Menu>().FirstOrDefault();
         menu.EnableNavigation();
         menu.NavigationService.Navigate(new UserConfiguration(actualPlayer));
     }
     else
     {
         DialogWindowManager.ShowErrorWindow(Resources.NoConnectionMessage);
     }
 }
示例#3
0
        public void SendActualPlayer_ReturnErrorObtainingData_DataObtainedResult()
        {
            try
            {
                var baseAddress = new Uri("net.tcp://localhost:8090/Contratos");
                serviceHost = new ServiceHost(typeof(Contratos.MainService), baseAddress);
                System.ServiceModel.Channels.Binding binding = new NetTcpBinding();
                var address  = new EndpointAddress("net.tcp://localhost:8090/ServerTests");
                var endpoint = serviceHost
                               .AddServiceEndpoint(typeof(Contratos.IPlayerManager), binding, address.Uri);

                var smb = new ServiceMetadataBehavior {
                    HttpGetEnabled = false
                };
                serviceHost.Description.Behaviors.Add(smb);
                InstanceContext instanceContext = new InstanceContext(new PlayerCallbackHandler());
                playerClient  = new PlayerManagerClient(instanceContext);
                endpoint.Name = playerClient.Endpoint.Name;

                serviceHost.Open();
                serviceHost.Close();

                Jugador testPlayer = new Jugador
                {
                    Apodo       = "savetestplayer",
                    Contrasenia = "password123",
                };

                playerClient.GetActualPlayer(testPlayer);
                PlayerCallbackHandler playerHandler = new PlayerCallbackHandler();
                DataObtainedResult    result        = playerHandler.dataObtainedResult;

                Assert.AreEqual(result, DataObtainedResult.ErrorObtainingData);
            }
            catch (EndpointNotFoundException)
            {
                playerClient.Abort();
            }
            catch (CommunicationException)
            {
                playerClient.Abort();
            }
        }
 public void SendActualPlayer(DataObtainedResult dataObtainedResult, Jugador actualPlayer)
 {
     this.dataObtainedResult = dataObtainedResult;
 }