Beispiel #1
0
        private async Task FillCombos(CodificacionViewModel codificacion)
        {
            ViewData["NivelId"] = new SelectList(_context.Nivel, "NivelId", "NivelDemandaCognitiva", codificacion.NivelId);
            ViewData["CursoId"] = new SelectList(_context.Curso, "CursoId", "NombreCurso", codificacion.CursoId);
            ViewData["EjeId"]   = new SelectList(_context.Eje, "EjeId", "DescripcionEje", codificacion.EjeId);

            bool cursoEje = codificacion.CursoId != null && codificacion.EjeId != null;

            if (cursoEje)
            {
                var objetivos = await _context.Objetivo.Where(o => o.CursoId == codificacion.CursoId && o.EjeId == codificacion.EjeId).ToListAsync();

                ViewData["ObjetivoId"] = new SelectList(objetivos, "ObjetivoId", "ObjetivoAprendizaje", codificacion.ObjetivoId);
            }

            ViewData["HabilidadId"] = new SelectList(_context.Habilidad, "HabilidadId", "NombreHabilidad", codificacion.HabilidadId);
            ViewData["TipoTareaId"] = new SelectList(_context.TipoTarea, "TipoTareaId", "NombreTipoTarea", codificacion.TipoTareaId);

            if ((bool)codificacion.TieneDuplicado)
            {
                var duplicados = await _context.Material.Where(d => d.Original == codificacion.MaterialId).ToListAsync();

                ViewData["Duplicados"] = new SelectList(duplicados, "MaterialId", "FileName");
            }
        }
Beispiel #2
0
        // GET: Codificacion/Edit/5
        public async Task <IActionResult> Edit(int?fase, int materialId, int filter = -1)
        {
            await getFaseCodificador();

            var codificacion = await _context.Codificacion.Where(c => c.CodificadorId == _codificador && c.FaseId == (fase ?? _fase) && c.MaterialId == materialId).Include(m => m.Material).SingleOrDefaultAsync();

            if (codificacion == null)
            {
                return(NotFound());
            }

            _baseVM.FaseSel = fase ?? _fase;
            CodificacionViewModel model = new CodificacionViewModel(_baseVM, codificacion, filter);

            Navigation item = await GetItem(_codificador, (fase ?? _fase), materialId, filter);

            model.NextItem = item.Next;
            model.PrevItem = item.Previous;
            model.Total    = item.Total;
            model.Pos      = item.Pos;

            await FillCombos(model);

            return(View(model));
        }
Beispiel #3
0
        public async Task <IActionResult> Edit([Bind("CodificadorId,FaseId,MaterialId,FileName,TieneDuplicado,NivelId,NivelComentario,CursoId,EjeId,ObjetivoId,ObjetivoComentario,HabilidadId,HabilidadComentario,TipoTareaId,TipoTareaComentario,CorreccionProfesor,ErrorEjecucion,TrabajaDinero,ErrorDiseno,Observaciones,Filtro,Perfil")] CodificacionViewModel codificacion)
        {
            if (codificacion == null)
            {
                return(NotFound());
            }

            setFaseActual();

            if (ModelState.IsValid && (codificacion.FaseId == _fase || codificacion.Perfil == 1))
            {
                try
                {
                    codificacion.UpdateEstado();
                    Codificacion cd = codificacion.getCodificacion();
                    cd.LastUpdated = DateTime.Now;
                    _context.Update(cd);
                    _context.Entry(cd).State = EntityState.Modified;
                    _context.Entry(cd).Property(o => o.RowIndex).IsModified = false;
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CodificacionExists(codificacion.CodificadorId, codificacion.FaseId, codificacion.MaterialId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Edit), new { @materialId = codificacion.MaterialId, @fase = codificacion.FaseId, @filter = codificacion.Filtro }));
            }

            await FillCombos(codificacion);

            return(View(codificacion));
        }