public async Task<ActionResult> EditarMes(CONT_MESMODEL _model)
        {
            if (ModelState.IsValid)
            {

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

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

                            _entity.NOMBREMES = _model.NOMBREMES;
                            _entity.DESCRIPCION = _model.DESCRIPCION;
                            _entity.FECHAINICIO = _model.FECHAINICIO;
                            _entity.FECHACIERRE = _model.FECHACIERRE;
                            _entity.FECHACORTE = _model.FECHACORTE;


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

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

                        _entity.NOMBREMES = _model.NOMBREMES;
                        _entity.DESCRIPCION = _model.DESCRIPCION;
                        _entity.FECHAINICIO = _model.FECHAINICIO;
                        _entity.FECHACIERRE = _model.FECHACIERRE;
                        _entity.FECHACORTE = _model.FECHACORTE;

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

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


                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    ViewBag.NOMBREMES = new SelectList(meses, "Value", "Text", _model.NOMBREMES);
                    return View(_model);
                }
            }

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


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

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

            // set model
            var _model = new CONT_MESMODEL
            {
                ID = _entity.ID,
                NOMBREMES = _entity.NOMBREMES,
                DESCRIPCION = _entity.DESCRIPCION,
                FECHACIERRE = _entity.FECHACIERRE,
                FECHACORTE = _entity.FECHACORTE,
                FECHAINICIO = _entity.FECHAINICIO
            };

            // elementos dinámicos
            ViewBag.NOMBREMES = new SelectList(meses, "Value", "Text");

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

        //get 
        public ActionResult NuevoMes()
        {
            // get model 
            var _model = new CONT_MESMODEL();
            
            //elementos dinámicos
            ViewBag.NOMBREMES = new SelectList(meses, "Value", "Text");

            // to view
            return View(_model);
        }
        public async Task<ActionResult> NuevoMes(CONT_MESMODEL _model)
        {
            if (ModelState.IsValid)
            {

                try
                {
                    // coprobar la existencia del NOMBREMES
                    if (_context.CONT_MES.FirstOrDefault(i => i.NOMBREMES == _model.NOMBREMES) != null)
                    {
                        ModelState.AddModelError("", "Ya existe un registro con este NOMBREMES, por favor elija otro!");
                        ViewBag.NOMBREMES = new SelectList(meses, "Value", "Text", _model.NOMBREMES);
                        return View(_model);
                    }
                    else
                    {
                        // get entity
                        var _entity = new CONT_MES
                        {
                            NOMBREMES = _model.NOMBREMES,
                            DESCRIPCION = _model.DESCRIPCION,
                            FECHAINICIO = _model.FECHAINICIO,
                            FECHACIERRE = _model.FECHACIERRE,
                            FECHACORTE = _model.FECHACORTE
                        };

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

                        // to lista de meses
                        return RedirectToAction("Meses", "Configuraciones");
                    }


                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    ViewBag.NOMBREMES = new SelectList(meses, "Value", "Text", _model.NOMBREMES);
                    return View(_model);
                }
            }

            return View(_model);
        }
        // detalle mes

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


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

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

            // set model
            var _model = new CONT_MESMODEL
            {
                ID = _entity.ID,
                NOMBREMES = _entity.NOMBREMES,
                DESCRIPCION = _entity.DESCRIPCION,
                FECHAINICIO = _entity.FECHAINICIO,
                FECHACIERRE = _entity.FECHACIERRE,
                FECHACORTE = _entity.FECHACORTE
            };

            // to view
            return View(_model);
        }