public static JsonResult MensajeJson(string titulo, string texto, string tipo, bool estado = true)
        {
            var data = new MensajeJson {
                Titulo = titulo, Texto = texto, Tipo = tipo, Estado = estado
            };
            var json = JsonConvert.SerializeObject(data);

            return(new JsonResult(json));
        }
        public static JsonResult MensajeJson(string tipo)
        {
            if (tipo == "green")
            {
                var success = new MensajeJson
                {
                    Titulo = "Información generada",
                    Texto  = "La información se pudo generar satisfactoriamente",
                    Tipo   = tipo
                };
                var jsonSuccess = JsonConvert.SerializeObject(success);
                return(new JsonResult(jsonSuccess));
            }

            var data = new MensajeJson
            {
                Titulo = "Hubo un error",
                Texto  = "No se pudo generar la información",
                Tipo   = tipo
            };
            var json = JsonConvert.SerializeObject(data);

            return(new JsonResult(json));
        }
Exemple #3
0
    internal static IEnumerator Mensaje(string mensaje, TextMeshProUGUI listadoChat)
    {
        if (mensaje != "" && mensaje != null)
        {
            Player player = FindObjectOfType <Player>();

            //Otra forma del ID
            // Helper.GetPlayerId;

            MensajeJson mensajeSerializable = new MensajeJson();
            mensajeSerializable.IdPlayer = player.Id;
            mensajeSerializable.Mensaje  = mensaje;

            using (UnityWebRequest httpClient = new UnityWebRequest(player.HttpServerAddress + "api/Chat/NuevoMensaje", "POST"))
            {
                string mensajeData = JsonUtility.ToJson(mensajeSerializable);

                byte[] bodyRaw = Encoding.UTF8.GetBytes(mensajeData);
                httpClient.uploadHandler = new UploadHandlerRaw(bodyRaw);

                httpClient.SetRequestHeader("Content-type", "application/json");
                httpClient.SetRequestHeader("Authorization", "bearer " + player.Token);

                //UnityWebRequest httpClient = new UnityWebRequest(player.HttpServerAddress + "api/Chat/NuevoMensaje", "POST");

                /*
                 * // application/x-www-form-urlencoded
                 * WWWForm dataToSend = new WWWForm();
                 *  //Para lo de los 3 primeros digitos del id de Player podemos directamente introducir solo los 3 primeros digitos.
                 * string identificador = player.Id;
                 * identificador.Substring(1,3);
                 *  //Comprobar si funciona cuando se inserte mensajes
                 * // dataToSend.AddField("IdPlayer", identificador);
                 * dataToSend.AddField("IdPlayer", player.Id);
                 * //Recogemos el mensaje que ha recibido.
                 * dataToSend.AddField("Mensaje", mensaje);
                 *
                 * httpClient.uploadHandler = new UploadHandlerRaw(dataToSend.data);
                 * httpClient.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                 *
                 * httpClient.downloadHandler = new DownloadHandlerBuffer();
                 *
                 * httpClient.SetRequestHeader("Accept", "application/json");
                 *
                 *  //Pone unauthorized ...
                 * httpClient.SetRequestHeader("Authorization", "bearer " + player.Token);
                 */

                yield return(httpClient.SendWebRequest());

                if (httpClient.isNetworkError || httpClient.isHttpError)
                {
                    throw new Exception("Problema al enviar el Mensaje: " + httpClient.error);
                }
                else
                {
                    RecibirMensajes(listadoChat);
                }

                httpClient.Dispose();
            }
        }
        else
        {
            throw new Exception("No hay contenido en el Mensaje ");
        }
    }