예제 #1
0
 public CommonItem(CommonItem item, bool transient, bool expired) // for cloning
 {
     SysProps     = new NamedValueSet();
     ItemKind     = item.ItemKind;
     Transient    = transient;
     Id           = Guid.NewGuid();
     AppScope     = item.AppScope;
     NetScope     = item.NetScope;
     Name         = item.Name;
     AppProps     = new NamedValueSet(item.AppProps);
     DataTypeName = item.DataTypeName;
     Created      = DateTimeOffset.Now;
     StoreUSN     = item.StoreUSN;
     if (expired)
     {
         Expires = Created;
         SysProps.Clear();
     }
     else
     {
         Expires   = Created.Add(item.Expires - item.Created);
         YData     = item.YData;
         YDataHash = CalculateBufferHash(YData);
         YSign     = item.YSign;
         SysProps  = new NamedValueSet(item.SysProps);
     }
 }