Exemple #1
0
        // 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));
        }
Exemple #2
0
        // 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 { }));
        }
Exemple #3
0
 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();
                }
            }
        }
Exemple #5
0
        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)); }
                                                         }
Exemple #8
0
        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));
        }