using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace TelegramBotBase.Form
{
///
/// Base class for serializing buttons and data
///
public class CallbackData
{
[JsonProperty("m")]
public String Method { get; set; }
[JsonProperty("v")]
public String Value { get; set; }
public CallbackData()
{
}
public CallbackData(String method, String value)
{
this.Method = method;
this.Value = value;
}
public static String Create(String method, String value)
{
return new CallbackData(method, value).Serialize();
}
///
/// Serializes data to json string
///
///
public String Serialize()
{
String s = "";
try
{
s = Newtonsoft.Json.JsonConvert.SerializeObject(this);
}
catch
{
}
return s;
}
///
/// Deserializes data from json string
///
///
///
public static CallbackData Deserialize(String data)
{
CallbackData cd = null;
try
{
cd = Newtonsoft.Json.JsonConvert.DeserializeObject(data);
return cd;
}
catch
{
}
return null;
}
public static implicit operator string(CallbackData callbackData) => callbackData.Serialize();
}
}