Exemple #1
0
        private void AddUpdateSpeaker(SpeakerImport speaker)
        {
            var spkr = _context.Speakers.FirstOrDefault(s => s.Id == speaker.Id);

            if (spkr == null)
            {
                var newSpeaker = new Models.Speaker();

                newSpeaker.Id              = speaker.Id;
                newSpeaker.FirstName       = speaker.FirstName;
                newSpeaker.LastName        = speaker.LastName;
                newSpeaker.Biography       = speaker.Biography;
                newSpeaker.GravatarUrl     = speaker.GravatarUrl;
                newSpeaker.TwitterLink     = speaker.TwitterLink;
                newSpeaker.GitHubLink      = speaker.GitHubLink;
                newSpeaker.LinkedInProfile = speaker.LinkedInProfile;
                newSpeaker.BlogUrl         = speaker.BlogUrl;

                _context.Speakers.Add(newSpeaker);
                _context.SaveChanges();
            }
            else
            {
                spkr.FirstName       = speaker.FirstName;
                spkr.LastName        = speaker.LastName;
                spkr.Biography       = speaker.Biography;
                spkr.GravatarUrl     = speaker.GravatarUrl;
                spkr.TwitterLink     = speaker.TwitterLink;
                spkr.GitHubLink      = speaker.GitHubLink;
                spkr.LinkedInProfile = speaker.LinkedInProfile;
                spkr.BlogUrl         = speaker.BlogUrl;
                _context.SaveChanges();
            }
        }
        private SpeakerImport MapSpeaker(ViewModels.SessionizeSpeaker.Speaker speaker)
        {
            var mappedSpeaker = new SpeakerImport();
            var blog          = speaker.links.FirstOrDefault(x => x.LinkType == "Blog");
            var linkedIn      = speaker.links.FirstOrDefault(x => x.LinkType == "LinkedIn");
            var twitter       = speaker.links.FirstOrDefault(x => x.LinkType == "Twitter");

            mappedSpeaker.Biography       = speaker.bio;
            mappedSpeaker.BlogUrl         = blog == null ? "" : blog.Url;
            mappedSpeaker.FirstName       = speaker.firstName;
            mappedSpeaker.GravatarUrl     = speaker.profilePicture;
            mappedSpeaker.Id              = speaker.id;
            mappedSpeaker.LastName        = speaker.lastName;
            mappedSpeaker.LinkedInProfile = linkedIn == null ? "" : linkedIn.Url;
            mappedSpeaker.TwitterLink     = twitter == null ? "" : twitter.Url;

            return(mappedSpeaker);
        }
        private void UpsertSpeaker(SpeakerImport speaker)
        {
            var spName = "SpeakerUpsert";

            ExecuteStatement(_connStr, (conn, cmd) =>
            {
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.CommandText = spName;

                cmd.Parameters.AddWithValue("@Biography", speaker.Biography);
                cmd.Parameters.AddWithValue("@BlogUrl", speaker.BlogUrl);
                cmd.Parameters.AddWithValue("@FirstName", speaker.FirstName);
                cmd.Parameters.AddWithValue("@GitHubLink", speaker.GitHubLink);
                cmd.Parameters.AddWithValue("@GravatarUrl", speaker.GravatarUrl);
                cmd.Parameters.AddWithValue("@Id", speaker.Id);
                cmd.Parameters.AddWithValue("@LastName", speaker.LastName);
                cmd.Parameters.AddWithValue("@LinkedInProfile", speaker.LinkedInProfile);
                cmd.Parameters.AddWithValue("@TwitterLink", speaker.TwitterLink);
            });
        }