PageRenderTime 51ms CodeModel.GetById 13ms app.highlight 30ms RepoModel.GetById 1ms app.codeStats 0ms

/Docs/07-Implementacion/Source/trunk/EDUAR_actual/EDUAR/EDUAR_UI/Private/Account/Profiles.aspx.cs

http://blpm.googlecode.com/
C# | 415 lines | 310 code | 31 blank | 74 comment | 11 complexity | 02c2ff772b797f342bf1c05c468de754 MD5 | raw file
  1using System;
  2using System.Collections.Generic;
  3using System.Web.UI;
  4using System.Web.UI.WebControls;
  5using EDUAR_BusinessLogic.Security;
  6using EDUAR_Entities.Security;
  7using EDUAR_UI.Shared;
  8using EDUAR_Utility.Constantes;
  9using EDUAR_Utility.Enumeraciones;
 10
 11namespace EDUAR_UI
 12{
 13    public partial class Profiles : EDUARBasePage
 14    {
 15        #region --[Atributos]--
 16        private BLSeguridad objBLSeguridad;
 17        #endregion
 18
 19        #region --[Propiedades]--
 20        /// <summary>
 21        /// Propiedad que contiene el objeto seguridad que devuelve la consulta a la Capa de Negocio.
 22        /// </summary>
 23        public DTSeguridad propSeguridad
 24        {
 25            get
 26            {
 27                if (ViewState["propSeguridad"] == null)
 28                    return null;
 29
 30                return (DTSeguridad)ViewState["propSeguridad"];
 31            }
 32            set { ViewState["propSeguridad"] = value; }
 33        }
 34
 35        /// <summary>
 36        /// Propiedad que contiene el objeto rol que se edita/crea/elimina.
 37        /// </summary>
 38        /// <value>
 39        /// The obj propRol.
 40        /// </value>
 41        public DTRol propRol
 42        {
 43            get
 44            {
 45                if (ViewState["propRol"] == null)
 46                    return new DTRol();
 47
 48                return (DTRol)ViewState["propRol"];
 49            }
 50            set { ViewState["propRol"] = value; }
 51        }
 52        #endregion
 53
 54        #region --[Eventos]--
 55        /// <summary>
 56        /// Método que se ejecuta al dibujar los controles de la página.
 57        /// Se utiliza para gestionar las excepciones del método Page_Load().
 58        /// </summary>
 59        /// <param name="e"></param>
 60        protected override void OnPreRender(EventArgs e)
 61        {
 62            base.OnPreRender(e);
 63            if (AvisoMostrar)
 64            {
 65                AvisoMostrar = false;
 66
 67                try
 68                {
 69                    Master.ManageExceptions(AvisoExcepcion);
 70                }
 71                catch (Exception ex) { Master.ManageExceptions(ex); }
 72            }
 73        }
 74
 75        /// <summary>
 76        /// Handles the Load event of the Page control.
 77        /// </summary>
 78        /// <param name="sender">The source of the event.</param>
 79        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
 80        protected void Page_Load(object sender, EventArgs e)
 81        {
 82            try
 83            {
 84                Master.BotonAvisoAceptar += (VentanaAceptar);
 85
 86                if (!Page.IsPostBack)
 87                {
 88                    propSeguridad = new DTSeguridad();
 89                    objBLSeguridad = new BLSeguridad(propSeguridad);
 90                    CargarPresentacion();
 91                    CargarCamposFiltros();
 92                    BuscarRoles(propSeguridad);
 93                }
 94            }
 95            catch (Exception ex)
 96            {
 97                AvisoMostrar = true;
 98                AvisoExcepcion = ex;
 99            }
100        }
101
102		/// <summary>
103		/// Ventanas the aceptar.
104		/// </summary>
105		/// <param name="sender">The sender.</param>
106		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
107        void VentanaAceptar(object sender, EventArgs e)
108        {
109            try
110            {
111                DTRol objRol;
112                switch (AccionPagina)
113                {
114                    case enumAcciones.Eliminar:
115                        AccionPagina = enumAcciones.Limpiar;
116                        objRol = new DTRol();
117                        objRol.Nombre = propRol.Nombre;
118                        EliminarRol(objRol);
119                        break;
120                    case enumAcciones.Guardar:
121                        AccionPagina = enumAcciones.Limpiar;
122                        objRol = new DTRol();
123                        if (esNuevo)
124                        {
125                            objRol.Descripcion = txtNuevaDescripcion.Text;
126                            objRol.Nombre = txtNuevoRol.Text;
127                            objRol.NombreCorto = objRol.Nombre.ToLower();
128                            objRol.RoleId = null;
129                        }
130                        else
131                        {
132                            objRol.Descripcion = txtDescripcion.Text;
133                            objRol.RoleId = propRol.RoleId;
134                            objRol.Nombre = propRol.Nombre;
135                        }
136                        GuardarRol(objRol);
137                        Master.MostrarMensaje(enumTipoVentanaInformacion.Satisfactorio.ToString(), UIConstantesGenerales.MensajeGuardadoOk, enumTipoVentanaInformacion.Satisfactorio);
138                        break;
139                    case enumAcciones.Nuevo:
140                        break;
141
142                }
143                CargarPresentacion();
144            }
145            catch (Exception ex)
146            {
147                Master.ManageExceptions(ex);
148            }
149        }
150
151        /// <summary>
152        /// Handles the Click event of the btnBuscar control.
153        /// </summary>
154        /// <param name="sender">The source of the event.</param>
155        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
156        protected void btnBuscar_Click(object sender, EventArgs e)
157        {
158            try
159            {
160                BuscarFiltrando();
161            }
162            catch (Exception ex)
163            {
164                Master.ManageExceptions(ex);
165            }
166        }
167
168        /// <summary>
169        /// Handles the Click event of the btnNuevo control.
170        /// </summary>
171        /// <param name="sender">The source of the event.</param>
172        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
173        protected void btnNuevo_Click(object sender, EventArgs e)
174        {
175            try
176            {
177                AccionPagina = enumAcciones.Nuevo;
178                esNuevo = true;
179                btnGuardar.Visible = true;
180                btnBuscar.Visible = false;
181                btnVolver.Visible = true;
182                btnNuevo.Visible = false;
183                gvwPerfiles.Visible = false;
184                udpEditRoles.Visible = false;
185                udpControlesBusqueda.Visible = false;
186                udpNewRol.Visible = true;
187                udpFiltros.Update();
188                udpGrilla.Update();
189            }
190            catch (Exception ex)
191            {
192                Master.ManageExceptions(ex);
193            }
194        }
195
196        /// <summary>
197        /// Handles the Click event of the btnAsignarRol control.
198        /// </summary>
199        /// <param name="sender">The source of the event.</param>
200        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
201        protected void btnGuardar_Click(object sender, EventArgs e)
202        {
203            try
204            {
205                if (Page.IsValid)
206                {
207                    AccionPagina = enumAcciones.Guardar;
208                    Master.MostrarMensaje(enumTipoVentanaInformacion.Confirmación.ToString(), UIConstantesGenerales.MensajeConfirmarCambios, enumTipoVentanaInformacion.Confirmación);
209                }
210                else
211                {
212                    AccionPagina = enumAcciones.Limpiar;
213                    Master.MostrarMensaje(enumTipoVentanaInformacion.Advertencia.ToString(), UIConstantesGenerales.MensajeDatosRequeridos, enumTipoVentanaInformacion.Advertencia);
214                }
215            }
216            catch (Exception ex)
217            {
218                Master.ManageExceptions(ex);
219            }
220        }
221
222        /// <summary>
223        /// Handles the Click event of the btnVolver control.
224        /// </summary>
225        /// <param name="sender">The source of the event.</param>
226        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
227        protected void btnVolver_Click(object sender, EventArgs e)
228        {
229            try
230            {
231                CargarPresentacion();
232            }
233            catch (Exception ex)
234            {
235                Master.ManageExceptions(ex);
236            }
237        }
238
239        /// <summary>
240        /// Método que se llama al hacer click sobre las acciones de la grilla
241        /// </summary>
242        /// <param name="sender">The source of the event.</param>
243        /// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewCommandEventArgs"/> instance containing the event data.</param>
244        protected void gvwPerfiles_RowCommand(object sender, GridViewCommandEventArgs e)
245        {
246            try
247            {
248                switch (e.CommandName)
249                {
250                    case "Eliminar":
251                        AccionPagina = enumAcciones.Eliminar;
252                        propRol = new DTRol();
253                        propRol.Nombre = e.CommandArgument.ToString();
254                        Master.MostrarMensaje(enumTipoVentanaInformacion.Confirmación.ToString(), UIConstantesGenerales.MensajeEliminar, enumTipoVentanaInformacion.Confirmación);
255                        break;
256                    case "Editar":
257                        AccionPagina = enumAcciones.Modificar;
258                        esNuevo = false;
259                        propRol = new DTRol();
260                        propRol.RoleId = e.CommandArgument.ToString();
261                        propRol.Nombre = lblNombreRol.Text;
262                        btnBuscar.Visible = false;
263                        btnNuevo.Visible = false;
264                        btnVolver.Visible = true;
265                        btnGuardar.Visible = true;
266                        CargarRol();
267                        udpEditRoles.Visible = true;
268                        udpEditRoles.Update();
269                        break;
270                }
271            }
272            catch (Exception ex)
273            {
274                Master.ManageExceptions(ex);
275            }
276        }
277        #endregion
278
279        #region --[Métodos Privados]--
280        /// <summary>
281        /// Cargars the presentacion.
282        /// </summary>
283        private void CargarPresentacion()
284        {
285            LimpiarCampos();
286            udpEditRoles.Visible = false;
287            udpNewRol.Visible = false;
288			btnVolver.Visible = false;
289            btnGuardar.Visible = false;
290			btnBuscar.Visible = false;
291			btnNuevo.Visible = false;
292            udpControlesBusqueda.Visible = true;
293            gvwPerfiles.Visible = true;
294            udpFiltros.Update();
295            udpGrilla.Update();
296            BuscarFiltrando();
297        }
298
299        /// <summary>
300        /// Cargars the campos filtros.
301        /// </summary>
302        private void CargarCamposFiltros()
303        {
304            objBLSeguridad.GetRoles();
305            foreach (DTRol rol in objBLSeguridad.Data.ListaRoles)
306            {
307                chkListRolesBusqueda.Items.Add(new ListItem(rol.Nombre, rol.NombreCorto));
308            }
309        }
310
311        private void BuscarFiltrando()
312        {
313            List<DTRol> ListaRoles = new List<DTRol>();
314            foreach (ListItem item in chkListRolesBusqueda.Items)
315            {
316                if (item.Selected)
317                {
318                    ListaRoles.Add(new DTRol() { Nombre = item.Value });
319                }
320            }
321            DTSeguridad objSeguridad = new DTSeguridad();
322            objSeguridad.ListaRoles = ListaRoles;
323            BuscarRoles(objSeguridad);
324        }
325
326        /// <summary>
327        /// Obteners the datos.
328        /// </summary>
329        private void BuscarRoles(DTSeguridad objSeguridad)
330        {
331            objBLSeguridad = new BLSeguridad(objSeguridad);
332            objBLSeguridad.Data = objSeguridad;
333            objBLSeguridad.GetRoles();
334            propSeguridad = objBLSeguridad.Data;
335            CargarGrilla();
336        }
337
338        /// <summary>
339        /// Cargars the grilla.
340        /// </summary>
341        private void CargarGrilla()
342        {
343            gvwPerfiles.DataSource = propSeguridad.ListaRoles;
344            gvwPerfiles.DataBind();
345            gvwPerfiles.SelectedIndex = -1;
346            udpEditRoles.Visible = false;
347            udpGrilla.Update();
348        }
349
350        /// <summary>
351        /// Cargars the usuario.
352        /// </summary>
353        private void CargarRol()
354        {
355            LimpiarCampos();
356
357            objBLSeguridad = new BLSeguridad();
358            objBLSeguridad.Data.Rol = new DTRol();
359            objBLSeguridad.Data.Rol = propRol;
360            objBLSeguridad.GetRol();
361            propRol = objBLSeguridad.Data.Rol;
362            lblNombreRol.Text = propRol.Nombre;
363            txtDescripcion.Text = propRol.Descripcion;
364
365            udpControlesBusqueda.Visible = false;
366            udpControlesBusqueda.Update();
367
368            gvwPerfiles.Visible = false;
369            udpEditRoles.Visible = true;
370            udpEditRoles.Update();
371        }
372
373        /// <summary>
374        /// Limpiars the campos.
375        /// </summary>
376        private void LimpiarCampos()
377        {
378            lblNombreRol.Text = string.Empty;
379            txtDescripcion.Text = string.Empty;
380            foreach (ListItem item in chkListRolesBusqueda.Items)
381            { item.Selected = false; }
382        }
383
384
385        /// <summary>
386        /// Guardars the rol.
387        /// </summary>
388        private void GuardarRol(DTRol objRol)
389        {
390            DTSeguridad objDTSeguridad = new DTSeguridad { Rol = objRol };
391            objBLSeguridad = new BLSeguridad();
392            objBLSeguridad.Data = objDTSeguridad;
393            objBLSeguridad.GuardarRol();
394
395            BuscarRoles(propSeguridad);
396            LimpiarCampos();
397        }
398
399		/// <summary>
400		/// Eliminars the rol.
401		/// </summary>
402		/// <param name="objRol">The obj rol.</param>
403        private void EliminarRol(DTRol objRol)
404        {
405            DTSeguridad objDTSeguridad = new DTSeguridad { Rol = objRol };
406            objBLSeguridad = new BLSeguridad();
407            objBLSeguridad.Data = objDTSeguridad;
408            objBLSeguridad.EliminarRol();
409
410            BuscarRoles(propSeguridad);
411            LimpiarCampos();
412        }
413        #endregion
414    }
415}