예제 #1
0
        public IActionResult AgregarCategoria(CategoriasViewModel c)
        {
            try
            {
                CategoriasRepository repos = new CategoriasRepository();
                Regex regex     = new Regex(@"^[a-zA-ZáéíóúÁÉÍÓÚñÑ0-9 ]+$");
                bool  resultado = regex.IsMatch(c.Nombre);

                if (repos.GetCategoriasByNombre(c.Nombre) != null)
                {
                    ModelState.AddModelError("", "Ya existe una categoria con este nombre");
                    return(View(c));
                }
                if (!resultado)
                {
                    ModelState.AddModelError("", "El nombre de la categoria no puede y caracteres especiales.");
                    return(View(c));
                }
                repos.Insert(c);
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(c));
            }
        }
        public IActionResult AgregarCategoria(DACategoriasViewModel categoria)
        {
            //ViewBag.Admin = 1;
            if (ModelState.IsValid)
            {
                //try
                //{
                CategoriasRepository RepositorioCategorias = new CategoriasRepository();

                var   ResultNombre    = RepositorioCategorias.GetCategoriaByNombre(categoria.Nombre);
                Regex regexNombre     = new Regex(@"^[a-zA-ZáéíóúÁÉÍÓÚñÑ0-9 ]{6,}$");
                bool  resultNombreCat = regexNombre.IsMatch(categoria.Nombre);

                if (!resultNombreCat)
                {
                    ModelState.AddModelError("", "El nombre debe contener 6 o más caracteres, no puede iniciar con un número y no puede contener caracteres especiales.");
                    return(View(categoria));
                }

                Regex  regexIniciaNum       = new Regex(@"[0-9]| $");
                string expresion            = categoria.Nombre.Substring(0, 1);
                bool   resultRegexIniciaNum = regexIniciaNum.IsMatch(expresion);
                if (resultRegexIniciaNum)
                {
                    ModelState.AddModelError("", "El nombre de la categoria no puede iniciar con un numero.");
                    return(View(categoria));
                }
                if (ResultNombre == null)
                {
                    RepositorioCategorias.Insert(categoria);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Ya existe una categoria con el mismo nombre.");
                    if (RepositorioCategorias.GetCategoriaByNombre(categoria.Nombre).Estatus == false)
                    {
                        ViewBag.Recuperacion = true;
                        ViewBag.IdEncRec     = RepositorioCategorias.GetCategoriaByNombre(categoria.Nombre).Id;
                    }
                    return(View(categoria));
                }

                //}
                //catch (Exception ex)
                //{
                //    ModelState.AddModelError("", ex.Message);
                //    return View(categoria);
                //}
            }
            else
            {
                return(View(categoria));
            }
        }
예제 #3
0
 public IActionResult Agregar(Categorias c)
 {
     try
     {
         fruteriashopContext  context = new fruteriashopContext();
         CategoriasRepository repos   = new CategoriasRepository(context);
         repos.Insert(c);
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.Message);
         return(View(c));
     }
 }