/// <summary> /// Gets all entities that were created/modified/deleted locally after the last sync. /// </summary> /// <param name="state">A unique identifier for the changes that are uploaded</param> /// <returns>The set of incremental changes to send to the service.</returns> public IEnumerable<SqlCeOfflineEntity> GetChanges(Guid state) { var changeList = new List<SqlCeOfflineEntity>(); using (GetSqlCeConnection()) { SqlCeTransaction transaction = _connection.BeginTransaction(); try { using (var command = new SqlCeCommand(SELECT_ITEM_CHANGES, GetSqlCeConnection())) { var reader = command.ExecuteReader(); while (reader.Read()) { var item = new Item { ID = (Guid)reader["ID"], ListID = (Guid)reader["ListID"], UserID = (Guid)reader["UserID"], Name = reader["Name"] as string, Description = reader["Description"] as string, Priority = reader["Priority"] as int?, Status = reader["Status"] as int?, StartDate = reader["StartDate"] as DateTime?, EndDate = reader["EndDate"] as DateTime?, ServiceMetadata = new OfflineEntityMetadata() { IsTombstone = (bool)reader["IsTombstone"], Id = reader["_MetadataID"] as string } }; changeList.Add(item); } } using (var command = new SqlCeCommand(SELECT_LIST_CHANGES, GetSqlCeConnection())) { var reader = command.ExecuteReader(); while (reader.Read()) { var listItem = new List { ID = (Guid)reader["ID"], Name = reader["Name"] as string, Description = reader["Description"] as string, UserID = (Guid)reader["UserID"], CreatedDate = (DateTime)reader["CreatedDate"], ServiceMetadata = new OfflineEntityMetadata() { IsTombstone = (bool)reader["IsTombstone"], Id = reader["_MetadataID"] as string } }; changeList.Add(listItem); } } using (var command = new SqlCeCommand(SELECT_TAGITEMMAPPING_CHANGES, GetSqlCeConnection())) { var reader = command.ExecuteReader(); while (reader.Read()) { var tagItemMapping = new TagItemMapping { TagID = (int)reader["TagID"], ItemID = (Guid)reader["ItemID"], UserID = (Guid)reader["UserID"], ServiceMetadata = new OfflineEntityMetadata() { IsTombstone = (bool)reader["IsTombstone"], Id = reader["_MetadataID"] as string } }; changeList.Add(tagItemMapping); } } transaction.Commit(); } catch { transaction.Rollback(); throw; } } return changeList; }
public List<Tag> GetAllTags() { var tags = new List<Tag>(); using (var command = new SqlCeCommand()) { command.Connection = GetSqlCeConnection(); command.CommandText = GET_ALL_TAGS; SqlCeDataReader reader = command.ExecuteReader(); while (reader.Read()) { var t = new Tag { ID = (int) reader["ID"], Name = reader["Name"] as string, ServiceMetadata = new OfflineEntityMetadata() { IsTombstone = false, Id = reader["_MetadataID"] as string } }; tags.Add(t); } } return tags; }
public List<Status> GetAllStatus() { var statuses = new List<Status>(); using (var command = new SqlCeCommand()) { command.Connection = GetSqlCeConnection(); command.CommandText = GET_ALL_STATUS; SqlCeDataReader reader = command.ExecuteReader(); while (reader.Read()) { var p = new Status { ID = (int) reader["ID"], Name = reader["Name"] as string, ServiceMetadata = new OfflineEntityMetadata() { IsTombstone = false, Id = reader["_MetadataID"] as string } }; statuses.Add(p); } } return statuses; }
public List<Priority> GetAllPriority() { var priorities = new List<Priority>(); using (var command = new SqlCeCommand()) { command.Connection = GetSqlCeConnection(); command.CommandText = GET_ALL_PRIORITY; SqlCeDataReader reader = command.ExecuteReader(); while (reader.Read()) { var p = new Priority() { ID = (int)reader["ID"], Name = reader["Name"] as string, ServiceMetadata = new OfflineEntityMetadata() { IsTombstone = false, Id = reader["_MetadataID"] as string } }; priorities.Add(p); } } return priorities; }
public object GetAllLists() { var lists = new List<List>(); using (var command = new SqlCeCommand()) { command.Connection = GetSqlCeConnection(); command.CommandText = GET_ALL_LISTS; SqlCeDataReader reader = command.ExecuteReader(); while (reader.Read()) { var l = new List { ID = (Guid) reader["ID"], Name = reader["Name"] as string, Description = reader["Description"] as string, CreatedDate = (DateTime) reader["CreatedDate"], UserID = (Guid)reader["UserID"], ServiceMetadata = new OfflineEntityMetadata() { IsTombstone = (bool)reader["IsTombstone"], Id = reader["_MetadataID"] as string } }; lists.Add(l); } } return lists; }
public List<Item> GetAllItems(Guid listId) { var items = new List<Item>(); using (var command = new SqlCeCommand()) { command.Connection = GetSqlCeConnection(); command.CommandText = GET_ALL_ITEMS; command.Parameters.Add("@ListID", SqlDbType.UniqueIdentifier).Value = listId; SqlCeDataReader reader = command.ExecuteReader(); while (reader.Read()) { var i = new Item { ID = (Guid)reader["ID"], Name = reader["Name"] as string, Description = reader["Description"] as string, ListID = (Guid)reader["ListID"], Priority = reader["Priority"] as int?, Status = reader["Status"] as int?, UserID = (Guid)reader["UserID"], ServiceMetadata = new OfflineEntityMetadata() { IsTombstone = (bool)reader["IsTombstone"], Id = reader["_MetadataID"] as string } }; items.Add(i); } } return items; }