public ActionResult EditarCuentaDepartamento(CuentasDepartamentoModel model)
        {
            if (ModelState.IsValid)
            {
                IRepositoryWrapper _repo = new RepositoryWrapper();
                if (_repo.CuentasDepartamento.Exists(x => x.Nombre.Trim().ToUpper() == model.Nombre.Trim().ToUpper() && x.Cuenta != model.Cuenta))
                {
                    ViewBag.ErrorMessage = "La descripcion o nombre de la cuenta para departamento ya existe en el catalogo";
                    return(View(model));
                }
                Pre_CuentasDepartamento depto = new Pre_CuentasDepartamento();
                depto.Cuenta      = model.Cuenta;
                depto.Nombre      = model.Nombre;
                depto.TipoDetalle = model.TipoDetalle;
                var result = _repo.CuentasDepartamento.AddUpdate(depto);
                if (!result.Item1)
                {
                    ViewBag.ErrorMessage = string.Join(Environment.NewLine, result.Item2);
                    return(View(model));
                }

                return(RedirectToAction("CuentasParaDepartamentos", "Catalogos"));
            }
            else
            {
                ViewBag.ErrorMessage = "La información esta incompleta";
            }
            return(View(model));
        }
        public async Task <ActionResult> EditarCuentaDepartamento(string Id)
        {
            int clave = 0;

            int.TryParse("0" + Id, out clave);

            IRepositoryWrapper _repo = new RepositoryWrapper();
            var depto = await _repo.CuentasDepartamento.FindAsync(clave);

            if (depto == null)
            {
                return(RedirectToAction("CuentasParaDepartamentos", "Catalogos"));
            }

            var model = new CuentasDepartamentoModel();

            model.Cuenta      = depto.Cuenta;
            model.Nombre      = depto.Nombre;
            model.TipoDetalle = depto.TipoDetalle;// ?? "PERSONA";

            var tipos = await _repo.Configuracion.GetTiposDetalleAsync();

            List <ListItemStringKey> _tipos = new List <ListItemStringKey>();

            foreach (var item in tipos.Valor.Split(','))
            {
                _tipos.Add(new ListItemStringKey {
                    ID = item, Name = item
                });
            }

            ViewBag.TiposDetalle = _tipos;

            return(View(model));
        }