private void DisplayEntry(AtomEntry entry) { _sdataSingleResourceRequest.Entry = entry; var exists = entry != null; btnSingleCreate.Enabled = exists; btnSingleUpdate.Enabled = exists; btnSingleDelete.Enabled = exists; if (exists) { var uri = entry.Id.Uri.OriginalString; var start = uri.IndexOf("("); var end = uri.IndexOf(")", start); tbSingleResourceSelector.Text = uri.Substring(start, end + 1 - start); // show it in the grid singlePayloadGrid.SelectedObject = entry.GetSDataPayload(); } else { tbSingleResourceSelector.Text = null; singlePayloadGrid.SelectedObject = null; } }
void CopyAtomEntryToEntity(AtomEntry entry, IPersistentEntity entity) { var payload = entry.GetSDataPayload(); foreach (var prop in typeof(TEntity).GetProperties()) { SetEntityProperty(prop, payload, entity); } (entity as IAssignableId).Id = payload.Key; var sDataEntity = (ISDataClientEntity)entity; sDataEntity.Repository = _repository; //store foreign keys sDataEntity.ForeignKeys = payload.Values.Where(prop => prop.Value is SDataPayload) .ToDictionary(p => p.Key, p => (p.Value as SDataPayload).Key); }