Пример #1
0
        private void EnMenúCambiarTipo(object elObjecto, EventArgs losArgumentos)
        {
            // Retornamos si no hay PDIs.
            if (Lista.SelectedIndices.Count == 0)
            {
                return;
            }

            List <PDI> pdis = new List <PDI>();

            foreach (int indice in Lista.SelectedIndices)
            {
                ListViewItem item = Lista.Items[indice];

                // El Tag del item de la lista tiene que ser un PDI.
                PDI pdi = item.Tag as PDI;
                if (pdi == null)
                {
                    throw new InvalidOperationException("El Tag del item de la lista tiene que ser un PDI, pero es nulo.");
                }

                // Añade el PDI a la lista.
                pdis.Add(pdi);
            }

            // Muestra la ventana para cambiar el Tipo.
            VentanaCambiarTipoDePDI ventanaCambiarTipo = new VentanaCambiarTipoDePDI();

            ventanaCambiarTipo.PDIs = pdis;
            DialogResult resultado = ventanaCambiarTipo.ShowDialog();

            if (resultado == DialogResult.OK)
            {
                // Cambia los tipos evitando que se generen eventos con
                // cada cambio.
                ManejadorDePDIs.SuspendeEventos();
                foreach (PDI pdi in pdis)
                {
                    pdi.CambiaTipo(ventanaCambiarTipo.TipoNuevo, "Cambio Manual");
                }

                // Restablece los eventos en el manejador de mapa.
                ManejadorDePDIs.RestableceEventos();

                // Envía el evento indicando que se editaron PDIs.
                EnvíaEventoEditó();
            }
        }
Пример #2
0
        private void EnMenúCambiarTipo(object elObjecto, EventArgs losArgumentos)
        {
            // Retornamos si no hay PDIs.
              if (Lista.SelectedIndices.Count == 0)
              {
            return;
              }

              List<PDI> pdis = new List<PDI>();
              foreach (int indice in Lista.SelectedIndices)
              {
            ListViewItem item = Lista.Items[indice];

            // El Tag del item de la lista tiene que ser un PDI.
            PDI pdi = item.Tag as PDI;
            if (pdi == null)
            {
              throw new InvalidOperationException("El Tag del item de la lista tiene que ser un PDI, pero es nulo.");
            }

            // Añade el PDI a la lista.
            pdis.Add(pdi);
              }

              // Muestra la ventana para cambiar el Tipo.
              VentanaCambiarTipoDePDI ventanaCambiarTipo = new VentanaCambiarTipoDePDI();
              ventanaCambiarTipo.PDIs = pdis;
              DialogResult resultado = ventanaCambiarTipo.ShowDialog();
              if (resultado == DialogResult.OK)
              {
            // Cambia los tipos evitando que se generen eventos con
            // cada cambio.
            ManejadorDePDIs.SuspendeEventos();
            foreach (PDI pdi in pdis)
            {
              pdi.CambiaTipo(ventanaCambiarTipo.TipoNuevo, "Cambio Manual");
            }

            // Restablece los eventos en el manejador de mapa.
            ManejadorDePDIs.RestableceEventos();

            // Envía el evento indicando que se editaron PDIs.
            EnvíaEventoEditó();
              }
        }