コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
        }