private static Notification FromRPCModel(PNNotification notification, THPublicUser user) { if (user == null) { user = notification.Sender.PublicUser; } return(new Notification { Id = notification.Id, Customization = new NotificationCustomization { BackgroundImageConfiguration = notification.Media?.BackgroundImage, TextColor = notification.Media?.TextColor, TitleColor = notification.Media?.TitleColor }, ActionButtons = (notification.ActionButtons ?? new List <THActionButton>()).ConvertAll(it => it.FromRpcModel()), Attachment = null, // todo CreatedAt = notification.CreatedAt, Action = notification.Action?.FromRpcModel(), Sender = user.FromRPCModel(), Type = notification.Type, Status = notification.Status, Text = notification.Text, Title = notification.Title }); }
public void Read(TProtocol iprot) { iprot.IncrementRecursionDepth(); try { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.List) { { Notifications = new List <PNNotification>(); TList _list111 = iprot.ReadListBegin(); for (int _i112 = 0; _i112 < _list111.Count; ++_i112) { PNNotification _elem113; _elem113 = new PNNotification(); _elem113.Read(iprot); Notifications.Add(_elem113); } iprot.ReadListEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 2: if (field.Type == TType.I32) { TotalNumber = iprot.ReadI32(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 3: if (field.Type == TType.String) { NextCursor = iprot.ReadString(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 4: if (field.Type == TType.Map) { { Authors = new Dictionary <string, THPublicUser>(); TMap _map114 = iprot.ReadMapBegin(); for (int _i115 = 0; _i115 < _map114.Count; ++_i115) { string _key116; THPublicUser _val117; _key116 = iprot.ReadString(); _val117 = new THPublicUser(); _val117.Read(iprot); Authors[_key116] = _val117; } iprot.ReadMapEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); } finally { iprot.DecrementRecursionDepth(); } }