public SpeakerViewModel ToSpeakerViewModel(Speaker speaker) { var result = new SpeakerViewModel { SpeakerId = speaker.SpeakerId, CodecampUserId = speaker.CodecampUserId, FirstName = speaker.CodecampUser.FirstName, LastName = speaker.CodecampUser.LastName, FullName = speaker.CodecampUser.FullName, CompanyName = speaker.CompanyName, Bio = speaker.Bio, WebsiteUrl = speaker.WebsiteUrl, BlogUrl = speaker.BlogUrl, GeographicLocation = speaker.CodecampUser.GeographicLocation, TwitterHandle = speaker.CodecampUser.TwitterHandle, LinkedIn = speaker.LinkedIn, IsVolunteer = speaker.CodecampUser.IsVolunteer, IsMvp = speaker.IsMvp, NoteToOrganizers = speaker.NoteToOrganizers, Email = speaker.CodecampUser.Email, PhoneNumber = speaker.CodecampUser.PhoneNumber, IsApproved = speaker.IsApproved, }; return(result); }
public SpeakerView() { InitializeComponent(); vm = new SpeakerViewModel(); //listSpeakers.ItemsSource = vm.Speakers; BindingContext = vm; }
public virtual ActionResult NextContestantsList(long tournamentId, int roundNo) { var tourney = TournamentService.GetTournamentGuarded(tournamentId); var model = new SpeakerViewModel(tourney, roundNo); return(PartialView(model)); }
//public async Task<IActionResult> Index() //{ // return View(await db.Speakers.ToListAsync()); //} public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var speaker = await db.Speakers .FirstOrDefaultAsync(m => m.Id == id); var speakerViewModel = new SpeakerViewModel() { Id = speaker.Id, SpeakerName = speaker.SpeakerName, Qualification = speaker.Qualification, Experience = speaker.Experience, SpeakingDate = speaker.SpeakingDate, SpeakingTime = speaker.SpeakingTime, Venue = speaker.Venue, ExistingImage = speaker.ProfilePicture }; if (speaker == null) { return(NotFound()); } return(View(speaker)); }
public async void Init_DataLoadsSuccessfully_LoadsSpeakerAndSessions() { var speaker = new Speaker { Id = 314 }; var session = new Session { Id = 42, SpeakerId = speaker.Id }; var data = new CampData { Sessions = new List <Session> { session }, Speakers = new List <Speaker> { speaker } }; DataClient.GetDataBody = () => Task.FromResult(data); var viewModel = new SpeakerViewModel(Messenger, CodeCampService, ComposeEmailTask); Assert.True(viewModel.IsLoading); await viewModel.Init(new SpeakerViewModel.NavigationParameters(speaker.Id)); Assert.False(viewModel.IsLoading); Assert.AreEqual(speaker, viewModel.Speaker); Assert.AreEqual(1, viewModel.Sessions.Count); Assert.AreEqual(session, viewModel.Sessions.First()); }
public override DataTemplate SelectTemplate(object item, DependencyObject container) { SpeakerViewModel speaker = item as SpeakerViewModel; if (speaker != null) { if (speaker.DeviceName.Contains("Pro")) { return(NommoProTemplate); } else { return(NommoTemplate); } } MonitorViewModel monitor = item as MonitorViewModel; if (monitor != null) { if (monitor.DeviceName == "AW3420DW") { return(AW3420DWTemplate); } else { return(AW3418DWTemplate); } } return(null);; }
public async Task <IActionResult> Edit(int id, SpeakerViewModel model) { if (ModelState.IsValid) { var speaker = await db.Speakers.FindAsync(model.Id); speaker.SpeakerName = model.SpeakerName; speaker.SpeakingDate = model.SpeakingDate; if (model.SpeakerPicture != null) { if (model.ExistingImage != null) { string filePath = Path.Combine(webHostEnvironment.WebRootPath, "Uploads", model.ExistingImage); System.IO.File.Delete(filePath); } speaker.ProfilePicture = ProcessUploadedFile(model); } db.Update(speaker); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View()); }
/// <summary> /// Provides a deterministic way to create the Speaker property. /// </summary> public static void CreateSpeaker() { if (_speaker == null) { _speaker = new SpeakerViewModel(); } }
public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var speaker = await db.Speakers.FindAsync(id); var speakerViewModel = new SpeakerViewModel() { Id = speaker.Id, SpeakerName = speaker.SpeakerName, SpeakingDate = speaker.SpeakingDate, ExistingImage = speaker.ProfilePicture }; if (speaker == null) { return(NotFound()); } return(View(speakerViewModel)); }
public async Task <IActionResult> PutSpeaker(int id, SpeakerViewModel speakerVM) { var existingSpeaker = _context.Speakers.Where(s => s.id == id).FirstOrDefault(); if (existingSpeaker != null) { existingSpeaker.name = speakerVM.name; } else { return(BadRequest()); } _context.Entry(existingSpeaker).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SpeakerExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult Edit(int id, SpeakerViewModel SpeakerViewModel) { var imageInfo = SpeakerViewModel.Name + " Photo"; var imageValidation = SpeakerViewModel.Photo.ValidateImage(); if (SpeakerViewModel.Photo.ValidateImageUpload().ContainsKey("ModelError")) { ModelState.AddModelError("ImageUpload", imageValidation["ModelError"]); } if (ModelState.IsValid) { var url = SpeakerViewModel.Photo.SaveImageUpload(_serverMapPathProvider, Constants.SponsorUploadDir); var Photo = new Image { Title = imageInfo, AltText = imageInfo, ImageType = ImageType.Profile, ImageUrl = url }; var speaker = _repository.Find(new GetSpeakerById(id)); speaker.Email = SpeakerViewModel.Email; speaker.Name = SpeakerViewModel.Name; speaker.Phone = SpeakerViewModel.Phone; speaker.WebSiteUrl = SpeakerViewModel.WebSiteUrl; speaker.Photo = Photo; _repository.Context.Commit(); return(RedirectToAction("Index")); } return(View(SpeakerViewModel)); }
public ActionResult Edit(int id, SpeakerViewModel speakerViewModel) { var imageInfo = speakerViewModel.Name + " Photo"; if (speakerViewModel.Photo != null) { var imageValidation = speakerViewModel.Photo.ValidateImageUpload(); if (imageValidation.ContainsKey("ModelError")) { ModelState.AddModelError("ImageUpload", imageValidation["ModelError"]); } } if (ModelState.IsValid) { var speaker = _repository.Find(new GetSpeakerById(id)); speaker.Email = speakerViewModel.Email; speaker.Name = speakerViewModel.Name; speaker.Phone = speakerViewModel.Phone; speaker.WebSiteUrl = speakerViewModel.WebSiteUrl; speaker.Bio = speakerViewModel.Bio; // Get existing image from database. var image = _repository.Find(new GetById <int, Image>(speakerViewModel.PhotoId)); // If image is cleared then we delete the image from the image store and set the speaker photo to null if (speakerViewModel.ImageIsCleared) { if (image != null) { image.DeleteImage(_serverMapPathProvider, Constants.SpeakerUploadDir); } image = null; } // Set image from viewModel. If the photo on the viewModel is not null then the user // has changed the image from the screen so we overwrite the image retrieved from the database if (speakerViewModel.Photo != null) { var url = speakerViewModel.Photo.SaveImageUpload(_serverMapPathProvider, Constants.SpeakerUploadDir); var newImage = new Image { Title = imageInfo, AltText = imageInfo, ImageType = ImageType.Profile, ImageUrl = url }; if (image != null) { image.DeleteImage(_serverMapPathProvider, Constants.SpeakerUploadDir); } image = newImage; } // Set speaker photo to the existing image, no image, or the new image speaker.Photo = image; _repository.Context.Commit(); return(RedirectToAction("Index")); } return(View(speakerViewModel)); }
public ActionResult Create(SpeakerViewModel SpeakerViewModel) { var imageInfo = SpeakerViewModel.Name + " Photo"; var imageValidation = SpeakerViewModel.Photo.ValidateImageUpload(); if (imageValidation.ContainsKey("ModelError")) { ModelState.AddModelError("ImageUpload", imageValidation["ModelError"]); } if (ModelState.IsValid) { var speaker = new Speaker { Email = SpeakerViewModel.Email, Name = SpeakerViewModel.Name, Phone = SpeakerViewModel.Phone, WebSiteUrl = SpeakerViewModel.WebSiteUrl, Bio = SpeakerViewModel.Bio }; var url = SpeakerViewModel.Photo.SaveImageUpload(_serverMapPathProvider, Constants.SponsorUploadDir); var Photo = new Image { Title = imageInfo, AltText = imageInfo, ImageType = ImageType.Profile, ImageUrl = url }; speaker.Photo = Photo; _repository.Context.Add(speaker); _repository.Context.Commit(); return(RedirectToAction("Index")); } return(View(SpeakerViewModel)); }
public void SpeakerViewModelCtor_4Contestants2Heats_2ContestantsReturned() { var tourney = Factory.CreateStartedTournament(4, 1, 2); var result = new SpeakerViewModel(tourney, 1); Assert.AreEqual(2, result.CurrentContestants.Count); }
// GET: Talk/Details/5 public ActionResult Details(int id) { var getTalkById = talk.GetById(id); SpeakerViewModel model = new SpeakerViewModel(); model.InjectFrom(getTalkById); return(View(model)); }
protected async override void OnAppearing() { Analytics.TrackEvent("SpeakerPage"); base.OnAppearing(); //Workaround here BindingContext = viewModel = Startup.ServiceProvider?.GetService <SpeakerViewModel>() ?? new SpeakerViewModel(); await Refresh(); }
public void Post([FromBody] SpeakerViewModel speakerVM) { var speaker = new Speaker { name = speakerVM.name }; _context.Speakers.Add(speaker); _context.SaveChanges(); }
public ActionResult Delete(int id, SpeakerViewModel model) { Speakers deleteSpeaker = new Speakers(); deleteSpeaker = speaker.GetById(id); model.InjectFrom(deleteSpeaker); speaker.DeleteSpeakers(deleteSpeaker); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Edit(int id, SpeakerViewModel model) { if (ModelState.IsValid) { var speaker = await db.Speakers.FindAsync(model.Id); speaker.SpeakerName = model.SpeakerName; speaker.Qualification = model.Qualification; speaker.Experience = model.Experience; speaker.SpeakingDate = model.SpeakingDate; speaker.SpeakingTime = model.SpeakingTime; speaker.Venue = model.Venue; if (model.SpeakerPicture != null) { if (model.ExistingImage != null) { string filePath = Path.Combine(webHostEnvironment.WebRootPath, "Uploads", model.ExistingImage); System.IO.File.Delete(filePath); } speaker.ProfilePicture = ProcessUploadedFile(model); } db.Update(speaker); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View()); //if (id != model.Id) //{ // return NotFound(); //} //if (ModelState.IsValid) //{ // try // { // _context.Update(speaker); // await _context.SaveChangesAsync(); // } // catch (DbUpdateConcurrencyException) // { // if (!SpeakerExists(speaker.Id)) // { // return NotFound(); // } // else // { // throw; // } // } // return RedirectToAction(nameof(Index)); //} //return View(speaker); }
public ActionResult Edit(int id, SpeakerViewModel model) { Speakers edit = new Speakers(); edit.InjectFrom(model); var createNewSpeaker = speaker.Update(edit); return(RedirectToAction(nameof(Index))); }
// GET: Speakers/Edit/5 public ActionResult Edit(int id) { var edit = speaker.GetById(id); SpeakerViewModel model = new SpeakerViewModel(); model.InjectFrom(edit); return(View(model)); }
public void SpeakerViewModelCtor_BasicProperties() { var tournament = Factory.CreateStartedTournament(6, 1, 3); var target = new SpeakerViewModel(tournament); Assert.AreEqual(1, target.Round.RoundNo, "roundNo"); Assert.AreEqual(6, target.Round.ContestantEntries.Count, "entris in first round"); Assert.AreEqual(1, target.CurrentRunNo, "runNo"); Assert.AreEqual(1, target.CurrentHeatNo, "heatNo"); }
public void SpeakerViewModelCtor_Heats() { var tournament = Factory.CreateStartedTournament(6, 1, 3); var target = new SpeakerViewModel(tournament); Assert.AreEqual(2, target.Heats.Count); Assert.AreEqual(3, target.Heats[0].Contestants.Count, "contestants in heat 1"); Assert.AreEqual(3, target.Heats[1].Contestants.Count, "contestants in heat 2"); // Assert.AreSame(target.CurrentContestant.Contestant, target.Heats[0].Contestants[0], "Current is first in heat 1"); }
// GET: Speakers/Delete/5 public ActionResult Delete(int id) { var delete = speaker.GetById(id); SpeakerViewModel model = new SpeakerViewModel(); model.InjectFrom(delete); return(View(model)); }
private Speaker Map(SpeakerViewModel speaker) => new Speaker { IdSpeaker = speaker.IdSpeaker, IdConference = speaker.IdConference, FirstName = speaker.FirstName, LastName = speaker.LastName, SpeechDateTime = speaker.SpeechDateTime, SpeechName = speaker.SpeechName, };
public void SpeakerViewModelCtor_PreStart_StartButtonDisabled() { var tournament = Factory.CreateStartedTournament(2, 2, 1); tournament.Rounds.FirstOrDefault().Status = TournamentStatus.Prestart; var result = new SpeakerViewModel(tournament, 1); Assert.AreEqual(true, result.DisableStartButton); }
public void SpeakerViewModelCtor_PrestartRound_NoExceptions() { var tournament = Factory.CreateInitializedTourney(); tournament.Status = TournamentStatus.Running; tournament.GetRoundNo(1).Status = TournamentStatus.Prestart; tournament.GetRoundNo(1).EnsureListsAreInitialized(); var target = new SpeakerViewModel(tournament); Assert.AreEqual(0, target.Heats.Count); }
public virtual ActionResult SpeakerIndex(long tournamentId, int?roundNo = null) { var tourney = TournamentService.GetTournamentGuarded(tournamentId); if (tourney.Status != TournamentStatus.Running) { return(this.View(MVC.Speaker.TournamentSpeaker.Views.ViewNames.TournamentNotRunning, new _LayoutViewModel())); } var model = new SpeakerViewModel(tourney, roundNo); return(View(model)); }
// GET: Speakers/Edit/5 public ActionResult Edit(int id) { var speaker = _repository.Find(new GetSpeakerById(id)); var viewModel = new SpeakerViewModel { Email = speaker.Email, Name = speaker.Name, Phone = speaker.Phone, WebSiteUrl = speaker.WebSiteUrl, PhotoUrl = speaker.Photo.ImageUrl }; return(View(viewModel)); }
// GET: /Speaker/ public async Task <ActionResult> Index() { SpeakerViewModel speaker = new SpeakerViewModel(); try { speaker = await speakerManager.GetSpeakerAsync(); } catch (Exception ex) { //Add logging code here } return(View(speaker)); }
/// <summary> /// Provides a deterministic way to delete the Speaker property. /// </summary> public static void ClearSpeaker() { _speaker.Cleanup(); _speaker = null; }