Ejemplo n.º 1
0
 /// <summary>
 /// Compare filters
 /// </summary>
 /// <param name="model"></param>
 /// <param name="other"></param>
 /// <returns></returns>
 public static bool IsSameAs(this AggregateFilterModel model,
                             AggregateFilterModel other)
 {
     if (model == null && other == null)
     {
         return(true);
     }
     if (model == null || other == null)
     {
         return(false);
     }
     if (model.AggregateTypeId != other.AggregateTypeId)
     {
         return(false);
     }
     if (model.ProcessingInterval != other.ProcessingInterval)
     {
         return(false);
     }
     if (model.StartTime != other.StartTime)
     {
         return(false);
     }
     if (!model.AggregateConfiguration.IsSameAs(other.AggregateConfiguration))
     {
         return(false);
     }
     return(true);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Clone
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static AggregateFilterModel Clone(this AggregateFilterModel model)
 {
     if (model == null)
     {
         return(null);
     }
     return(new AggregateFilterModel {
         AggregateTypeId = model.AggregateTypeId,
         AggregateConfiguration = model.AggregateConfiguration.Clone(),
         ProcessingInterval = model.ProcessingInterval,
         StartTime = model.StartTime
     });
 }
 /// <summary>
 /// Convert to stack model
 /// </summary>
 /// <param name="model"></param>
 /// <param name="context"></param>
 /// <returns></returns>
 public static AggregateFilter ToStackModel(this AggregateFilterModel model,
                                            ServiceMessageContext context)
 {
     if (model == null)
     {
         return(null);
     }
     return(new AggregateFilter {
         AggregateConfiguration = model.AggregateConfiguration.ToStackModel(),
         AggregateType = model.AggregateTypeId.ToNodeId(context),
         StartTime = model.StartTime ?? DateTime.MinValue,
         ProcessingInterval = model.ProcessingInterval ?? 0.0
     });
 }