public ActionResult actualizaUsuariosPortal(string idTipo) { List <KeyValuePair <string, string> > mensajes = new List <KeyValuePair <string, string> >(); IEnumerable <SelectListItem> salida; //if (idTipo.Length > 0) //{ List <KeyValuePair <string, string> > respuesta = new List <KeyValuePair <string, string> >(); List <ClickFactura_Entidades.BD.Entidades.Cat_Usuario> Padres = db.Cat_Usuario.ToList(); List <ClickFactura_Entidades.BD.Entidades.Cat_Usuario> Filtrados = new List <Cat_Usuario>(); string keyP = "0"; string valueP = "Ninguno"; if (Padres.Count() == 0) { keyP = "0"; valueP = "Es el primero"; respuesta.Add(new KeyValuePair <string, string>(keyP, valueP)); } else { #region Perfiles activos int result = 0; ClickFactura_WebServiceCF.AccesoBD.Genericos.adT_Parametros adp = new ClickFactura_WebServiceCF.AccesoBD.Genericos.adT_Parametros(); List <ClickFactura_WebServiceCF.AccesoBD.Genericos.objT_Parametros> objp = new List <ClickFactura_WebServiceCF.AccesoBD.Genericos.objT_Parametros>(); List <KeyValuePair <string, string> > datos = new List <KeyValuePair <string, string> >(); string entorno = null; string[] perfiles = { }; string[] perfilesAux = { }; List <string> listaPerfiles = new List <string>(); objp = adp.mABCT_Parametros(out result, 0, "perfilesInternos", "Vacio", true, "ConsultaValor"); { entorno = objp[0].ValorParametro.ToString(); } if (entorno.Length <= 0) { entorno = "0"; } else { char[] split = { ',' }; perfiles = entorno.Split(split); foreach (string p in perfiles) { listaPerfiles.Add(p); } } #endregion Perfiles activos #region por Revisar //IEnumerable<Cat_Usuario> Original; //IEnumerable<Cat_Usuario> Acumulado=null; //if (listaPerfiles.Count() == 1) //{ // Original = from originales in Padres where originales.IdPerfil.Equals(listaPerfiles[0]) == true select originales; // Acumulado = Original; //} //else //{ // listaPerfiles.RemoveAt(0); // foreach (string _p in listaPerfiles) // { // IEnumerable<Cat_Usuario> dePaso; // dePaso = from ll in Padres where ll.IdPerfil.Equals(_p) == true select ll; // if (dePaso != null) // if (dePaso.Count() > 0) // { // Acumulado.Concat(dePaso); // //foreach (ClickFactura_Entidades.BD.Entidades.Cat_Usuario wf in Padres) // //{ // // #region Carga solo los permitidos // // if (wf.Activo == true) // // { // // if (_p.Equals(wf.IdPerfil) == true) // // { // // string key = wf.IdUsuario.ToString(); // // string value = wf.Usuario.ToString(); // // respuesta.Add(new KeyValuePair<string, string>(key, value)); // // break; // // } // // } // // #endregion Carga solo los permitidos // //} // //IEnumerable<SelectListItem> CategorySelectListPortal = respuesta.Select(x => new SelectListItem() { Text = x.Value.Trim(), Value = x.Key.Trim() }); // } // } //} #endregion Por revisar foreach (ClickFactura_Entidades.BD.Entidades.Cat_Usuario wf in Padres) { #region Carga solo los permitidos string key = wf.IdUsuario.ToString(); string value = wf.Usuario.ToString(); respuesta.Add(new KeyValuePair <string, string>(key, value)); #endregion Carga solo los permitidos } } IEnumerable <SelectListItem> _c = respuesta.Select(x => new SelectListItem() { Text = x.Value.Trim(), Value = x.Key.Trim() }); if (_c.Count() > 0) { salida = _c; return(Json(salida)); } else { return(Json(mensajes)); } //} //else //{ // //var model = listado; // return null; //} }
public ActionResult Create([Bind(Include = "idWF,nombreWF,noAprobacionesRequeridas,controlador,minimoRelevanciaJerarquica")] Cat_ProcesosWF cat_ProcesosWF) { if (ModelState.IsValid) { db.Cat_ProcesosWF.Add(cat_ProcesosWF); db.SaveChanges(); int newId = cat_ProcesosWF.idWF; #region Agrega al super usuario administrador string admon = "tkp"; var usuarioLegeo = from usu in db.Cat_Usuario where usu.Usuario.Equals(admon) == true select usu; if (usuarioLegeo != null) { if (usuarioLegeo.Count() > 0) { foreach (var u in usuarioLegeo) { string insertar = "Insert Into Cat_TipoUsuarioWF (idWF,nombreRol,idPadre,idHijo,activo,relevanciaJerarquica) Values (" + newId.ToString() + ",'AdmonGral',0,0,1," + cat_ProcesosWF.minimoRelevanciaJerarquica + ")"; ClickFactura_Facturacion.Genericos.Genericos generico = new ClickFactura_Facturacion.Genericos.Genericos(); #region Ejecuta extracción de todos los datos var _insertado = generico.genericos_consultaCualquierTabla(insertar); string recuperaIdTipo = "Select idTipoUsuarioWF From Cat_TipoUsuarioWF Where idWF=" + newId.ToString() + " And nombreRol='AdmonGral'"; var _idTipo = generico.genericos_consultaCualquierTabla(recuperaIdTipo); string idTipo = ""; foreach (DataRow _Usuario in _idTipo.Rows) { idTipo = _Usuario.Field <Int16>("idTipoUsuarioWF").ToString(); break; } #region Recupera el Id del Usuario Administrador #region extrae un parametro int result = 0; ClickFactura_WebServiceCF.AccesoBD.Genericos.adT_Parametros adp = new ClickFactura_WebServiceCF.AccesoBD.Genericos.adT_Parametros(); List <ClickFactura_WebServiceCF.AccesoBD.Genericos.objT_Parametros> objp = new List <ClickFactura_WebServiceCF.AccesoBD.Genericos.objT_Parametros>(); List <KeyValuePair <string, string> > datos = new List <KeyValuePair <string, string> >(); string entorno = ""; objp = adp.mABCT_Parametros(out result, 0, "IddeUsuarioAdministradorBafar", "Vacio", true, "ConsultaValor"); { entorno = objp[0].ValorParametro.ToString(); } #endregion extrae un parametro #endregion Recupera el Id del Usuario Administrador string insertarUsuarioAdmon = "Insert Into Cat_UsuariosWF (idTipoUsuarioWF,nombre,correo,centroCostos,idUsuarioPortal) Values (" + idTipo + ",'AdmonGral (" + newId.ToString() + ")','Sin Correo','0'," + entorno + ")"; var _AdmonGralCreado = generico.genericos_consultaCualquierTabla(insertarUsuarioAdmon); #endregion Ejecuta extracción de todos los datos } } } #endregion Agrega al super usuario administrador return(RedirectToAction("Index")); } return(View(cat_ProcesosWF)); }