Beispiel #1
0
        public async Task <Talk> UpdateTalk(string id, UpdatedTalk talk, string version)
        {
            if (version == null)
            {
                throw new ArgumentNullException(nameof(version), "Must provide version during update");
            }

            using (var session = this.store.OpenAsyncSession())
            {
                // Load existing talk
                var existingTalk = await session.LoadAsync <Talk>(id);

                // Update properties
                existingTalk.Headline    = talk.Headline;
                existingTalk.Description = talk.Description;
                existingTalk.Speaker     = talk.Speaker;

                try
                {
                    await session.StoreAsync(existingTalk, version, id);

                    await session.SaveChangesAsync();
                }
                catch (ConcurrencyException cex)
                {
                    throw new ApplicationException(
                              "Tried to update a talk but looks like someone else got there first! " +
                              "Try refreshing the page. Detailed explanation: " + cex.Message, cex);
                }

                return(existingTalk);
            }
        }
Beispiel #2
0
        public async Task <Talk> UpdateTalk(string id, UpdatedTalk talk, string version)
        {
            using (var session = this.store.OpenAsyncSession())
            {
                //Load existing talk
                var existingTalk = await session.LoadAsync <Talk>(id);

                //update properties
                existingTalk.Headline    = talk.Headline;
                existingTalk.Description = talk.Description;
                existingTalk.Speaker     = talk.Speaker;

                try
                {
                    await session.StoreAsync(existingTalk, version, id);

                    await session.SaveChangesAsync();
                }
                catch (ConcurrencyException cex)
                {
                    throw new ApplicationException("Try refreshing the page: " + cex.Message + cex);
                }

                return(existingTalk);
            }
        }
Beispiel #3
0
        public Task <Talk> UpdateTalk(string id, UpdatedTalk talk, string version)
        {
            var oldTalk = Talks.FirstOrDefault(t => t.Id == id);

            oldTalk.Headline    = talk.Headline;
            oldTalk.Description = talk.Description;

            return(Task.FromResult(oldTalk));
        }
        public async Task <(UpdatedTalk Talk, string Version)> GetTalkForEditing(string id)
        {
            using (var session = this.store.OpenAsyncSession())
            {
                var talk = await session.LoadAsync <Talk>(id);

                var updatedTalk = new UpdatedTalk()
                {
                    Headline    = talk.Headline,
                    Description = talk.Description,
                    Speaker     = talk.Speaker
                };

                return(Talk : updatedTalk, Version : null);
            }
        }
        public async Task <Talk> UpdateTalk(string id, UpdatedTalk talk, string version)
        {
            using (var session = this.store.OpenAsyncSession())
            {
                // Load existing talk
                var existingTalk = await session.LoadAsync <Talk>(id);

                // Update properties
                existingTalk.Headline    = talk.Headline;
                existingTalk.Description = talk.Description;
                existingTalk.Speaker     = talk.Speaker;

                await session.SaveChangesAsync();

                return(existingTalk);
            }
        }
 public async Task <Talk> UpdateTalk(string id, UpdatedTalk talk, string version)
 {
     throw new NotImplementedException("TODO: Implement UpdateTalk");
 }