public async Task <bool> AddTalk(TalkModel entity, string moniker)
        {
            var speakerId = await GetOnlySpeakerId(entity);

            if (speakerId == 0)
            {
                speakerId = await _repository.CreateAndReturnIdAsync(
                    new Query("Speakers")
                    .AsInsert(new
                {
                    FirstName  = entity.Speaker.FirstName,
                    LastName   = entity.Speaker.LastName,
                    MiddleName = entity.Speaker.MiddleName,
                    Company    = entity.Speaker.Company,
                    CompanyUrl = entity.Speaker.CompanyUrl,
                    BlogUrl    = entity.Speaker.BlogUrl,
                    Twitter    = entity.Speaker.Twitter,
                    GitHub     = entity.Speaker.GitHub
                }));
            }

            var campId = await GetOnlyCampId(moniker);

            await _repository.ExecuteAsync(
                new Query("Talks")
                .AsInsert(new
            {
                CampId    = campId,
                Title     = entity.Title,
                Abstract  = entity.Abstract,
                Level     = entity.Level,
                SpeakerId = speakerId
            }));

            return(true);
        }