/LocalServiceBus/FiltroPrincipales.cs

https://bitbucket.org/rjulietagarcia/estadisticas · C# · 546 lines · 480 code · 55 blank · 11 comment · 85 complexity · 8dd3dec9db36a53dce849738440d182a MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using SEroot.WsSESeguridad;
  5. using System.Configuration;
  6. using AjaxControlToolkit;
  7. using System.Collections.Specialized;
  8. using Mx.Gob.Nl.Educacion;
  9. using System.Web;
  10. using System.Web.UI;
  11. namespace SEroot
  12. {
  13. public class FiltroPrincipales
  14. {
  15. private UsuarioSeDP usr = null;
  16. private WsSESeguridad.WsSESeguridad ws;
  17. private string seccionConfiguracion = "WebServiceSeguridad";
  18. private void getUsr()
  19. {
  20. if (usr == null)
  21. usr = SeguridadSE.GetUsuario(HttpContext.Current);
  22. }
  23. private CascadingDropDownNameValue[] GetNivelEducacionCCT(StringDictionary knownCategoryValuesDictionary)
  24. {
  25. return GetNivelEducacionCCT(knownCategoryValuesDictionary, "%");
  26. }
  27. private CascadingDropDownNameValue[] GetNivelEducacionCCT(StringDictionary knownCategoryValuesDictionary, string filtro)
  28. {
  29. string nivelEducacionSelected = usr.Selecciones.CentroTrabajoSeleccionado.NiveleducacionId.ToString();
  30. if (usr.NivelTrabajo.NiveltrabajoId == 4)
  31. {
  32. string descripcion = usr.Selecciones.CentroTrabajoSeleccionado.Niveleducacion;
  33. string valor = usr.Selecciones.CentroTrabajoSeleccionado.NiveleducacionId.ToString();
  34. CascadingDropDownNameValue[] result = new CascadingDropDownNameValue[1];
  35. result[0] = new CascadingDropDownNameValue(descripcion, valor, true);
  36. return result;
  37. }
  38. if (usr.NivelTrabajo.NiveltrabajoId < 4 && usr.NivelesEducacion.Length > 0)
  39. {
  40. int j = 0;
  41. CascadingDropDownNameValue[] usrwNivel = new CascadingDropDownNameValue[usr.NivelesEducacion.Length];
  42. foreach (NivelEducacionNvoDP linea in usr.NivelesEducacion)
  43. {
  44. string descripcion = linea.Nombre;
  45. string valor = linea.NivelId.ToString();
  46. usrwNivel[j] = new CascadingDropDownNameValue(descripcion, valor, valor == nivelEducacionSelected);
  47. j++;
  48. }
  49. return usrwNivel;
  50. }
  51. int cantidad = 0;
  52. cantidad = Convert.ToInt32(ws.NivelEducacionQryCount());
  53. cantidad = cantidad == 0 ? 1 : cantidad;
  54. cantidad = cantidad > 250 ? 250 : cantidad;
  55. NivelEducacionQryDP[] res = ws.NivelEducacionQryLoadList(0, cantidad);
  56. int i = 0;
  57. CascadingDropDownNameValue[] resultado = new CascadingDropDownNameValue[res.Length];
  58. foreach (NivelEducacionQryDP linea in res)
  59. {
  60. string descripcion = linea.Nombre.Replace("NO REQUIERE", "TODOS");
  61. string valor = linea.NivelId.ToString();
  62. resultado[i] = new CascadingDropDownNameValue(descripcion, valor, valor == nivelEducacionSelected);
  63. if (usr.NivelTrabajo.NiveltrabajoId == 1)
  64. resultado[i].isDefaultValue = false;
  65. i++;
  66. }
  67. if (usr.NivelTrabajo.NiveltrabajoId == 1) resultado[0].isDefaultValue = true;
  68. return resultado;
  69. }
  70. private CascadingDropDownNameValue[] GetRegionPorNivelEducacion(StringDictionary knownCategoryValuesDictionary)
  71. {
  72. return GetRegionPorNivelEducacion(knownCategoryValuesDictionary, "%");
  73. }
  74. private CascadingDropDownNameValue[] GetRegionPorNivelEducacion(StringDictionary knownCategoryValuesDictionary, string filtro)
  75. {
  76. if (usr.NivelTrabajo.NiveltrabajoId > 1 && usr.NivelTrabajo.NiveltrabajoId < 5)
  77. {
  78. string descripcion = usr.Selecciones.CentroTrabajoSeleccionado.Region;
  79. string valor = usr.Selecciones.CentroTrabajoSeleccionado.RegionId.ToString();
  80. CascadingDropDownNameValue[] result = new CascadingDropDownNameValue[1];
  81. result[0] = new CascadingDropDownNameValue(descripcion, valor, true);
  82. return result;
  83. }
  84. int cantidad = 0;
  85. cantidad = Convert.ToInt32(ws.RegionQryCount());
  86. cantidad = cantidad == 0 ? 1 : cantidad;
  87. cantidad = cantidad > 250 ? 250 : cantidad;
  88. RegionQryDP[] res = ws.RegionQryLoadList(0, cantidad);
  89. string regionSelected = usr.Selecciones.CentroTrabajoSeleccionado.RegionId.ToString();
  90. int i = 0;
  91. CascadingDropDownNameValue[] resultado = new CascadingDropDownNameValue[res.Length];
  92. foreach (RegionQryDP linea in res)
  93. {
  94. string descripcion = linea.Nombre.Replace("NO REQUIERE", "TODOS");
  95. string valor = linea.RegionId.ToString();
  96. resultado[i] = new CascadingDropDownNameValue(descripcion, valor, valor == regionSelected);
  97. if (usr.NivelTrabajo.NiveltrabajoId == 1)
  98. resultado[i].isDefaultValue = false;
  99. i++;
  100. }
  101. if (usr.NivelTrabajo.NiveltrabajoId == 1) resultado[0].isDefaultValue = true;
  102. return resultado;
  103. }
  104. private CascadingDropDownNameValue[] GetSostenimiento(StringDictionary knownCategoryValuesDictionary)
  105. {
  106. return GetSostenimiento(knownCategoryValuesDictionary, "%");
  107. }
  108. private CascadingDropDownNameValue[] GetSostenimiento(StringDictionary knownCategoryValuesDictionary, string filtro)
  109. {
  110. string sostenimientoSelected = usr.Selecciones.CentroTrabajoSeleccionado.SostenimientoId.ToString();
  111. if (usr.NivelTrabajo.NiveltrabajoId == 4)
  112. {
  113. string descripcion = usr.Selecciones.CentroTrabajoSeleccionado.Sostenimiento;
  114. string valor = usr.Selecciones.CentroTrabajoSeleccionado.SostenimientoId.ToString();
  115. CascadingDropDownNameValue[] result = new CascadingDropDownNameValue[1];
  116. result[0] = new CascadingDropDownNameValue(descripcion, valor, true);
  117. return result;
  118. }
  119. if (usr.NivelTrabajo.NiveltrabajoId < 4 && usr.Sostenimientos.Length > 0)
  120. {
  121. int j = 0;
  122. CascadingDropDownNameValue[] usrSostenimiento = new CascadingDropDownNameValue[usr.Sostenimientos.Length];
  123. foreach (SostenimientoQryDP linea in usr.Sostenimientos)
  124. {
  125. string descripcion = linea.Nombre;
  126. string valor = linea.SostenimientoId.ToString();
  127. usrSostenimiento[j] = new CascadingDropDownNameValue(descripcion, valor, valor == sostenimientoSelected);
  128. j++;
  129. }
  130. return usrSostenimiento;
  131. }
  132. int cantidad = 0;
  133. string regionString = knownCategoryValuesDictionary["REGIONPORNIVELEDUCACION"];
  134. short llaveRegion = 0;
  135. short.TryParse(regionString, out llaveRegion);
  136. SostenimientoQryDP[] res;
  137. if (llaveRegion == 0)
  138. {
  139. cantidad = Convert.ToInt32(ws.SostenimientofullQryCount());
  140. SostenimientofullQryDP[] res2 = ws.SostenimientofullQryLoadList(0, cantidad);
  141. res = new SostenimientoQryDP[res2.Length];
  142. int j = 0;
  143. foreach (SostenimientofullQryDP r2 in res2) {
  144. res[j] = new SostenimientoQryDP();
  145. res[j].SostenimientoId = r2.SostenimientoId;
  146. res[j].Nombre = r2.Nombre;
  147. j++;
  148. }
  149. }
  150. else
  151. {
  152. cantidad = Convert.ToInt32(ws.SostenimientoQryCountForDescripcion(filtro, llaveRegion));
  153. cantidad = cantidad == 0 ? 1 : cantidad;
  154. cantidad = cantidad > 250 ? 250 : cantidad;
  155. res = ws.SostenimientoQryLoadListForDescripcion(0, cantidad, filtro, llaveRegion);
  156. }
  157. int i = 1;
  158. CascadingDropDownNameValue[] resultado = new CascadingDropDownNameValue[res.Length + 1];
  159. resultado[0] = new CascadingDropDownNameValue("TODOS", "-1", sostenimientoSelected == "0");
  160. foreach (SostenimientoQryDP linea in res)
  161. {
  162. string descripcion = linea.Nombre;
  163. string valor = linea.SostenimientoId.ToString();
  164. resultado[i] = new CascadingDropDownNameValue(descripcion, valor, valor == sostenimientoSelected);
  165. if (usr.NivelTrabajo.NiveltrabajoId == 1)
  166. resultado[i].isDefaultValue = false;
  167. i++;
  168. }
  169. if (usr.NivelTrabajo.NiveltrabajoId == 1) resultado[0].isDefaultValue = true;
  170. return resultado;
  171. }
  172. private CascadingDropDownNameValue[] GetZonaCCTEscolar(StringDictionary knownCategoryValuesDictionary)
  173. {
  174. return GetZonaCCTEscolar(knownCategoryValuesDictionary, "%");
  175. }
  176. private CascadingDropDownNameValue[] GetZonaCCTEscolar(StringDictionary knownCategoryValuesDictionary, string filtro)
  177. {
  178. if (usr.NivelTrabajo.NiveltrabajoId == 4 || usr.NivelTrabajo.NiveltrabajoId == 3)
  179. {
  180. string descripcion = usr.Selecciones.CentroTrabajoSeleccionado.Numerozona.ToString();
  181. string valor = usr.Selecciones.CentroTrabajoSeleccionado.ZonaId.ToString();
  182. CascadingDropDownNameValue[] result = new CascadingDropDownNameValue[1];
  183. result[0] = new CascadingDropDownNameValue(descripcion, valor, true);
  184. return result;
  185. }
  186. int cantidad = 0;
  187. string nivelString = knownCategoryValuesDictionary["NIVELEDUCACIONCCT"];
  188. string regionString = knownCategoryValuesDictionary["REGIONPORNIVELEDUCACION"];
  189. string sosteniminetoString = knownCategoryValuesDictionary["SOSTENIMIENTO"];
  190. byte llaveNivel = 0;
  191. byte llaveRegion = 0;
  192. byte llaveSostenimiento = 0;
  193. byte.TryParse(nivelString, out llaveNivel);
  194. byte.TryParse(regionString, out llaveRegion);
  195. byte.TryParse(sosteniminetoString, out llaveSostenimiento);
  196. filtro = "";
  197. cantidad = Convert.ToInt32(ws.CttEscolarQryCountForDescripcion(llaveNivel, llaveRegion, llaveSostenimiento, "E", filtro));
  198. cantidad = cantidad == 0 ? 1 : cantidad;
  199. cantidad = cantidad > 250 ? 250 : cantidad;
  200. CttEscolarQryDP[] res = ws.CttEscolarQryLoadListForDescripcion(0, cantidad, llaveNivel, llaveRegion, llaveSostenimiento, "E", filtro);
  201. string zonaSelected = usr.Selecciones.CentroTrabajoSeleccionado.ZonaId.ToString();
  202. int i = 1;
  203. CascadingDropDownNameValue[] resultado = new CascadingDropDownNameValue[res.Length + 1];
  204. resultado[0] = new CascadingDropDownNameValue("TODOS", "-1", zonaSelected == "0");
  205. foreach (CttEscolarQryDP linea in res)
  206. {
  207. string descripcion = linea.Numerozona.ToString() + " - " + linea.Nombre;
  208. string valor = linea.ZonaId.ToString();
  209. resultado[i] = new CascadingDropDownNameValue(descripcion, valor, valor == zonaSelected);
  210. if (usr.NivelTrabajo.NiveltrabajoId == 1)
  211. resultado[i].isDefaultValue = false;
  212. i++;
  213. }
  214. if (usr.NivelTrabajo.NiveltrabajoId == 1) resultado[0].isDefaultValue = true;
  215. return resultado;
  216. }
  217. private CascadingDropDownNameValue[] GetCentroTrabajoPorZona(StringDictionary knownCategoryValuesDictionary)
  218. {
  219. return GetCentroTrabajoPorZona(knownCategoryValuesDictionary, "%");
  220. }
  221. private CascadingDropDownNameValue[] GetCentroTrabajoPorZona(StringDictionary knownCategoryValuesDictionary, string filtro)
  222. {
  223. int cantidad = 0;
  224. string zonaString = knownCategoryValuesDictionary["ZONAPORREGIONNIVEL"];
  225. string niveleducacionString = knownCategoryValuesDictionary["NIVELEDUCACIONCCT"];
  226. string regionString = knownCategoryValuesDictionary["Regionporniveleducacion"];
  227. string sostenimientoString = knownCategoryValuesDictionary["SOSTENIMIENTO"];
  228. string subnivelString = knownCategoryValuesDictionary["SUBNIVELPORNIVEL"];
  229. short llaveZona = 0;
  230. short.TryParse(zonaString, out llaveZona);
  231. byte llaveNiveleducacion = 0;
  232. byte.TryParse(niveleducacionString, out llaveNiveleducacion);
  233. short llaveRegion = 0;
  234. short.TryParse(regionString, out llaveRegion);
  235. byte llaveSostenimiento = 0;
  236. byte.TryParse(sostenimientoString, out llaveSostenimiento);
  237. short llaveSubnivel = 0;
  238. short.TryParse(subnivelString, out llaveSubnivel);
  239. CascadingDropDownNameValue[] resultado;
  240. if ((llaveZona != -1 || filtro != "%%"))// || (llaveClave != "") || (llaveDescripcion != ""))
  241. {
  242. string[] datos = filtro.Split('|');
  243. string llaveClave = "";
  244. string llaveDescripcion = "";
  245. llaveClave = filtro.Split('|')[0] + "%";
  246. llaveClave = llaveClave.Replace("%%%", "").Replace("%%", "");
  247. if (datos.Length > 1)
  248. {
  249. llaveDescripcion = "%" + filtro.Split('|')[1];
  250. llaveDescripcion = llaveDescripcion.Replace("%%", "");
  251. }
  252. if (llaveClave.Contains(">"))
  253. llaveClave = "";
  254. if (llaveDescripcion.Contains(">"))
  255. llaveDescripcion = "";
  256. cantidad = Convert.ToInt32(ws.CctntBusquedaQryCountForClaveDescripcion(llaveNiveleducacion, llaveRegion, llaveSostenimiento, llaveZona, llaveClave, llaveDescripcion, llaveSubnivel));
  257. cantidad = cantidad == 0 ? 1 : cantidad;
  258. cantidad = cantidad > 250 ? 250 : cantidad;
  259. string cctSelected = usr.Selecciones.CentroTrabajoSeleccionado.CentrotrabajoId.ToString();
  260. int i = 0;
  261. CctntBusquedaQryDP[] res = ws.CctntBusquedaQryLoadListForClaveDescripcion(0, cantidad, llaveNiveleducacion, llaveRegion, llaveSostenimiento, llaveZona, llaveClave, llaveDescripcion, llaveSubnivel);
  262. //resultado = new CascadingDropDownNameValue[res.Length + 1];
  263. resultado = new CascadingDropDownNameValue[res.Length];
  264. //resultado[0] = new CascadingDropDownNameValue("TODOS", "-1", cctSelected == "0");
  265. foreach (CctntBusquedaQryDP linea in res)
  266. {
  267. string descripcion = linea.Clavecct + " - " + linea.Nombrecct + " - " + linea.Truno + " - " + linea.Nivel;
  268. string valor = linea.CctntId.ToString();
  269. resultado[i] = new CascadingDropDownNameValue(descripcion, valor, valor == cctSelected);
  270. if (linea.CentrotrabajoId.ToString() == cctSelected && usr.NivelTrabajo.NiveltrabajoId == 1)
  271. resultado[i].isDefaultValue = true;
  272. else
  273. resultado[i].isDefaultValue = false;
  274. i++;
  275. }
  276. }
  277. else
  278. {
  279. resultado = new CascadingDropDownNameValue[1];
  280. resultado[0] = new CascadingDropDownNameValue("TODOS", "-1", true);
  281. }
  282. if (usr.NivelTrabajo.NiveltrabajoId == 1) resultado[0].isDefaultValue = true;
  283. return resultado;
  284. }
  285. private CascadingDropDownNameValue[] GetCctNtBusqueda(StringDictionary knownCategoryValuesDictionary)
  286. {
  287. return GetCctNtBusqueda(knownCategoryValuesDictionary, "%");
  288. }
  289. private CascadingDropDownNameValue[] GetCctNtBusqueda(StringDictionary knownCategoryValuesDictionary, string filtro)
  290. {
  291. int cantidad = 0;
  292. string zonaString = knownCategoryValuesDictionary["ZONAPORREGIONNIVEL"];
  293. string niveleducacionString = knownCategoryValuesDictionary["NIVELEDUCACIONCCT"];
  294. string regionString = knownCategoryValuesDictionary["Regionporniveleducacion"];
  295. string sostenimientoString = knownCategoryValuesDictionary["SOSTENIMIENTO"];
  296. string subnivelString = knownCategoryValuesDictionary["SUBNIVELPORNIVEL"];
  297. short llaveZona = 0;
  298. short.TryParse(zonaString, out llaveZona);
  299. byte llaveNiveleducacion = 0;
  300. byte.TryParse(niveleducacionString, out llaveNiveleducacion);
  301. short llaveRegion = 0;
  302. short.TryParse(regionString, out llaveRegion);
  303. byte llaveSostenimiento = 0;
  304. byte.TryParse(sostenimientoString, out llaveSostenimiento);
  305. short llaveSubnivel = 0;
  306. short.TryParse(subnivelString, out llaveSubnivel);
  307. cantidad = Convert.ToInt32(ws.CctntBusquedaQryCountForClaveDescripcion(llaveNiveleducacion, llaveRegion, llaveSostenimiento, llaveZona,"","",llaveSubnivel));
  308. cantidad = cantidad == 0 ? 1 : cantidad;
  309. cantidad = cantidad > 250 ? 250 : cantidad;
  310. CctntBusquedaQryDP[] res = ws.CctntBusquedaQryLoadListForClaveDescripcion(0, cantidad, llaveNiveleducacion, llaveRegion, llaveSostenimiento, llaveZona, "", "",llaveSubnivel);
  311. int i = 0;
  312. CascadingDropDownNameValue[] resultado = new CascadingDropDownNameValue[res.Length];
  313. foreach (CctntBusquedaQryDP linea in res)
  314. {
  315. string descripcion = linea.Clavecct + "-" + linea.Nombrecct + " - " + linea.Truno;
  316. string valor = linea.CentrotrabajoId.ToString();
  317. resultado[i] = new CascadingDropDownNameValue(descripcion, valor, i == 0);
  318. i++;
  319. }
  320. if (usr.NivelTrabajo.NiveltrabajoId == 1) resultado[0].isDefaultValue = true;
  321. return resultado;
  322. }
  323. private CascadingDropDownNameValue[] GetCicloEscolar(StringDictionary knownCategoryValuesDictionary)
  324. {
  325. return GetCicloEscolar(knownCategoryValuesDictionary, "%");
  326. }
  327. private CascadingDropDownNameValue[] GetCicloEscolar(StringDictionary knownCategoryValuesDictionary, string filtro)
  328. {
  329. int cantidad = 0;
  330. string tipoCicloString = "1";
  331. short llaveTipoCiclo = 1;
  332. short.TryParse(tipoCicloString, out llaveTipoCiclo);
  333. cantidad = Convert.ToInt32(ws.CicloPorTipoEducacionQryCountForDescripcion(filtro, llaveTipoCiclo));
  334. cantidad = cantidad == 0 ? 1 : cantidad;
  335. cantidad = cantidad > 250 ? 250 : cantidad;
  336. CicloPorTipoEducacionQryDP[] res = ws.CicloPorTipoEducacionQryLoadListForDescripcion(0, cantidad, filtro, llaveTipoCiclo);
  337. int i = 0;
  338. CascadingDropDownNameValue[] resultado = new CascadingDropDownNameValue[res.Length];
  339. foreach (CicloPorTipoEducacionQryDP linea in res)
  340. {
  341. string descripcion = linea.Nombre;
  342. string valor = linea.CicloescolarId.ToString();
  343. resultado[i] = new CascadingDropDownNameValue(descripcion, valor, i == 0);
  344. if (linea.BitCicloactual == true)
  345. resultado[i].isDefaultValue = true;
  346. i++;
  347. }
  348. return resultado;
  349. }
  350. private CascadingDropDownNameValue[] GetCCTsdeUsuario(StringDictionary knownCategoryValuesDictionary)
  351. {
  352. return GetCCTsdeUsuario(knownCategoryValuesDictionary, "%");
  353. }
  354. private CascadingDropDownNameValue[] GetCCTsdeUsuario(StringDictionary knownCategoryValuesDictionary, string filtro)
  355. {
  356. string username = HttpContext.Current.User.Identity.Name;
  357. string[] opciones = username.Split('|');
  358. int usuarioId = Convert.ToInt32(opciones[0]);
  359. int cantidad = 0;
  360. cantidad = Convert.ToInt32(ws.CctntUsrQryCountForUsuario(usuarioId));
  361. cantidad = cantidad == 0 ? 1 : cantidad;
  362. cantidad = cantidad > 250 ? 250 : cantidad;
  363. //CentrotrabajoDP[] res = usr.CentrosTrabajo;
  364. CctntUsrQryDP[] res = ws.CctntUsrQryLoadListForUsuario(0, cantidad, usuarioId);
  365. string cctntSelected = usr.Selecciones.CentroTrabajoSeleccionado.CctntId.ToString();
  366. int i = 0;
  367. CascadingDropDownNameValue[] resultado = new CascadingDropDownNameValue[res.Length];
  368. foreach (CctntUsrQryDP linea in res)
  369. {
  370. //string descripcion = linea.Clave + " - " + linea.Nombre + " - " + linea.TurnoId.ToString().Replace("1","MATUTINO").Replace("2","VESPERTINO").Replace("3","NOCTURNO").Replace("2","DISCONTINUO").Replace("5","MIXTO");
  371. string descripcion = linea.Clavecct + " - " + linea.Nombrecct + " - " + linea.Truno + " - " + linea.Niveleducacion;
  372. string valor = linea.CctntId.ToString();
  373. resultado[i] = new CascadingDropDownNameValue(descripcion, valor, valor == cctntSelected);
  374. i++;
  375. }
  376. return resultado;
  377. }
  378. private CascadingDropDownNameValue[] GetSubniveles(StringDictionary knownCategoryValuesDictionary)
  379. {
  380. return GetSubniveles(knownCategoryValuesDictionary, "%");
  381. }
  382. private CascadingDropDownNameValue[] GetSubniveles(StringDictionary knownCategoryValuesDictionary, string filtro)
  383. {
  384. CascadingDropDownNameValue[] resultado = null;
  385. if (usr.NivelTrabajo.NiveltrabajoId == 4)
  386. {
  387. resultado = new CascadingDropDownNameValue[1];
  388. resultado[0] = new CascadingDropDownNameValue(usr.Selecciones.CentroTrabajoSeleccionado.Subnivel, usr.Selecciones.CentroTrabajoSeleccionado.SubnivelId.ToString(), true);
  389. return resultado;
  390. }
  391. string niveleducacionString = knownCategoryValuesDictionary["NIVELEDUCACIONCCT"];
  392. if (usr.NivelesEducacion.Length < 1)
  393. {
  394. short llaveNE = 0;
  395. short.TryParse(niveleducacionString,out llaveNE);
  396. int cantidad = 0;
  397. cantidad = Convert.ToInt32(ws.SubnivelQryCountForNiveleducacion(llaveNE));
  398. cantidad = cantidad == 0 ? 1 : cantidad;
  399. cantidad = cantidad > 250 ? 250 : cantidad;
  400. SubnivelQryDP[] res = ws.SubnivelQryLoadListForNiveleducacion(0, cantidad, llaveNE);
  401. int i = 0;
  402. resultado = new CascadingDropDownNameValue[res.Length];
  403. foreach (SubnivelQryDP linea in res)
  404. {
  405. string descripcion = linea.Nombre;
  406. string valor = linea.SubnivelId.ToString();
  407. resultado[i] = new CascadingDropDownNameValue(descripcion, valor);
  408. i++;
  409. }
  410. resultado[0].isDefaultValue = true;
  411. if (resultado[0].name == "ND")
  412. resultado[0].name = resultado[0].name.Replace("ND","TODOS");
  413. return resultado;
  414. }
  415. else
  416. {
  417. for (int i = 0; i < usr.NivelesEducacion.Length; i++)
  418. {
  419. if (usr.NivelesEducacion[i].NivelId == short.Parse(niveleducacionString))
  420. {
  421. int j = 0;
  422. resultado = new CascadingDropDownNameValue[usr.NivelesEducacion[i].SubNiveles.Length];
  423. foreach (SubnivelDP sub in usr.NivelesEducacion[i].SubNiveles)
  424. {
  425. resultado[j] = new CascadingDropDownNameValue(sub.Nombre, sub.SubnivelId.ToString());
  426. j++;
  427. }
  428. }
  429. }
  430. return resultado;
  431. }
  432. }
  433. /// <summary>
  434. /// Constructor del catálogo
  435. /// <remarks>Recuerda que hay que cambiar la clase del Web Services a consultar</remarks>
  436. /// </summary>
  437. public FiltroPrincipales() {
  438. // Inicializo el Web Services Aqui
  439. ws = new WsSESeguridad.WsSESeguridad();
  440. ws.Url = ConfigurationManager.AppSettings[seccionConfiguracion];
  441. }
  442. public CascadingDropDownNameValue[] GetDropDownContentsFilter(string knownCategoryValues, string category, string filter)
  443. {
  444. getUsr();
  445. if (category.IndexOf(';') != -1)
  446. {
  447. if (knownCategoryValues == "")
  448. {
  449. knownCategoryValues = category + ":-1";
  450. string[] categorias = category.Split(';');
  451. category = categorias[categorias.Length - 1];
  452. }
  453. }
  454. // Get a dictionary of known category/value pairs
  455. StringDictionary knownCategoryValuesDictionary = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
  456. CascadingDropDownNameValue[] resultado = new CascadingDropDownNameValue[0];
  457. switch (category.ToUpper())
  458. {
  459. case "SOSTENIMIENTO":
  460. resultado = GetSostenimiento(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  461. break;
  462. case "NIVELEDUCACIONCCT":
  463. resultado = GetNivelEducacionCCT(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  464. break;
  465. case "REGIONPORNIVELEDUCACION":
  466. resultado = GetRegionPorNivelEducacion(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  467. break;
  468. case "ZONAPORREGIONNIVEL":
  469. resultado = GetZonaCCTEscolar(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  470. break;
  471. case "CCTPORZONA":
  472. resultado = GetCentroTrabajoPorZona(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  473. break;
  474. case "CTNTBUSQUEDA":
  475. resultado = GetCctNtBusqueda(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  476. break;
  477. case "CICLOESCOLAR":
  478. resultado = GetCicloEscolar(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  479. break;
  480. case "CCTSDEUSUARIO":
  481. resultado = GetCCTsdeUsuario(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  482. break;
  483. case "SUBNIVELPORNIVEL":
  484. resultado = GetSubniveles(knownCategoryValuesDictionary, "%" + filter.ToUpper() + "%");
  485. break;
  486. }
  487. // Perform a simple query against the data document
  488. return resultado;
  489. }
  490. }
  491. }