PageRenderTime 41ms CodeModel.GetById 13ms app.highlight 21ms RepoModel.GetById 1ms app.codeStats 0ms

/Docs/07-Implementacion/Source/trunk/EDUAR_actual/EDUAR/EDUAR_UI/Public/Account/ForgotPassword.aspx.cs

http://blpm.googlecode.com/
C# | 246 lines | 181 code | 23 blank | 42 comment | 10 complexity | 627bece77e3c52d66ea41219b5f6650b MD5 | raw file
  1using System;
  2using System.Web;
  3using System.Web.Security;
  4using System.Web.UI;
  5using EDUAR_BusinessLogic.Security;
  6using EDUAR_Entities.Security;
  7using EDUAR_UI.Shared;
  8using EDUAR_Utility.Constantes;
  9using EDUAR_Utility.Enumeraciones;
 10using EDUAR_Utility.Utilidades;
 11
 12namespace EDUAR_UI
 13{
 14    public partial class ForgotPassword : 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        #endregion
 36
 37        #region --[Eventos]--
 38        /// <summary>
 39        /// Método que se ejecuta al dibujar los controles de la página.
 40        /// Se utiliza para gestionar las excepciones del método Page_Load().
 41        /// </summary>
 42        /// <param name="e"></param>
 43        protected override void OnPreRender(EventArgs e)
 44        {
 45            base.OnPreRender(e);
 46            if (AvisoMostrar)
 47            {
 48                AvisoMostrar = false;
 49
 50                try
 51                {
 52                    Master.ManageExceptions(AvisoExcepcion);
 53                }
 54                catch (Exception ex) { Master.ManageExceptions(ex); }
 55            }
 56        }
 57
 58        /// <summary>
 59        /// Handles the Load event of the Page control.
 60        /// </summary>
 61        /// <param name="sender">The source of the event.</param>
 62        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
 63        protected void Page_Load(object sender, EventArgs e)
 64        {
 65            try
 66            {
 67                Master.BotonAvisoAceptar += (VentanaAceptar);
 68				
 69                if (!Page.IsPostBack)
 70                {
 71					Response.Cookies.Clear();
 72					HttpContext.Current.User = null;
 73					propSeguridad = new DTSeguridad();
 74                    if (ObjSessionDataUI.ObjDTUsuario.EsUsuarioInicial == true)
 75                    {
 76                        ObjSessionDataUI.ObjDTUsuario.EsUsuarioInicial = false;
 77                        CargarDatosUsuario();
 78                        CargarPresentacionRecover();
 79                    }
 80                    else
 81                    {
 82                        udpEmail.Visible = true;
 83                        udpRecover.Visible = false;
 84                    }
 85                    udpForgotPassword.Update();
 86
 87                }
 88            }
 89            catch (Exception ex)
 90            {
 91                AvisoMostrar = true;
 92                AvisoExcepcion = ex;
 93            }
 94        }
 95
 96        /// <summary>
 97        /// 
 98        /// </summary>
 99        /// <param name="sender"></param>
100        /// <param name="e"></param>
101        void VentanaAceptar(object sender, EventArgs e)
102        {
103            try
104            {
105				Response.Redirect("~/Private/Account/Welcome.aspx", false);
106            }
107            catch (Exception ex)
108            {
109                Master.ManageExceptions(ex);
110            }
111        }
112
113        /// <summary>
114        /// Handles the Click event of the btnEnviarMail control.
115        /// </summary>
116        /// <param name="sender">The source of the event.</param>
117        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
118        protected void btnEnviarMail_Click(object sender, EventArgs e)
119        {
120            try
121            {
122                if (EDUARUtilidades.EsEmailValido(txtEmail.Text.Trim()))
123                {
124                    propSeguridad.Usuario.Email = txtEmail.Text.Trim();
125                    objBLSeguridad = new BLSeguridad(propSeguridad);
126                    objBLSeguridad.GetUsuarioByEmail();
127                    objBLSeguridad.RecuperarPassword(ObjSessionDataUI.urlDefault);
128
129                    txtEmail.Text = string.Empty;
130
131                    AccionPagina = enumAcciones.Buscar;
132                    Master.MostrarMensaje(enumTipoVentanaInformacion.Satisfactorio.ToString(), UIConstantesGenerales.MensajeCheckearCorreo, enumTipoVentanaInformacion.Satisfactorio);
133                }
134            }
135            catch (Exception ex)
136            {
137                Master.ManageExceptions(ex);
138            }
139        }
140
141        /// <summary>
142        /// Handles the Click event of the btnRecoverPassword control.
143        /// </summary>
144        /// <param name="sender">The source of the event.</param>
145        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
146        protected void btnRecoverPassword_Click(object sender, EventArgs e)
147        {
148            try
149            {
150                if (txtRespuesta.Text.Trim().Length > 0)
151                {
152                    propSeguridad.Usuario.PaswordRespuesta = txtRespuesta.Text.Trim();
153                    propSeguridad.Usuario.Nombre = ObjSessionDataUI.ObjDTUsuario.Nombre;
154                    objBLSeguridad = new BLSeguridad(propSeguridad);
155                    objBLSeguridad.ValidarRespuesta();
156
157                    if (!string.IsNullOrEmpty(objBLSeguridad.Data.Usuario.PaswordRespuesta))
158                    {
159                        ObjSessionDataUI.ObjDTUsuario.PaswordRespuesta = txtRespuesta.Text.Trim();
160                        CargarPresentacionNuevaPassword();
161
162                        txtEmail.Text = string.Empty;
163                    }
164                    else
165                    {
166                        Master.MostrarMensaje(enumTipoVentanaInformacion.Advertencia.ToString(), UIConstantesGenerales.MensajeErrorPreguntaSeguridad, enumTipoVentanaInformacion.Advertencia);
167                    }
168                }
169            }
170            catch (Exception ex)
171            {
172                Master.ManageExceptions(ex);
173            }
174        }
175
176        /// <summary>
177        /// Handles the Click event of the btnConfirmarPassword control.
178        /// </summary>
179        /// <param name="sender">The source of the event.</param>
180        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
181        protected void btnConfirmarPassword_Click(object sender, EventArgs e)
182        {
183            try
184            {
185                if (Page.IsValid)
186                {
187                    propSeguridad.Usuario.PaswordPregunta = ObjSessionDataUI.ObjDTUsuario.PaswordPregunta;
188                    propSeguridad.Usuario.PaswordRespuesta = ObjSessionDataUI.ObjDTUsuario.PaswordRespuesta;
189                    propSeguridad.Usuario.PasswordNuevo = txtPassword.Text.Trim();
190                    objBLSeguridad = new BLSeguridad(propSeguridad);
191                    objBLSeguridad.CambiarPassword();
192                    HttpContext.Current.SkipAuthorization = true;
193                    AccionPagina = enumAcciones.Salir;
194                    FormsAuthentication.SetAuthCookie(objBLSeguridad.Data.Usuario.Nombre, false);
195
196                    Master.MostrarMensaje(enumTipoVentanaInformacion.Satisfactorio.ToString(), UIConstantesGenerales.MensajeNuevoPassword, enumTipoVentanaInformacion.Satisfactorio);
197                }
198            }
199            catch (Exception ex)
200            {
201                Master.ManageExceptions(ex);
202            }
203
204        }
205        #endregion
206
207        #region --[Métodos Privados]--
208        /// <summary>
209        /// Cargars the presentacion recover.
210        /// </summary>
211        private void CargarPresentacionRecover()
212        {
213            udpEmail.Visible = false;
214            udpRecover.Visible = true;
215            udpNewPassword.Visible = false;
216            udpRecover.Update();
217        }
218
219        /// <summary>
220        /// Cargars the presentacion nueva password.
221        /// </summary>
222        private void CargarPresentacionNuevaPassword()
223        {
224            udpEmail.Visible = false;
225            udpRecover.Visible = false;
226            udpNewPassword.Visible = true;
227            udpForgotPassword.Update();
228        }
229
230        /// <summary>
231        /// Cargars the datos usuario.
232        /// </summary>
233        private void CargarDatosUsuario()
234        {
235            propSeguridad.Usuario.Email = txtEmail.Text.Trim();
236
237            propSeguridad.Usuario = ObjSessionDataUI.ObjDTUsuario;
238            objBLSeguridad = new BLSeguridad(propSeguridad);
239            objBLSeguridad.GetUsuario();
240            ObjSessionDataUI.ObjDTUsuario.PaswordPregunta = objBLSeguridad.Data.Usuario.PaswordPregunta;
241            lblPregunta.Text = ObjSessionDataUI.ObjDTUsuario.PaswordPregunta;
242        }
243
244        #endregion
245    }
246}