aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.DataStore/IDataStoreItem.cs
blob: 9c03f40ee147ee8b51cd2fe8eb30f79a6d09a145 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.DataStore
{
    /// <summary>
    /// Represents a data store item.
    /// </summary>
    public interface IDataStoreItem
    {
        /// <summary>
        /// Gets or sets the unique identifier (Use only for synchronization).
        /// </summary>
        String Guid { get; set; }

        /// <summary>
        /// Gets or sets item id.
        /// </summary>
        String Key { get; set; }

        /// <summary>
        /// Gets or sets the item type.
        /// </summary>
        DataType Type { get; set; }

        /// <summary>
        /// Gets or sets the item value.
        /// </summary>
        Object Value { get; set; }

        /// <summary>
        /// Gets or sets the item update UTC date.
        /// </summary>
        DateTime Date { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether this item is synchronized with the remote service.
        /// </summary>
        bool IsSynchronized { get; set; }
    }
}
pan>; /// <summary> Occurs after local data of any object in the document changed </summary> public event EventHandler<AXmlObjectEventArgs> ObjectChanged; internal void OnObjectInserted(int index, AXmlObject obj) { if (ObjectInserted != null) ObjectInserted(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new AXmlObject[] { obj }.ToList(), index)); } internal void OnObjectRemoved(int index, AXmlObject obj) { if (ObjectRemoved != null) ObjectRemoved(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, new AXmlObject[] { obj }.ToList(), index)); } internal void OnObjectChanging(AXmlObject obj) { if (ObjectChanging != null) ObjectChanging(this, new AXmlObjectEventArgs() { Object = obj } ); } internal void OnObjectChanged(AXmlObject obj) { if (ObjectChanged != null) ObjectChanged(this, new AXmlObjectEventArgs() { Object = obj } ); } /// <inheritdoc/> public override void AcceptVisitor(IAXmlVisitor visitor) { visitor.VisitDocument(this); } /// <inheritdoc/> public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "[{0} Chld:{1}]", base.ToString(), this.Children.Count); } } }