Ejemplo n.º 1
0
        public IActionResult EditarEncuesta(DAEncuestasViewModel vm)
        {
            //ViewBag.Admin = 1;
            if (ModelState.IsValid)
            {
                //try
                //{
                EncuestasRepository RepositorioEncuestas = new EncuestasRepository();

                var resultTitulo = RepositorioEncuestas.GetEncuestasByTitulo(vm.Titulo);

                Regex regexTitulo          = new Regex(@"^[a-zA-ZáéíóúÁÉÍÓÚñÑ0-9 ]{6,}$");
                bool  resultadoRegexTitulo = regexTitulo.IsMatch(vm.Titulo);

                if (!resultadoRegexTitulo)
                {
                    ModelState.AddModelError("", "El titulo debe contener 6 o más caracteres, no puede iniciar con un número y no puede contener caracteres especiales.");
                    return(View(vm));
                }
                Regex  regexIniciaNum       = new Regex(@"[0-9]| $");
                string expresion            = vm.Titulo.Substring(0, 1);
                bool   resultRegexIniciaNum = regexIniciaNum.IsMatch(expresion);
                if (resultRegexIniciaNum)
                {
                    ModelState.AddModelError("", "El titulo de la encuesta no puede iniciar con un número.");
                    return(View(vm));
                }
                if (resultTitulo == null)
                {
                    RepositorioEncuestas.Update(vm);
                    return(RedirectToAction("Index"));
                }
                else if (resultTitulo.Id == vm.Id)
                {
                    resultTitulo.Titulo = vm.Titulo;
                    RepositorioEncuestas.Update(vm);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Ya existe una encuesta con este nombre.");
                    if (RepositorioEncuestas.GetEncuestasByTitulo(vm.Titulo).Estatus == false)
                    {
                        ViewBag.Recuperacion = true;
                        ViewBag.IdEncRec     = RepositorioEncuestas.GetEncuestasByTitulo(vm.Titulo).Id;
                    }
                    return(View(vm));
                }
                //}
                //catch (Exception ex)
                //{
                //    ModelState.AddModelError("", ex.Message);
                //    return View(vm);
                //}
            }
            else
            {
                return(View(vm));
            }
        }
Ejemplo n.º 2
0
        public void Update(DAEncuestasViewModel vm)
        {
            var c = Context.Encuesta.FirstOrDefault(x => x.Id == vm.Id);

            if (c != null)
            {
                c.Id              = vm.Id;
                c.Titulo          = vm.Titulo;
                c.Descripcion     = vm.Descripcion;
                c.Estado          = vm.Estado;
                c.IdCategoria     = vm.IdCategoria;
                c.IdAdministrador = vm.IdAdministrador;
                c.FechaCreacion   = vm.FechaCreacion;
                Update(c);
            }
        }
Ejemplo n.º 3
0
        public void Insert(DAEncuestasViewModel vm)
        {
            Encuesta encuesta = new Encuesta
            {
                Id              = vm.Id,
                Titulo          = vm.Titulo,
                Descripcion     = vm.Descripcion,
                Estado          = vm.Estado,
                IdCategoria     = vm.IdCategoria,
                IdAdministrador = vm.IdAdministrador,
                FechaCreacion   = vm.FechaCreacion,
                Estatus         = true
            };

            Insert(encuesta);
            vm.Id = encuesta.Id;
        }