PageRenderTime 45ms CodeModel.GetById 15ms app.highlight 23ms RepoModel.GetById 1ms app.codeStats 0ms

/Docs/07-Implementacion/Source/trunk/EDUAR_actual/EDUAR/EDUAR_UI/Private/Agenda/ManageAgendaActividades.aspx.cs

http://blpm.googlecode.com/
C# | 554 lines | 364 code | 43 blank | 147 comment | 16 complexity | a531d89bbba20c1fea906c3cd6f421be MD5 | raw file
  1using System;
  2using System.Collections.Generic;
  3using System.Web.UI;
  4using System.Web.UI.WebControls;
  5using EDUAR_BusinessLogic.Common;
  6using EDUAR_Entities;
  7using EDUAR_UI.Shared;
  8using EDUAR_UI.Utilidades;
  9using EDUAR_Utility.Constantes;
 10using EDUAR_Utility.Enumeraciones;
 11
 12namespace EDUAR_UI
 13{
 14	public partial class ManageAgendaActividades : EDUARBasePage
 15	{
 16		#region --[Atributos]--
 17		private BLAgendaActividades objBLAgenda;
 18		#endregion
 19
 20		#region --[Propiedades]--
 21		/// <summary>
 22		/// Mantiene la agenda seleccionada en la grilla.
 23		/// Se utiliza para el manejo de eventos de agenda (evaluación, excursión, reunión).
 24		/// </summary>
 25		/// <value>
 26		/// The prop agenda.
 27		/// </value>
 28		public AgendaActividades propAgenda
 29		{
 30			get
 31			{
 32				if (Session["propAgenda"] == null)
 33					propAgenda = new AgendaActividades();
 34
 35				return (AgendaActividades)Session["propAgenda"];
 36			}
 37			set { Session["propAgenda"] = value; }
 38		}
 39
 40		/// <summary>
 41		/// Gets or sets the prop filtro agenda.
 42		/// </summary>
 43		/// <value>
 44		/// The prop filtro agenda.
 45		/// </value>
 46		public AgendaActividades propFiltroAgenda
 47		{
 48			get
 49			{
 50				if (ViewState["propFiltroAgenda"] == null)
 51					propFiltroAgenda = new AgendaActividades();
 52
 53				return (AgendaActividades)ViewState["propFiltroAgenda"];
 54			}
 55			set { ViewState["propFiltroAgenda"] = value; }
 56		}
 57
 58		/// <summary>
 59		/// Gets or sets the lista agenda.
 60		/// </summary>
 61		/// <value>
 62		/// The lista agenda.
 63		/// </value>
 64		public List<AgendaActividades> listaAgenda
 65		{
 66			get
 67			{
 68				if (ViewState["listaAgenda"] == null)
 69					listaAgenda = new List<AgendaActividades>();
 70
 71				return (List<AgendaActividades>)ViewState["listaAgenda"];
 72			}
 73			set { ViewState["listaAgenda"] = value; }
 74		}
 75
 76		#endregion
 77
 78		#region --[Eventos]--
 79		/// <summary>
 80		/// Método que se ejecuta al dibujar los controles de la página.
 81		/// Se utiliza para gestionar las excepciones del método Page_Load().
 82		/// </summary>
 83		/// <param name="e"></param>
 84		protected override void OnPreRender(EventArgs e)
 85		{
 86			base.OnPreRender(e);
 87			if (AvisoMostrar)
 88			{
 89				AvisoMostrar = false;
 90
 91				try
 92				{
 93					Master.ManageExceptions(AvisoExcepcion);
 94				}
 95				catch (Exception ex) { Master.ManageExceptions(ex); }
 96			}
 97		}
 98
 99		/// <summary>
100		/// Handles the Load event of the Page control.
101		/// </summary>
102		/// <param name="sender">The source of the event.</param>
103		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
104		protected void Page_Load(object sender, EventArgs e)
105		{
106			try
107			{
108				
109                propAgenda.usuario = ObjSessionDataUI.ObjDTUsuario.Nombre;
110                
111                Master.BotonAvisoAceptar += (VentanaAceptar);
112				novControl.GuardarClick += (Guardar);
113				if (!Page.IsPostBack)
114				{
115					base.idNovedadConsulta = 0;
116					CargarPresentacion();
117
118					if (propAgenda.idAgendaActividad > 0)
119					{
120						CargarLista(propAgenda);
121						CargaAgenda();
122					}
123					else
124						BuscarAgenda(propAgenda);
125					CargarAgendaCurso();
126				}
127			}
128			catch (Exception ex)
129			{
130				AvisoMostrar = true;
131				AvisoExcepcion = ex;
132			}
133		}
134
135		private void CargarAgendaCurso()
136		{
137			//propAgenda.idAgendaActividad = Convert.ToInt32(e.CommandArgument.ToString());
138			propAgenda.cursoCicloLectivo.idCursoCicloLectivo = base.idCursoCicloLectivo;
139			CargaAgenda();
140			lblTitulo.Text = "Agenda de Actividades - " + propAgenda.cursoCicloLectivo.curso.nombre; //+ " - " + propAgenda.cursoCicloLectivo.cicloLectivo.nombre;
141		}
142
143		/// <summary>
144		/// Ventanas the aceptar.
145		/// </summary>
146		/// <param name="sender">The sender.</param>
147		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
148		void VentanaAceptar(object sender, EventArgs e)
149		{
150			try
151			{
152				switch (AccionPagina)
153				{
154					case enumAcciones.Limpiar:
155						CargarPresentacion();
156						BuscarAgenda(null);
157						break;
158					case enumAcciones.Guardar:
159						AccionPagina = enumAcciones.Limpiar;
160						GuardarAgenda(ObtenerValoresDePantalla());
161						Master.MostrarMensaje(enumTipoVentanaInformacion.Satisfactorio.ToString(), UIConstantesGenerales.MensajeGuardadoOk, enumTipoVentanaInformacion.Satisfactorio);
162						break;
163					default:
164						break;
165				}
166			}
167			catch (Exception ex)
168			{
169				Master.ManageExceptions(ex);
170			}
171		}
172
173		/// <summary>
174		/// Guardars the specified sender.
175		/// </summary>
176		/// <param name="sender">The sender.</param>
177		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
178		protected void Guardar(object sender, EventArgs e)
179		{
180			try
181			{
182				novControl.GuardarNovedad();
183			}
184			catch (Exception ex)
185			{ Master.ManageExceptions(ex); }
186		}
187
188		/// <summary>
189		/// Handles the Click event of the btnEvaluacion control.
190		/// </summary>
191		/// <param name="sender">The source of the event.</param>
192		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
193		protected void btnEvaluacion_Click(object sender, EventArgs e)
194		{
195			try
196			{
197				Response.Redirect("ManageEvaluaciones.aspx", false);
198			}
199			catch (Exception ex)
200			{
201				Master.ManageExceptions(ex);
202			}
203		}
204
205		/// <summary>
206		/// Handles the Click event of the btnExcursion control.
207		/// </summary>
208		/// <param name="sender">The source of the event.</param>
209		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
210		protected void btnExcursion_Click(object sender, EventArgs e)
211		{
212			try
213			{
214				Response.Redirect("ManageExcursiones.aspx", false);
215			}
216			catch (Exception ex)
217			{
218				Master.ManageExceptions(ex);
219			}
220		}
221
222		/// <summary>
223		/// Handles the Click event of the btnReunion 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 btnReunion_Click(object sender, EventArgs e)
228		{
229			try
230			{
231				Response.Redirect("ManageReuniones.aspx", false);
232			}
233			catch (Exception ex)
234			{
235				Master.ManageExceptions(ex);
236			}
237		}
238
239		/// <summary>
240		/// Handles the Click event of the btnBuscar control.
241		/// </summary>
242		/// <param name="sender">The source of the event.</param>
243		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
244		protected void btnBuscar_Click(object sender, EventArgs e)
245		{
246			try
247			{
248				BuscarFiltrando();
249			}
250			catch (Exception ex)
251			{
252				Master.ManageExceptions(ex);
253			}
254		}
255
256		/// <summary>
257		/// Handles the Click event of the btnAsignarRol control.
258		/// </summary>
259		/// <param name="sender">The source of the event.</param>
260		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
261		protected void btnGuardar_Click(object sender, EventArgs e)
262		{
263			try
264			{
265				string mensaje = ValidarPagina();
266				if (mensaje == string.Empty)
267				{
268					if (Page.IsValid)
269					{
270						//TODO: Aquí hay que llamar a la validación de disponibilidad de agenda
271						AccionPagina = enumAcciones.Guardar;
272						Master.MostrarMensaje(enumTipoVentanaInformacion.Confirmación.ToString(), UIConstantesGenerales.MensajeConfirmarCambios, enumTipoVentanaInformacion.Confirmación);
273					}
274				}
275				else
276				{
277					Master.MostrarMensaje(enumTipoVentanaInformacion.Advertencia.ToString(), UIConstantesGenerales.MensajeDatosFaltantes + mensaje, enumTipoVentanaInformacion.Advertencia);
278				}
279			}
280			catch (Exception ex)
281			{
282				Master.ManageExceptions(ex);
283			}
284		}
285
286		/// <summary>
287		/// Handles the Click event of the btnVolver control.
288		/// </summary>
289		/// <param name="sender">The source of the event.</param>
290		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
291		protected void btnVolver_Click(object sender, EventArgs e)
292		{
293			try
294			{
295				base.idCursoCicloLectivo = 0;
296				base.cursoActual = new CursoCicloLectivo();
297				Response.Redirect("~/Private/AccesoCursos.aspx", false);
298			}
299			catch (Exception ex)
300			{
301				Master.ManageExceptions(ex);
302			}
303		}
304
305		/// <summary>
306		/// Método que se llama al hacer click sobre las acciones de la grilla
307		/// </summary>
308		/// <param name="sender">The source of the event.</param>
309		/// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewCommandEventArgs"/> instance containing the event data.</param>
310		protected void gvwReporte_RowCommand(object sender, GridViewCommandEventArgs e)
311		{
312			try
313			{
314				switch (e.CommandName)
315				{
316					case "Editar":
317
318						break;
319				}
320			}
321			catch (Exception ex)
322			{
323				Master.ManageExceptions(ex);
324			}
325		}
326
327		/// <summary>
328		/// Handles the PageIndexChanging event of the gvwReporte control.
329		/// </summary>
330		/// <param name="sender">The source of the event.</param>
331		/// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewPageEventArgs"/> instance containing the event data.</param>
332		protected void gvwReporte_PageIndexChanging(object sender, GridViewPageEventArgs e)
333		{
334			try
335			{
336				gvwReporte.PageIndex = e.NewPageIndex;
337				CargarGrilla();
338			}
339			catch (Exception ex) { Master.ManageExceptions(ex); }
340		}
341
342		/// <summary>
343		/// Handles the PageIndexChanging event of the gvwAgenda control.
344		/// </summary>
345		/// <param name="sender">The source of the event.</param>
346		/// <param name="e">The <see cref="System.Web.UI.WebControls.GridViewPageEventArgs"/> instance containing the event data.</param>
347		protected void gvwAgenda_PageIndexChanging(object sender, GridViewPageEventArgs e)
348		{
349			try
350			{
351				gvwAgenda.PageIndex = e.NewPageIndex;
352				CargarGrillaAgenda();
353				btnBuscar.Visible = false;
354				btnVolver.Visible = true;
355				gvwReporte.Visible = false;
356				udpEdit.Visible = true;
357				udpEdit.Update();
358			}
359			catch (Exception ex) { Master.ManageExceptions(ex); }
360		}
361
362		/// <summary>
363		/// Handles the Click event of the btnRegistroClases control.
364		/// </summary>
365		/// <param name="sender">The source of the event.</param>
366		/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
367		protected void btnRegistroClases_Click(object sender, EventArgs e)
368		{
369			try
370			{
371				Response.Redirect("ManageRegistroClases.aspx", false);
372			}
373			catch (Exception ex)
374			{
375				Master.ManageExceptions(ex);
376			}
377		}
378		#endregion
379
380		#region --[Métodos Privados]--
381		/// <summary>
382		/// Cargars the grilla.
383		/// </summary>
384		/// <typeparam name="T"></typeparam>
385		/// <param name="lista">The lista.</param>
386		private void CargarGrilla()
387		{
388			gvwReporte.DataSource = UIUtilidades.BuildDataTable<AgendaActividades>(listaAgenda).DefaultView;
389			gvwReporte.DataBind();
390			udpEdit.Visible = false;
391			udpGrilla.Update();
392		}
393
394		/// <summary>
395		/// Cargars the grilla agenda.
396		/// </summary>
397		private void CargarGrillaAgenda()
398		{
399			gvwAgenda.DataSource = UIUtilidades.BuildDataTable<EventoAgenda>(propAgenda.listaEventos).DefaultView;
400			gvwAgenda.DataBind();
401			udpEdit.Visible = false;
402			udpGrilla.Update();
403		}
404
405		/// <summary>
406		/// Cargars the presentacion.
407		/// </summary>
408		private void CargarPresentacion()
409		{
410			LimpiarCampos();
411			lblTitulo.Text = "Actividades";
412			udpEdit.Visible = false;
413			btnVolver.Visible = false;
414			btnGuardar.Visible = false;
415			btnBuscar.Visible = true;
416			gvwReporte.Visible = true;
417			udpFiltros.Update();
418			udpGrilla.Update();
419		}
420
421		/// <summary>
422		/// Habilitars the botones detalle.
423		/// </summary>
424		/// <param name="habilitar">if set to <c>true</c> [habilitar].</param>
425		private void HabilitarBotonesDetalle(bool habilitar)
426		{
427			btnExcursion.Visible = habilitar;
428			btnEvaluacion.Visible = habilitar;
429			btnReunion.Visible = habilitar;
430			btnRegistroClases.Visible = habilitar;
431		}
432
433		/// <summary>
434		/// Cargars the combos.
435		/// </summary>
436		//private void CargarCombos(DropDownList ddlCurso)
437		//{
438		//    lblTitulo.Text = "Actividades - " + cicloLectivoActual.nombre;
439		//    UIUtilidades.BindCombo<Curso>(ddlCurso, listaCursos, "idCurso", "Nombre", true);
440		//}
441
442		/// <summary>
443		/// Limpiars the campos.
444		/// </summary>
445		private void LimpiarCampos()
446		{
447			HabilitarBotonesDetalle(false);
448		}
449
450		/// <summary>
451		/// Buscars the filtrando.
452		/// </summary>
453		private void BuscarFiltrando()
454		{
455			lblTitulo.Text = "Actividades";
456			AgendaActividades entidad = new AgendaActividades();
457			entidad.cursoCicloLectivo.idCicloLectivo = cicloLectivoActual.idCicloLectivo;
458			propFiltroAgenda = entidad;
459			BuscarAgenda(entidad);
460		}
461
462		/// <summary>
463		/// Buscars the entidads.
464		/// </summary>
465		/// <param name="entidad">The entidad.</param>
466		private void BuscarAgenda(AgendaActividades entidad)
467		{
468			CargarLista(entidad);
469			CargarGrilla();
470		}
471
472		/// <summary>
473		/// Cargars the lista.
474		/// </summary>
475		/// <param name="entidad">The entidad.</
476        /// param>
477		private void CargarLista(AgendaActividades entidad)
478		{
479			entidad.activo = true;
480			if (User.IsInRole(enumRoles.Docente.ToString()))
481				entidad.usuario = ObjSessionDataUI.ObjDTUsuario.Nombre;
482			objBLAgenda = new BLAgendaActividades(entidad);
483			listaAgenda = objBLAgenda.GetAgendaActividades(entidad);
484		}
485
486		/// <summary>
487		/// Obteners the valores pantalla.
488		/// </summary>
489		/// <returns></returns>
490		private AgendaActividades ObtenerValoresDePantalla()
491		{
492			AgendaActividades entidad = new AgendaActividades();
493			entidad = propAgenda;
494			if (!esNuevo)
495			{
496				entidad.idAgendaActividad = propAgenda.idAgendaActividad;
497				entidad.cursoCicloLectivo.idCursoCicloLectivo = propAgenda.cursoCicloLectivo.idCursoCicloLectivo;
498			}
499			return entidad;
500		}
501
502		/// <summary>
503		/// Guardars the agenda.
504		/// </summary>
505		/// <param name="entidad">The entidad.</param>
506		private void GuardarAgenda(AgendaActividades entidad)
507		{
508			objBLAgenda = new BLAgendaActividades(entidad);
509			objBLAgenda.Save();
510		}
511
512		/// <summary>
513		/// Cargars the entidad.
514		/// </summary>
515		private void CargarValoresEnPantalla(int idCursoCicloLectivo)
516		{
517			BLAgendaActividades objBLAgenda = new BLAgendaActividades(new AgendaActividades() { cursoCicloLectivo = new CursoCicloLectivo() { idCursoCicloLectivo = idCursoCicloLectivo } });
518			objBLAgenda.GetById();
519			propAgenda = objBLAgenda.Data;
520			novControl.visible = false;
521			idCursoCicloLectivo = propAgenda.cursoCicloLectivo.idCursoCicloLectivo;
522		}
523
524		/// <summary>
525		/// Validars the pagina.
526		/// </summary>
527		/// <returns></returns>
528		private string ValidarPagina()
529		{
530			string mensaje = string.Empty;
531			return mensaje;
532		}
533
534		/// <summary>
535		/// Cargas the agenda.
536		/// </summary>
537		private void CargaAgenda()
538		{
539			AccionPagina = enumAcciones.Modificar;
540			esNuevo = false;
541			CargarValoresEnPantalla(propAgenda.cursoCicloLectivo.idCursoCicloLectivo);
542			propAgenda.listaEventos.Sort((p, q) => DateTime.Compare(p.fechaEvento, q.fechaEvento));
543			CargarGrillaAgenda();
544			HabilitarBotonesDetalle(propAgenda.activo);
545			btnBuscar.Visible = false;
546			btnVolver.Visible = true;
547			gvwReporte.Visible = false;
548			udpEdit.Visible = true;
549			udpEdit.Update();
550		}
551
552		#endregion
553	}
554}