/// <summary>
 /// Create from service model
 /// </summary>
 /// <param name="model"></param>
 public ReplaceEventsDetailsApiModel(ReplaceEventsDetailsModel model)
 {
     if (model == null)
     {
         throw new ArgumentNullException(nameof(model));
     }
     Filter = model.Filter;
     Events = model.Events?
              .Select(v => v == null ? null : new HistoricEventApiModel(v))
              .ToList();
 }
Example #2
0
 /// <summary>
 /// Create api model
 /// </summary>
 public static ReplaceEventsDetailsApiModel ToApiModel(
     this ReplaceEventsDetailsModel model)
 {
     if (model == null)
     {
         return(null);
     }
     return(new ReplaceEventsDetailsApiModel {
         Filter = model.Filter.ToApiModel(),
         Events = model.Events?
                  .Select(v => v.ToApiModel())
                  .ToList()
     });
 }
 /// <summary>
 /// Convert update event details
 /// </summary>
 /// <param name="codec"></param>
 /// <param name="details"></param>
 /// <returns></returns>
 public static JToken Encode(this IVariantEncoder codec, ReplaceEventsDetailsModel details)
 {
     if (details == null)
     {
         throw new ArgumentNullException(nameof(details));
     }
     if (details.Events == null || details.Events.Count == 0)
     {
         throw new ArgumentException(nameof(details.Events));
     }
     return(codec.Encode(new ExtensionObject(new UpdateEventDetails {
         NodeId = NodeId.Null,
         PerformInsertReplace = PerformUpdateType.Replace,
         Filter = codec.Decode(details.Filter),
         EventData = new HistoryEventFieldListCollection(details.Events
                                                         .Select(d => new HistoryEventFieldList {
             EventFields = new VariantCollection(d.EventFields
                                                 .Select(f => new Variant(new EncodeableJToken(f))))
         }))
     })));
 }