PageRenderTime 30ms CodeModel.GetById 18ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

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