/// <summary> /// Realiza la inserción de un nuevo evento con el tipo predeterminado para una secuencia de paradas /// </summary> /// <returns></returns> public RetornoOperacion NuevoEvento() { //Declaramos Mensaje RetornoOperacion resultado = new RetornoOperacion(); //Validando que exista una parada para asociar evento if (this._id_parada > 0) { //Instanciando parada using (Parada parada = new Parada(this._id_parada)) //Editamos Parada resultado = ParadaEvento.InsertaParadaEventoEnDespacho(parada.id_servicio, parada.id_parada, this._mit_eventos != null ? this._mit_eventos.Rows.Count : 0, ((Usuario)Session["usuario"]).id_usuario); } //Si no hay parada else { resultado = new RetornoOperacion("No hay una parada a la cual asignar un nuevo evento."); } //Validamos Resultado final if (resultado.OperacionExitosa) { //Borrando Id de Evento this._id_evento = resultado.IdRegistro; //Cargamos Eventos cargaEventosParada(); //Cambiando vista a resumen mtvEventosParada.SetActiveView(vwResumenEventos); } //Devolviendo resultado return(resultado); }
/// <summary> /// Realiza la deshabilitación del registro evento activo en el control /// </summary> /// <returns></returns> public RetornoOperacion EliminaEvento() { //Declaramos Mensaje RetornoOperacion resultado = new RetornoOperacion(); //Validando que exista un evento para deshabilitar if (this._id_evento > 0) { //Instanciamos Evento using (ParadaEvento objEvento = new ParadaEvento(this._id_evento)) { //Instanciando servicio del evento using (SAT_CL.Documentacion.Servicio srv = new SAT_CL.Documentacion.Servicio(objEvento.id_servicio)) { //Si el servicio está documentado if (srv.estatus == SAT_CL.Documentacion.Servicio.Estatus.Documentado) { //Editamos Parada bajo reglas de documentación resultado = objEvento.DeshabilitaParadaEventoEnServicio(((Usuario)Session["usuario"]).id_usuario, this._mit_eventos != null ? this._mit_eventos.Rows.Count : 0); } else { //Editamos Parada bajo reglas de despacho resultado = objEvento.DeshabilitaParadaEventoEnDespacho(((Usuario)Session["usuario"]).id_usuario, this._mit_eventos != null ? this._mit_eventos.Rows.Count : 0); } } } } //Si no hay parada else { resultado = new RetornoOperacion("No hay un evento que eliminar."); } //Validamos Resultado final if (resultado.OperacionExitosa) { //Borrando Id de Evento this._id_evento = 0; //Cargamos Eventos cargaEventosParada(); //Cambiando vista a resumen mtvEventosParada.SetActiveView(vwResumenEventos); } //Devolviendo resultado return(resultado); }
/// <summary> /// Carga los eventos de la parada solicitada /// </summary> private void cargaEventosParada() { //Cargando los eventos asociados a la parada using (DataTable mit = ParadaEvento.CargaEventosParaActualizacionFechas(this._id_parada)) { //inicialziando selecciones Controles.InicializaIndices(gvEventos); //Cargando GridView Controles.CargaGridView(gvEventos, mit, "IdEvento", "", true, 1); //Almacenando origen de datos this._mit_eventos = mit; //Si hay registros if (this._mit_eventos != null && this._id_evento > 0) { //Se busca y selecciona el evento solicitado Controles.MarcaFila(gvEventos, this._id_evento.ToString(), "IdEvento", "IdEvento", this._mit_eventos, "", Convert.ToInt32(ddlTamanoEventos.SelectedValue), true, 1); } } }
/// <summary> /// Determina si se mostrará la vista de resumen de eventos o edición de eventos /// </summary> private void configuraVistaControl() { //Si hay un evento seleccionado para visualizar if (this._id_evento > 0) { //Cargando catálogo de Retraso en eventos SAT_CL.CapaNegocio.m_capaNegocio.CargaCatalogoGeneral(ddlMotivoRetraso, "Ninguno", 64); //Instanciando parada actual using (Parada parada = new Parada(this._id_parada)) //Cargando catálogo de eventos disponibles SAT_CL.CapaNegocio.m_capaNegocio.CargaCatalogo(ddlTipoEventos, 40, "", parada.id_tipo_parada, "", 0, ""); //Instanciando evento solicitado using (SAT_CL.Despacho.ParadaEvento evento = new ParadaEvento(this._id_evento)) { //Asignando datos de evento sobre controles ddlTipoEventos.SelectedValue = evento.id_tipo_evento.ToString(); txtCitaEvento.Text = Fecha.ConvierteDateTimeString(evento.cita_evento, "dd/MM/yyyy HH:mm"); txtFechaInicioEvento.Text = Fecha.ConvierteDateTimeString(evento.inicio_evento, "dd/MM/yyyy HH:mm"); txtFechaFinEvento.Text = Fecha.ConvierteDateTimeString(evento.fin_evento, "dd/MM/yyyy HH:mm"); ddlMotivoRetraso.SelectedValue = evento.id_motivo_retraso_evento.ToString(); } //Cambiando vista a edición mtvEventosParada.SetActiveView(vwEdicionEvento); } //Si no hay evento else { //Cambiando vista a resumen mtvEventosParada.SetActiveView(vwResumenEventos); } //Actualziando UpdatePanel Principal (switch de vista) upmtvEventosParada.Update(); }
/// <summary> /// Realiza el guardado del evento en edición /// </summary> public RetornoOperacion GuardaEvento() { //Declaramos Mensaje RetornoOperacion resultado = new RetornoOperacion(); //Declaramos Fechas DateTime citaEvento = DateTime.MinValue; DateTime inicioEvento = DateTime.MinValue; DateTime finEvento = DateTime.MinValue; //Realizando conversión de fechas DateTime.TryParse(txtCitaEvento.Text, out citaEvento); DateTime.TryParse(txtFechaInicioEvento.Text, out inicioEvento); DateTime.TryParse(txtFechaFinEvento.Text, out finEvento); //Inicialziando transacción using (System.Transactions.TransactionScope scope = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Instanciamos Evento using (ParadaEvento objEvento = new ParadaEvento(this._id_evento)) { //Realizando actualización de cita (si es requerido) resultado = objEvento.ActualizaCitaEvento(citaEvento, ((Usuario)Session["usuario"]).id_usuario); //Si no hay errores y se actualizan los atributos de la insancia evento despúes de la actualización de cita if (resultado.OperacionExitosa && objEvento.ActualizaParadaEvento()) { //Editamos Evento resultado = objEvento.EditaParadaEventoEnDespacho(Convert.ToByte(ddlTipoEventos.SelectedValue), inicioEvento, ParadaEvento.TipoActualizacionInicio.Manual, finEvento, ParadaEvento.TipoActualizacionFin.Manual, Convert.ToByte(ddlMotivoRetraso.SelectedValue), ((Usuario)Session["usuario"]).id_usuario); } else { resultado = new RetornoOperacion("Error al actualizar fecha de cita de evento."); } } //Si no hay errores if (resultado.OperacionExitosa) { //Confirmando cambios realizados scope.Complete(); } } //Validamos Resultado final if (resultado.OperacionExitosa) { //Asignando Id de Evento guardado this._id_evento = resultado.IdRegistro; //Cargamos Eventos cargaEventosParada(); //Cambiando a vista de resumen mtvEventosParada.SetActiveView(vwResumenEventos); } //Devolviendo resultado return(resultado); }