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); }