/Docs/07-Implementacion/Source/trunk/EDUAR_Regular/EDUAR/EDUAR_UI/Private/Account/ChangeUser.aspx.cs

http://blpm.googlecode.com/ · C# · 373 lines · 270 code · 30 blank · 73 comment · 19 complexity · b6b9f66ea281d7ee10d5f3d2a792e463 MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Web.UI;
  4. using System.Web.UI.WebControls;
  5. using EDUAR_BusinessLogic.Security;
  6. using EDUAR_Entities.Security;
  7. using EDUAR_UI.Shared;
  8. using EDUAR_Utility.Constantes;
  9. using EDUAR_Utility.Enumeraciones;
  10. using EDUAR_UI.Utilidades;
  11. namespace EDUAR_UI
  12. {
  13. public partial class ChangeUser : EDUARBasePage
  14. {
  15. #region --[Atributos]--
  16. private BLSeguridad objBLSeguridad;
  17. #endregion
  18. #region --[Propiedades]--
  19. /// <summary>
  20. /// Propiedad que contiene el objeto seguridad que devuelve la consulta a la Capa de Negocio.
  21. /// </summary>
  22. public DTSeguridad propSeguridad
  23. {
  24. get
  25. {
  26. if (ViewState["propSeguridad"] == null)
  27. return null;
  28. return (DTSeguridad)ViewState["propSeguridad"];
  29. }
  30. set { ViewState["propSeguridad"] = value; }
  31. }
  32. /// <summary>
  33. /// Propiedad que contiene el objeto usuario que se edita.
  34. /// </summary>
  35. /// <value>
  36. /// The obj usuario.
  37. /// </value>
  38. public DTUsuario propUsuario
  39. {
  40. get
  41. {
  42. if (ViewState["propUsuario"] == null)
  43. return new DTUsuario();
  44. return (DTUsuario)ViewState["propUsuario"];
  45. }
  46. set { ViewState["propUsuario"] = value; }
  47. }
  48. #endregion
  49. #region --[Eventos]--
  50. /// <summary>
  51. /// Método que se ejecuta al dibujar los controles de la página.
  52. /// Se utiliza para gestionar las excepciones del método Page_Load().
  53. /// </summary>
  54. /// <param name="e"></param>
  55. protected override void OnPreRender(EventArgs e)
  56. {
  57. base.OnPreRender(e);
  58. if (AvisoMostrar)
  59. {
  60. AvisoMostrar = false;
  61. try
  62. {
  63. Master.ManageExceptions(AvisoExcepcion);
  64. }
  65. catch (Exception ex) { Master.ManageExceptions(ex); }
  66. }
  67. }
  68. /// <summary>
  69. /// Handles the Load event of the Page control.
  70. /// </summary>
  71. /// <param name="sender">The source of the event.</param>
  72. /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
  73. protected void Page_Load(object sender, EventArgs e)
  74. {
  75. try
  76. {
  77. Master.BotonAvisoAceptar += (VentanaAceptar);
  78. if (!Page.IsPostBack)
  79. {
  80. propSeguridad = new DTSeguridad();
  81. propSeguridad.Usuario.Aprobado = chkHabilitadoBusqueda.Checked;
  82. objBLSeguridad = new BLSeguridad(propSeguridad);
  83. CargarPresentacion();
  84. CargarCamposFiltros();
  85. BuscarUsuarios(propSeguridad.Usuario);
  86. }
  87. }
  88. catch (Exception ex)
  89. {
  90. AvisoMostrar = true;
  91. AvisoExcepcion = ex;
  92. }
  93. }
  94. /// <summary>
  95. /// Ventanas the aceptar.
  96. /// </summary>
  97. /// <param name="sender">The sender.</param>
  98. /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
  99. void VentanaAceptar(object sender, EventArgs e)
  100. {
  101. try
  102. {
  103. switch (AccionPagina)
  104. {
  105. case enumAcciones.Guardar:
  106. GuardarUsuario();
  107. AccionPagina = enumAcciones.Limpiar;
  108. Master.MostrarMensaje(enumTipoVentanaInformacion.Satisfactorio.ToString(), UIConstantesGenerales.MensajeGuardadoOk, enumTipoVentanaInformacion.Satisfactorio);
  109. LimpiarCampos();
  110. udpRoles.Visible = false;
  111. break;
  112. case enumAcciones.Salir:
  113. Response.Redirect("~/Default.aspx", false);
  114. break;
  115. default:
  116. break;
  117. }
  118. udpRoles.Update();
  119. udpGrilla.Update();
  120. }
  121. catch (Exception ex)
  122. {
  123. Master.ManageExceptions(ex);
  124. }
  125. }
  126. /// <summary>
  127. /// Handles the Click event of the btnBuscar control.
  128. /// </summary>
  129. /// <param name="sender">The source of the event.</param>
  130. /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
  131. protected void btnBuscar_Click(object sender, EventArgs e)
  132. {
  133. try
  134. {
  135. BuscarFiltrando();
  136. }
  137. catch (Exception ex)
  138. {
  139. Master.ManageExceptions(ex);
  140. }
  141. }
  142. /// <summary>
  143. /// Handles the Click event of the btnAsignarRol control.
  144. /// </summary>
  145. /// <param name="sender">The source of the event.</param>
  146. /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
  147. protected void btnGuardar_Click(object sender, EventArgs e)
  148. {
  149. try
  150. {
  151. if (ValidarPagina())
  152. {
  153. if (Page.IsValid)
  154. {
  155. AccionPagina = enumAcciones.Guardar;
  156. Master.MostrarMensaje(enumTipoVentanaInformacion.Confirmación.ToString(), UIConstantesGenerales.MensajeConfirmarCambios, enumTipoVentanaInformacion.Confirmación);
  157. }
  158. else
  159. {
  160. AccionPagina = enumAcciones.Limpiar;
  161. Master.MostrarMensaje(enumTipoVentanaInformacion.Advertencia.ToString(), UIConstantesGenerales.MensajeDatosRequeridos, enumTipoVentanaInformacion.Advertencia);
  162. }
  163. }
  164. }
  165. catch (Exception ex)
  166. {
  167. Master.ManageExceptions(ex);
  168. }
  169. }
  170. /// <summary>
  171. /// Handles the Click event of the btnVolver control.
  172. /// </summary>
  173. /// <param name="sender">The source of the event.</param>
  174. /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
  175. protected void btnVolver_Click(object sender, EventArgs e)
  176. {
  177. try
  178. {
  179. CargarPresentacion();
  180. }
  181. catch (Exception ex)
  182. {
  183. Master.ManageExceptions(ex);
  184. }
  185. }
  186. /// <summary>
  187. /// Método que se llama al hacer click sobre las acciones de la grilla
  188. /// </summary>
  189. /// <param name="sender">The source of the event.</param>
  190. /// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewCommandEventArgs"/> instance containing the event data.</param>
  191. protected void gvwUsuarios_RowCommand(object sender, GridViewCommandEventArgs e)
  192. {
  193. try
  194. {
  195. propUsuario = new DTUsuario();
  196. propUsuario.Nombre = e.CommandArgument.ToString();
  197. switch (e.CommandName)
  198. {
  199. case "Editar":
  200. AccionPagina = enumAcciones.Modificar;
  201. CargarUsuario();
  202. btnGuardar.Visible = true;
  203. btnVolver.Visible = true;
  204. btnBuscar.Visible = false;
  205. udpRoles.Visible = true;
  206. udpFiltrosBusqueda.Visible = false;
  207. gvwUsuarios.Visible = false;
  208. break;
  209. }
  210. udpRoles.Visible = true;
  211. udpRoles.Update();
  212. }
  213. catch (Exception ex)
  214. {
  215. Master.ManageExceptions(ex);
  216. }
  217. }
  218. #endregion
  219. #region --[Métodos Privados]--
  220. /// <summary>
  221. /// Cargars the presentacion.
  222. /// </summary>
  223. private void CargarPresentacion()
  224. {
  225. btnBuscar.Visible = true;
  226. btnGuardar.Visible = false;
  227. btnVolver.Visible = false;
  228. udpFiltrosBusqueda.Visible = true;
  229. gvwUsuarios.Visible = true;
  230. udpRoles.Visible = false;
  231. udpGrilla.Update();
  232. udpFiltros.Update();
  233. }
  234. /// <summary>
  235. /// Cargars the campos filtros.
  236. /// </summary>
  237. private void CargarCamposFiltros()
  238. {
  239. objBLSeguridad.GetRoles();
  240. UIUtilidades.BindCombo<DTRol>(ddlListRolesBusqueda, objBLSeguridad.Data.ListaRoles, "NombreCorto", "Nombre", true);
  241. UIUtilidades.BindCombo<DTRol>(ddlListRoles, objBLSeguridad.Data.ListaRoles, "NombreCorto", "Nombre", true);
  242. }
  243. /// <summary>
  244. /// Buscars the filtrando.
  245. /// </summary>
  246. private void BuscarFiltrando()
  247. {
  248. DTUsuario usuario = new DTUsuario();
  249. usuario.Nombre = txtUsernameBusqueda.Text;
  250. usuario.Aprobado = chkHabilitadoBusqueda.Checked;
  251. List<DTRol> ListaRoles = new List<DTRol>();
  252. if (ddlListRolesBusqueda.SelectedValue != "-1" && ddlListRolesBusqueda.SelectedValue != "0")
  253. ListaRoles.Add(new DTRol() { Nombre = ddlListRolesBusqueda.SelectedValue });
  254. usuario.ListaRoles = ListaRoles;
  255. BuscarUsuarios(usuario);
  256. }
  257. /// <summary>
  258. /// Obteners the datos.
  259. /// </summary>
  260. private void BuscarUsuarios(DTUsuario objUsuario)
  261. {
  262. DTSeguridad seguridad = new DTSeguridad();
  263. seguridad.Usuario = objUsuario;
  264. seguridad.ListaRoles = objUsuario.ListaRoles;
  265. objBLSeguridad = new BLSeguridad(seguridad);
  266. objBLSeguridad.Data = seguridad;
  267. objBLSeguridad.GetUsuarios();
  268. propSeguridad = objBLSeguridad.Data;
  269. CargarGrilla();
  270. }
  271. /// <summary>
  272. /// Cargars the grilla.
  273. /// </summary>
  274. private void CargarGrilla()
  275. {
  276. gvwUsuarios.DataSource = propSeguridad.ListaUsuarios;
  277. gvwUsuarios.DataBind();
  278. gvwUsuarios.SelectedIndex = -1;
  279. udpRoles.Visible = false;
  280. udpGrilla.Update();
  281. }
  282. /// <summary>
  283. /// Cargars the usuario.
  284. /// </summary>
  285. private void CargarUsuario()
  286. {
  287. LimpiarCampos();
  288. objBLSeguridad = new BLSeguridad();
  289. objBLSeguridad.Data.Usuario = new DTUsuario();
  290. objBLSeguridad.Data.Usuario = propUsuario;
  291. objBLSeguridad.GetUsuario();
  292. propUsuario = objBLSeguridad.Data.Usuario;
  293. lblUserName.Text = propUsuario.Nombre;
  294. chkHabilitado.Checked = propUsuario.Aprobado;
  295. #region Carga los roles
  296. if (propUsuario.ListaRoles.Count > 0)
  297. ddlListRoles.SelectedValue = propUsuario.ListaRoles[0].NombreCorto;
  298. udpRoles.Visible = true;
  299. udpRoles.Update();
  300. #endregion
  301. }
  302. /// <summary>
  303. /// Limpiars the campos.
  304. /// </summary>
  305. private void LimpiarCampos()
  306. {
  307. lblUserName.Text = string.Empty;
  308. ddlListRolesBusqueda.SelectedValue = "-1";
  309. //foreach (ListItem item in chkListRoles.Items)
  310. //{ item.Selected = false; }
  311. }
  312. /// <summary>
  313. /// Guardars the usuario.
  314. /// </summary>
  315. private void GuardarUsuario()
  316. {
  317. List<DTRol> listaRoles = new List<DTRol>();
  318. listaRoles.Add(new DTRol() { NombreCorto = ddlListRoles.SelectedValue, Nombre = ddlListRoles.SelectedItem.Text });
  319. DTSeguridad objDTSeguridad = new DTSeguridad { Usuario = { Nombre = lblUserName.Text.Trim(), ListaRoles = listaRoles, Aprobado = chkHabilitado.Checked } };
  320. objBLSeguridad = new BLSeguridad();
  321. objBLSeguridad.Data = objDTSeguridad;
  322. objBLSeguridad.ActualizarUsuario();
  323. BuscarFiltrando();
  324. LimpiarCampos();
  325. udpRoles.Visible = false;
  326. udpRoles.Update();
  327. }
  328. /// <summary>
  329. /// Validars the pagina.
  330. /// </summary>
  331. private bool ValidarPagina()
  332. {
  333. if (ddlListRoles.SelectedValue == "0" || ddlListRoles.SelectedValue == "-1")
  334. {
  335. AccionPagina = enumAcciones.Limpiar;
  336. Master.MostrarMensaje(enumTipoVentanaInformacion.Advertencia.ToString(), UIConstantesGenerales.MensajeDatosRequeridos, enumTipoVentanaInformacion.Advertencia);
  337. return false;
  338. }
  339. return true;
  340. }
  341. #endregion
  342. }
  343. }