public async Task <ActionResult> AgregarUnidad(CatDetalleViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    IRepositoryWrapper _repo = new RepositoryWrapper();
                    if (_repo.CatDetalle.Exists(x => x.DepartamentoId == model.DepartamentoId &&
                                                (x.Descripcion.Trim() == model.Descripcion.ToUpper() || x.Clave.Trim().ToUpper() == model.Clave.Trim().ToUpper())))
                    {
                        ViewBag.ErrorMessage = "La clave, descripcion o nombre de la unidad o persona ya existe en el catalogo para ese departamento";
                        return(View(model));
                    }
                    Pre_CatDetalle unidad = new Pre_CatDetalle();
                    unidad.Descripcion    = model.Descripcion;
                    unidad.DepartamentoId = model.DepartamentoId;
                    unidad.Clave          = model.Clave;

                    var result = _repo.CatDetalle.AddUpdate(unidad);
                    if (!result.Item1)
                    {
                        ViewBag.ErrorMessage = string.Join(Environment.NewLine, result.Item2);
                        return(View(model));
                    }


                    //int departamentoId = -1;
                    //if (Request.Params["ClaveDepartamento"] != null)
                    //    int.TryParse("0" + Request.Params["ClaveDepartamento"], out departamentoId);
                    //IRepositoryWrapper _repo = new RepositoryWrapper();
                    var listado = await _repo.CatDetalle.GetCatDetalleByDepartamentoAsync(model.DepartamentoId);

                    return(PartialView("_gvUnidadesViewPartial", listado.OrderBy(s => s.Descripcion)));

                    //return RedirectToAction("Unidades", "Catalogos");
                }

                catch (Exception ex)
                {
                    ViewBag.ErrorMessage = ex.Message;
                }
            }
            else
            {
                ViewBag.ErrorMessage = "La información esta incompleta";
            }
            return(View(model));
        }
        public ActionResult AgregarUnidad(string Id)
        {
            var model = new CatDetalleViewModel();

            if (string.IsNullOrWhiteSpace(Id))
            {
                model.DepartamentoId = -1;
            }
            else
            {
                int deptoId = -1;
                int.TryParse("0" + Id, out deptoId);
                if (deptoId == 0)
                {
                    deptoId = -1;
                }
                model.DepartamentoId = deptoId;
            }
            return(View(model));
        }