Exemplo n.º 1
0
        public ActionResult AsignarMenuOpcion2(string ids, int rol)
        {
            var sis_str_siglas = ConfigurationManager.AppSettings["ModuleAcronym"] == null ? string.Empty : Convert.ToString(ConfigurationManager.AppSettings["ModuleAcronym"]);

            //if (formcollection["trevalor"] == null) throw new ArgumentException("Hubo un error al momento de obtener los datos ");
            //var datos_array = Convert.ToString(formcollection["trevalor"]).Split(',');
            //modelo.ListaOpciones = new List<MenuOpcion>();
            string ids_extras = ",";

            string[] datos_array_first = ids.Split(',');
            foreach (var item in datos_array_first)
            {
                string idpadre = RolesData.GetObtenerIdPadre(Convert.ToInt32(item)).ToString();
                if (ids.IndexOf(idpadre) != -1)
                {
                    continue;
                }
                if (Convert.ToInt32(idpadre) == 0)
                {
                    continue;
                }
                if (ids_extras.IndexOf(idpadre) == -1)
                {
                    ids_extras = ids_extras + "," + idpadre;
                }
            }


            var modelo = new AsignarMenuOpcionModel();

            modelo.rol_int_id    = rol;
            modelo.ListaOpciones = new List <MenuOpcion>();
            ids = ids + ids_extras;


            string[] datos_array = ids.Split(',');

            foreach (var datos in datos_array)
            {
                if (datos == "")
                {
                    continue;
                }
                modelo.ListaOpciones.Add(new MenuOpcion()
                {
                    IdMenuOpcion     = int.Parse(datos), //int.Parse(GetDataFormatString("data-idmenu", datos)),
                    CodigoPermiso    = "AME",            // GetDataFormatString("data-permiso", datos),
                    ItemSeleccionado = true              //bool.Parse(GetDataFormatString("data-selectoption", datos))
                });
            }

            var roles_procesados = RolesData.AsignarMenuOpcionRol(this.ControllerContext, sis_str_siglas, modelo.rol_int_id, modelo.ListaOpciones.Where(x => x.ItemSeleccionado == true).ToList());

            if (roles_procesados == 0)
            {
                ViewBag.Mensaje = "Se han activo todas las opciones para este rol";
            }
            else
            {
                ViewBag.Mensaje = string.Format("se han asignado {0} opciones al rol", roles_procesados);
            }

            if (roles_procesados > 0)
            {
                //return RedirectToAction("AsignarMenuOpcion", "Roles", new { area = "seguridad", id = modelo.rol_int_id });
                return(Json(new { success = true, res = "1" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { success = false, res = "0" }, JsonRequestBehavior.AllowGet));
            }
            //return View(modelo);
        }