internal AcsChatParticipantAddedToThreadEventData(string transactionId, string threadId, DateTimeOffset?time, CommunicationIdentifierModel addedByCommunicationIdentifier, AcsChatThreadParticipantProperties participantAdded, long?version) : base(transactionId, threadId) { Time = time; AddedByCommunicationIdentifier = addedByCommunicationIdentifier; ParticipantAdded = participantAdded; Version = version; }
internal AcsChatParticipantRemovedFromThreadEventData(string threadId, DateTimeOffset?time, CommunicationIdentifierModel removedByCommunicationIdentifier, AcsChatThreadParticipantProperties participantRemoved, long?version) : base(threadId) { Time = time; RemovedByCommunicationIdentifier = removedByCommunicationIdentifier; ParticipantRemoved = participantRemoved; Version = version; }
internal static AcsChatParticipantAddedToThreadEventData DeserializeAcsChatParticipantAddedToThreadEventData(JsonElement element) { Optional <DateTimeOffset> time = default; Optional <CommunicationIdentifierModel> addedByCommunicationIdentifier = default; Optional <AcsChatThreadParticipantProperties> participantAdded = default; Optional <long> version = default; Optional <string> threadId = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("time")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } time = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("addedByCommunicationIdentifier")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } addedByCommunicationIdentifier = CommunicationIdentifierModel.DeserializeCommunicationIdentifierModel(property.Value); continue; } if (property.NameEquals("participantAdded")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } participantAdded = AcsChatThreadParticipantProperties.DeserializeAcsChatThreadParticipantProperties(property.Value); continue; } if (property.NameEquals("version")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } version = property.Value.GetInt64(); continue; } if (property.NameEquals("threadId")) { threadId = property.Value.GetString(); continue; } } return(new AcsChatParticipantAddedToThreadEventData(threadId.Value, Optional.ToNullable(time), addedByCommunicationIdentifier.Value, participantAdded.Value, Optional.ToNullable(version))); }
internal AcsChatParticipantRemovedFromThreadWithUserEventData(CommunicationIdentifierModel recipientCommunicationIdentifier, string transactionId, string threadId, DateTimeOffset?createTime, long?version, DateTimeOffset?time, CommunicationIdentifierModel removedByCommunicationIdentifier, AcsChatThreadParticipantProperties participantRemoved) : base(recipientCommunicationIdentifier, transactionId, threadId, createTime, version) { Time = time; RemovedByCommunicationIdentifier = removedByCommunicationIdentifier; ParticipantRemoved = participantRemoved; }
internal static AcsChatThreadCreatedEventData DeserializeAcsChatThreadCreatedEventData(JsonElement element) { Optional <CommunicationIdentifierModel> createdByCommunicationIdentifier = default; Optional <IReadOnlyDictionary <string, object> > properties = default; Optional <IReadOnlyList <AcsChatThreadParticipantProperties> > participants = default; Optional <DateTimeOffset> createTime = default; Optional <long> version = default; Optional <string> transactionId = default; Optional <string> threadId = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("createdByCommunicationIdentifier")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } createdByCommunicationIdentifier = CommunicationIdentifierModel.DeserializeCommunicationIdentifierModel(property.Value); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, object> dictionary = new Dictionary <string, object>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetObject()); } properties = dictionary; continue; } if (property.NameEquals("participants")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <AcsChatThreadParticipantProperties> array = new List <AcsChatThreadParticipantProperties>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(AcsChatThreadParticipantProperties.DeserializeAcsChatThreadParticipantProperties(item)); } participants = array; continue; } if (property.NameEquals("createTime")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } createTime = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("version")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } version = property.Value.GetInt64(); continue; } if (property.NameEquals("transactionId")) { transactionId = property.Value.GetString(); continue; } if (property.NameEquals("threadId")) { threadId = property.Value.GetString(); continue; } } return(new AcsChatThreadCreatedEventData(transactionId.Value, threadId.Value, Optional.ToNullable(createTime), Optional.ToNullable(version), createdByCommunicationIdentifier.Value, Optional.ToDictionary(properties), Optional.ToList(participants))); }