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); }); }