public ActionResult EditSubGrupo(int IdPais, Guid IdGrupo, Guid Id)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            ViewBag.Title = Resources.TablasResource.EditSubGrupoPageTitle;
            using (SeguricelEntities db = new SeguricelEntities())
            {
                ViewBag.PageHeader = string.Format("{0} {1}",
                    Resources.TablasResource.EditSubGrupoHeaderPage,
                    (db.Grupo.Where(x => x.IdGrupo == IdGrupo).Select(x => x.Nombre).FirstOrDefault() ?? string.Empty));
            }
            SubGrupoViewModel model = new SubGrupoViewModel();

            using (SeguricelEntities db = new SeguricelEntities())
            {
                model = (db.SubGrupo.Where(x => x.IdGrupo == IdGrupo && x.IdSubGrupo == Id)
                            .Select(x => new SubGrupoViewModel
                            {
                                Codigo = x.Codigo,
                                Id = x.IdSubGrupo,
                                IdPais = IdPais,
                                Grupo = IdGrupo,
                                Nombre = x.Nombre
                            }).FirstOrDefault());
            }

            return View(model);
        }
        public ActionResult EditSubGrupo(SubGrupoViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            if (!ModelState.IsValid)
            {
                ViewBag.Title = Resources.TablasResource.EditSubGrupoPageTitle;
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    ViewBag.PageHeader = string.Format("{0} {1}",
                        Resources.TablasResource.EditSubGrupoHeaderPage,
                        (db.Grupo.Where(x => x.IdGrupo == model.Grupo).Select(x => x.Nombre).FirstOrDefault() ?? string.Empty));
                }
                return View(model);
            }

            using (SeguricelEntities db = new SeguricelEntities())
            {
                SubGrupo regSubGrupo = (db.SubGrupo.Where(x => x.IdGrupo == model.Grupo && x.IdSubGrupo == model.Id).FirstOrDefault());
                regSubGrupo.Nombre = model.Nombre;
                regSubGrupo.Codigo = model.Codigo;
                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                   "Subgrupo " + model.Nombre + "en el grupo " + db.Grupo.Where(x => x.IdGrupo == model.Grupo).Select(x => x.Nombre).FirstOrDefault(),
                   190000002,
                   "Actualizar");

            }
            return RedirectToAction("SubGrupos", new { IdPais = model.IdPais, IdGrupo = model.Grupo });
        }
        public ActionResult CreateSubGrupo(SubGrupoViewModel model)
        {
            if (User == null || User.GetType().ToString() == "System.Security.Principal.GenericPrincipal")
                return RedirectToAction("Index", "Home");

            if (!ModelState.IsValid)
            {
                ViewBag.Title = Resources.TablasResource.CreateSubGrupoPageTitle;
                using (SeguricelEntities db = new SeguricelEntities())
                {
                    ViewBag.PageHeader = string.Format("{0} {1}",
                        Resources.TablasResource.CreateSubGrupoHeaderPage,
                        (db.Grupo.Where(x => x.IdGrupo == model.Grupo).Select(x => x.Nombre).FirstOrDefault() ?? string.Empty));
                }

            }

            using (SeguricelEntities db = new SeguricelEntities())
            {

                string _Culture = db.Pais.Where(x => x.IdPais == model.IdPais).FirstOrDefault().Culture;

                SubGrupo SubGrupo = new SubGrupo
                {
                    Codigo = model.Codigo,
                    Cuture = _Culture,
                    IdGrupo = model.Grupo,
                    IdSubGrupo = Guid.NewGuid(),
                    Nombre = model.Nombre
                };

                db.SubGrupo.Add(SubGrupo);
                db.SaveChanges();

                ClasesVarias.AddBitacoraUsuario(db,
                   "Subgrupo " + model.Nombre + "en el grupo " + db.Grupo.Where(x => x.IdGrupo == model.Grupo).Select(x => x.Nombre).FirstOrDefault(),
                   190000002,
                   "Agregar");

            }
            return RedirectToAction("SubGrupos", new { IdPais = model.IdPais, IdGrupo = model.Grupo });

        }