public async Task<ActionResult> EditarCurso(TER_CURSOMODEL _model)
        {
            if (ModelState.IsValid)
            {

                try
                {
                    // comprobar la existencia del nombre
                    var _test = await _context.TER_CURSO.FirstOrDefaultAsync(i => i.NOMBRE == _model.NOMBRE);
                    //bool _nombreRepetido = false;
                    //_nombreRepetido = (_test.ID != _model.ID && _test.NOMBRE == _model.NOMBRE) ? true : false;

                    if (_test != null)
                    {
                        if (_test.ID != _model.ID)
                        {
                            ModelState.AddModelError("", "Ya existe un registro con este nombre, por favor elija otro!");
                            return View(_model);
                        }
                        else
                        {
                            // get entity
                            var _entity = new TER_CURSO();
                            _entity = await _context.TER_CURSO.FindAsync(_model.ID);

                            _entity.NOMBRE = _model.NOMBRE;
                            _entity.DESCRIPCION = _model.DESCRIPCION;


                            // guardar en el context
                            _context.Entry(_entity).State = EntityState.Modified;
                            await _context.SaveChangesAsync();

                            // to lista de Fases
                            return RedirectToAction("Cursos", "Configuraciones");
                        }
                    }
                    else
                    {
                        // get entity
                        var _entity = new TER_CURSO();
                        _entity = await _context.TER_CURSO.FindAsync(_model.ID);

                        _entity.NOMBRE = _model.NOMBRE;
                        _entity.DESCRIPCION = _model.DESCRIPCION;


                        // guardar en el context
                        _context.Entry(_entity).State = EntityState.Modified;
                        await _context.SaveChangesAsync();

                        // to lista de Fases
                        return RedirectToAction("Cursos", "Configuraciones");
                    }


                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return View(_model);
                }
            }

            return View(_model);
        }
        public async Task<ActionResult> NuevoCurso(TER_CURSOMODEL _model)
        {
            if (ModelState.IsValid)
            {

                try
                {
                    // coprobar la existencia del nombre
                    if (_context.TER_CURSO.FirstOrDefault(i => i.NOMBRE == _model.NOMBRE) != null)
                    {
                        ModelState.AddModelError("", "Ya existe un registro con este nombre, por favor elija otro!");
                        return View(_model);
                    }
                    else
                    {
                        // get entity
                        var _entity = new TER_CURSO
                        {
                            NOMBRE = _model.NOMBRE,
                            DESCRIPCION = _model.DESCRIPCION
                        };

                        // guardar en el context
                        _context.TER_CURSO.Add(_entity);
                        await _context.SaveChangesAsync();

                        // to lista de Fases
                        return RedirectToAction("Cursos", "Configuraciones");
                    }


                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return View(_model);
                }
            }

            return View(_model);
        }
        //editar Curso
        // get
        public async Task<ActionResult> EditarCurso(int? ID)
        {
            // comprobar la nulidad de ID
            if (ID == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }


            //get entity
            var _entity = await _context.TER_CURSO.FindAsync(ID);

            // comprobar si existe un registro con es id
            if (_entity == null)
            {
                return HttpNotFound();
            }

            // set model
            var _model = new TER_CURSOMODEL
            {
                ID = _entity.ID,
                NOMBRE = _entity.NOMBRE,
                DESCRIPCION = _entity.DESCRIPCION
            };

            // to view
            return View(_model);
        }
        // crear Curso

        //get 
        public ActionResult NuevoCurso()
        {
            // get model 
            var _model = new TER_CURSOMODEL();

            return View(_model);
        }