using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using TeleSharp.TL; namespace TeleSharp.TL { [TLObject(-1022713000)] public class TLInvoice : TLObject { public override int Constructor { get { return -1022713000; } } public int flags { get; set; } public bool test { get; set; } public bool name_requested { get; set; } public bool phone_requested { get; set; } public bool email_requested { get; set; } public bool shipping_address_requested { get; set; } public bool flexible { get; set; } public string currency { get; set; } public TLVector prices { get; set; } public void ComputeFlags() { flags = 0; flags = test ? (flags | 1) : (flags & ~1); flags = name_requested ? (flags | 2) : (flags & ~2); flags = phone_requested ? (flags | 4) : (flags & ~4); flags = email_requested ? (flags | 8) : (flags & ~8); flags = shipping_address_requested ? (flags | 16) : (flags & ~16); flags = flexible ? (flags | 32) : (flags & ~32); } public override void DeserializeBody(BinaryReader br) { flags = br.ReadInt32(); test = (flags & 1) != 0; name_requested = (flags & 2) != 0; phone_requested = (flags & 4) != 0; email_requested = (flags & 8) != 0; shipping_address_requested = (flags & 16) != 0; flexible = (flags & 32) != 0; currency = StringUtil.Deserialize(br); prices = (TLVector)ObjectUtils.DeserializeVector(br); } public override void SerializeBody(BinaryWriter bw) { bw.Write(Constructor); ComputeFlags(); bw.Write(flags); StringUtil.Serialize(currency, bw); ObjectUtils.SerializeObject(prices, bw); } } }