public IActionResult Editar(AreaViewModel areaVM)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    AreasRepository areasRepository = new AreasRepository();
                    var             areaResult      = areasRepository.GetAreaByNombre(areaVM.SectorEstrategico.ToLower());

                    //Regex regex = new Regex(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ\s 0-9 ]+$");
                    Regex regex     = new Regex(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ\s ]+$");
                    bool  resultado = true;
                    resultado = regex.IsMatch(areaVM.SectorEstrategico);

                    if (!resultado)
                    {
                        ModelState.AddModelError("", "No se aceptan números y caracteres especiales en el nombre (Solo: a-z, A-Z).");
                        return(View(areaVM));
                    }

                    Regex  regexNoNumStart     = new Regex(@"[0-9]| $");
                    bool   resultadoNoNumStart = false;
                    string textoFirstChart     = areaVM.SectorEstrategico.Substring(0, 1);
                    resultadoNoNumStart = regexNoNumStart.IsMatch(textoFirstChart);
                    if (resultadoNoNumStart)
                    {
                        ModelState.AddModelError("", "No se permite iniciar con NÚMERO o con ESPACIO.");
                        return(View(areaVM));
                    }

                    if (areaResult == null)
                    {
                        areasRepository.UpdateAreaVM(areaVM);

                        return(RedirectToAction("Area", "Administrador"));
                    }
                    else if (areaResult.IdArea == areaVM.IdArea)
                    {
                        areaResult.SectorEstrategico = areaVM.SectorEstrategico;
                        areasRepository.Update(areaResult);

                        return(RedirectToAction("Area", "Administrador"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Ya existe este sector estrategico.");
                        return(View(areaVM));
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(areaVM));
                }
            }
            else
            {
                return(View(areaVM));
            }
        }
Beispiel #2
0
        public async Task <IActionResult> Put([FromBody] Areas value)
        {
            try
            {
                await _repository.Update(value);
            }
            catch (Exception ex)
            {
                // Guardar Excepción
                return(BadRequest(ex.Message.ToString()));
            }

            return(Ok());
        }