// GET: Admin/Vocabularios/Edit/5 public ActionResult Edit(int id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Vocabulario Vocabulario = db.Vocabularios.Include(a => a.DefinicionVocabularios).FirstOrDefault(a => a.VocabularioId == id); if (Vocabulario == null) { return(HttpNotFound()); } VocabularioEditViewModel viewModel = new VocabularioEditViewModel(); viewModel.DefinicionesVocabulario = ""; foreach (var def in Vocabulario.DefinicionVocabularios) { viewModel.DefinicionesVocabulario += def.Palabra_es + "_" + def.Definicion + "#"; } if (viewModel.DefinicionesVocabulario.Length > 0) { viewModel.DefinicionesVocabulario = viewModel.DefinicionesVocabulario.Substring(0, viewModel.DefinicionesVocabulario.Length - 1); } viewModel.Vocabulario = Vocabulario; viewModel.InicializarDesplegables(); return(View(viewModel)); }
// GET: Admin/Vocabularios/Delete/5 public ActionResult Delete(int id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Vocabulario Vocabulario = db.Vocabularios.Find(id); if (Vocabulario == null) { return(HttpNotFound()); } string fullPath = Request.MapPath("~/media/upload/audio/" + Vocabulario.FicheroAudio); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } //Eliminar subtema db.Vocabularios.Remove(Vocabulario); db.SaveChanges(); return(RedirectToAction("Index", new { })); }
public async Task Create(Vocabulario model) { try { _db.dbSetVocabulario.Add(model); await _db.SaveChangesAsync(); } catch (Exception e) { throw new Exception(e.Message, e); } }
public void Remove(int vocabularioId, int gramaticaId) { Gramatica gramatica = db.Gramaticas.Include(gr => gr.Vocabularios).FirstOrDefault(gr => gr.GramaticaId == gramaticaId); if (gramatica != null) { Vocabulario vocabulario = db.Vocabularios.Find(vocabularioId); if (vocabulario != null) { gramatica.Vocabularios.Remove(vocabulario); db.Entry(gramatica).State = EntityState.Modified; db.SaveChanges(); } } }
public async Task Update(Vocabulario model) { try { var _model = await _db.dbSetVocabulario.FirstOrDefaultAsync(e => e.VocabularioId == model.VocabularioId); if (_model != null) { _db.Entry(_model).CurrentValues.SetValues(model); await _db.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
// GET: Admin/Vocabularios/Delete/5 public ActionResult Delete(int vocabularioId, int gramaticaId) { if (gramaticaId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Gramatica gramatica = db.Gramaticas.Include(gr => gr.Vocabularios).FirstOrDefault(gr => gr.GramaticaId == gramaticaId); if (gramatica == null) { return(HttpNotFound()); } Vocabulario vocabulario = db.Vocabularios.Find(vocabularioId); if (vocabulario == null) { return(HttpNotFound()); } gramatica.Vocabularios.Remove(vocabulario); db.Entry(gramatica).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", new { id = gramaticaId })); }
public async Task <IHttpActionResult> Update(Vocabulario obj) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _repository.Update(obj); return(Ok("Registro eliminado correctamente!")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
public ActionResult Edit(VocabularioEditViewModel viewModel) { if (ModelState.IsValid) { if (viewModel.AudioFile != null) { string fullPath = Request.MapPath("~/media/upload/audio/" + viewModel.Vocabulario.FicheroAudio); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } viewModel.Vocabulario.FicheroAudio = viewModel.Vocabulario.VocabularioId + ".mp3"; string nameAndLocation = "~/media/upload/audio/" + viewModel.Vocabulario.FicheroAudio; viewModel.AudioFile.SaveAs(Server.MapPath(nameAndLocation)); } db.Entry(viewModel.Vocabulario).State = EntityState.Modified; db.SaveChanges(); Vocabulario Vocabulario = db.Vocabularios.Include(a => a.DefinicionVocabularios).FirstOrDefault(a => a.VocabularioId == viewModel.Vocabulario.VocabularioId); List <DefinicionVocabulario> listaNueva = new List <DefinicionVocabulario>(); if (!string.IsNullOrEmpty(viewModel.DefinicionesVocabulario)) { var definiciones = viewModel.DefinicionesVocabulario.Split('#'); foreach (var palDef in definiciones) { var arrPalDef = palDef.Split('_'); var existe = Vocabulario.DefinicionVocabularios.FirstOrDefault(dv => dv.Palabra_es == arrPalDef[0] && dv.Definicion == arrPalDef[1]); if (existe == null) { DefinicionVocabulario defVoc = new DefinicionVocabulario() { Palabra_es = arrPalDef[0], Definicion = arrPalDef[1], VocabularioId = Vocabulario.VocabularioId }; listaNueva.Add(defVoc); } else { listaNueva.Add(existe); } } } List <string> listaNuevos = listaNueva.Select(ln => ln.Palabra_es + "_" + ln.Definicion).ToList(); var definicionQuitar = Vocabulario.DefinicionVocabularios.Where(dv => !listaNuevos.Contains(dv.Palabra_es + "_" + dv.Definicion)); List <string> listaExisten = Vocabulario.DefinicionVocabularios.Select(ln => ln.Palabra_es + "_" + ln.Definicion).ToList(); listaNueva.RemoveAll(dv => listaExisten.Contains(dv.Palabra_es + "_" + dv.Definicion)); db.DefinicionVocabularios.RemoveRange(definicionQuitar); db.DefinicionVocabularios.AddRange(listaNueva); db.SaveChanges(); return(RedirectToAction("Index", new {})); } viewModel.InicializarDesplegables(); return(View(viewModel)); }