public override void LoadData() { base.LoadData(); this.Parent.Data.PropertyChanged += Data_PropertyChanged; this.teamAdapter = new ViewModelsAdapter <TeamChoiceVM, TeamData>(CreateTeamVM); this.teamAdapter.Adapt(this.Teams, this.Parent.Data.TeamList); if (!string.IsNullOrEmpty(this.Parent.Data.StandSoundPath)) { this.StandSound = new MediaVM(); this.StandSound.FilePath = this.Parent.Data.StandSoundPath; this.StandSound.LoadFile(); } if (!string.IsNullOrEmpty(this.Parent.Data.QuestionSoundPath)) { this.QuestionSound = new MediaVM(); this.QuestionSound.FilePath = this.Parent.Data.QuestionSoundPath; this.QuestionSound.LoadFile(); } if (!string.IsNullOrEmpty(this.Parent.Data.CheckSoundPath)) { this.checkSound = new MediaVM(); this.checkSound.FilePath = this.Parent.Data.CheckSoundPath; this.checkSound.LoadFile(); } LoadVideos(); }
/// <summary> /// 選択しているメディアが変わるとき、以前のメディアを停止します。 /// </summary> private void SelectedMediaChanging(MediaVM old) { if (this.SelectedMedia != null) { this.SelectedMedia.Stop(); } }
/// <summary> /// 選択しているメディアが変わるとき、以前のメディアを停止します。 /// </summary> private void SelectedMediaChanging(MediaVM old) { if (this.SelectedMedia != null) { this.SelectedMedia.Stop(); this.SelectedMedia.MediaPlayed -= SelectedMedia_MediaPlayed; this.SelectedMedia.MediaStoped -= SelectedMedia_MediaStoped; } }
public ActionResult Index() { var model = new MediaVM { Medias = unitOfWork.MediaRepository.GetAll(), Categories = unitOfWork.CategoryRepository.GetAll() }; return(View(model)); }
/// <summary> /// Validates the media details. /// </summary> private void Validate(MediaVM vm) { if (vm.OverlayTags != null) { foreach (var t in vm.OverlayTags) { Validate(t.Location, $"tag '{t.TagId}'"); } } }
/// <summary> /// Updates the media description. /// </summary> public async Task UpdateAsync(string key, MediaVM vm) { Validate(vm); var media = await _db.Media .Include(x => x.Tags) .FirstOrDefaultAsync(x => x.Key == key); if (media == null) { throw new OperationException($"Media '{key}' does not exist."); } _mapper.Map(vm, media); var newTagIds = (vm.OverlayTags?.Select(x => x.TagId) ?? new int[0]) .Concat(vm.ExtraTags?.Select(x => x.TagId) ?? new int[0]) .ToList(); var existingTagIds = await _db.Tags .Where(x => newTagIds.Contains(x.Id)) .Select(x => x.Id) .ToListAsync(); var missingTagIds = newTagIds.Except(existingTagIds).ToList(); if (missingTagIds.Any()) { throw new OperationException($"Tag(s) {missingTagIds.JoinString(", ")} do not exist."); } var newTags = new List <MediaTagBinding>(); if (vm.OverlayTags != null) { newTags.AddRange(_mapper.Map <MediaTagBinding[]>(vm.OverlayTags)); } if (vm.ExtraTags != null) { newTags.AddRange(_mapper.Map <MediaTagBinding[]>(vm.ExtraTags)); } foreach (var tag in newTags) { tag.Media = media; } _db.MediaTags.RemoveRange(media.Tags.Where(x => x.Type != TagBindingType.Inherited)); _db.MediaTags.AddRange(newTags); await _db.SaveChangesAsync(); }
// new Media public ActionResult NewMedia() { var genres = _context.Genres; var mediaTypes = _context.MediaTypes; var vm = new MediaVM { Media = new Media(), Genres = genres, MediaTypes = mediaTypes }; return(View(vm)); }
private MediaVM CreateMediaViewModel(string arg) { var baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var media = new MediaVM() { FilePath = PathUtility.GetAbsolutePath(baseDir, arg) }; media.LoadFile(); media.Media.MediaEnded += Media_MediaEnded; media.MediaPlayed += Media_MediaPlayed; return(media); }
private void SubjectChanged() { if (this.SelectedSubject != null) { this.Medias.Clear(); foreach (string path in Directory.EnumerateFiles(this.SelectedSubject.Path, "*", SearchOption.AllDirectories)) { var media = new MediaVM() { FilePath = path }; media.LoadFile(); this.Medias.Add(media); } this.PlayAnswerCommand.RaiseCanExecuteChanged(); } }
public ActionResult Create(MediaVM media) { if (ModelState.IsValid) { Media m = new Media(); string path = Server.MapPath("~/images/"); media.Media_Path.SaveAs(path + media.Media_Path.FileName); m.Media_Path = media.Media_Path.FileName; m.Coach_id = media.Coach_id; m.Player_id = media.Player_id; db.Media.Add(m); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Coach_id = new SelectList(db.Users, "Id", "Email", media.Coach_id); ViewBag.Player_id = new SelectList(db.Players, "ID", "Full_Name", media.Player_id); return(View(media)); }
public ActionResult Edit(int id) { if (id <= 0) { return(Json(new { status = false, message = "Bad parameter was provided." })); } var retrievedMedia = unitOfWork.MediaRepository.GetById(id); if (retrievedMedia is null) { return(Json(new { status = false, message = "No media found for the given parameter" })); } var model = new MediaVM { Medias = unitOfWork.MediaRepository.GetAll(), Categories = unitOfWork.CategoryRepository.GetAll(), Media = retrievedMedia }; return(PartialView("_EditMedia", model)); }
private void DeleteMediaViewModel(MediaVM media) { media.Media.MediaEnded -= Media_MediaEnded; media.MediaPlayed -= Media_MediaPlayed; }
public Task Update(string key, [FromBody] MediaVM vm) { return(_mediaMgr.UpdateAsync(key, vm)); }