private void CreateFormModalConjuntos(Acciones_list al, Sistemas sis, Conjuntos con) { if (al == Acciones_list.Eliminar) { //if (listConjuntos.Count > 0) //{ // MessageBox.Show("No se puede eliminar, hay conjuntos que dependen de este sistema !", "Error eliminando sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); //} //else //{ DialogResult res = MessageBox.Show("Esto eliminará este conjunto y todos sus componentes, desea eliminar realmente " + con.nombre + " ?" , "Eliminar conjunto", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (res == DialogResult.Yes) { daoML.DeleteConjunto(con); if (!bgLoadConjuntos.IsBusy) { splash.Show(); bgLoadConjuntos.RunWorkerAsync(1); } } //} } else { //INHABILITAR PANTALLA PRINCIPAL Enabled = false; //VENTANA QUE SERVIRÁ DE SOMBRA DEL MODAL Shadow mod = new Shadow(); //LA SOMBRA TOMARÁ EL MISMO TAMAÑO DE LA VENTANA PRINCIPAL mod.Size = Size; //MOSTRAR LA VENTANA DE SOMBRA mod.Show(); //LA SOMBRA TENDRÁ LA MISMA UBICACIÓN EN LA PANTALLA QUE LA VENTANA PRINCIPAL mod.Location = Location; //CREAR NUEVO ELEMENTO if (al == Acciones_list.AgregarMay || al == Acciones_list.Editar || al == Acciones_list.AgregarMen) { NuevoConjunto nvC; if (al == Acciones_list.AgregarMen) { nvC = new NuevoConjunto(sis, con); } if (al == Acciones_list.AgregarMay) { nvC = new NuevoConjunto(sis, null); } else { nvC = new NuevoConjunto(sis, con); } //INICIALIZAR EVENTO DE CIERRE DE FORMULARIO PARA CONTROLARLO DESDE LA PANTALLA PADRE nvC.FormClosed += (s, e) => { mod.Close(); Enabled = true; };//HABILITAR VENTANA PRINCIPAL APENAS SE CIERRE //LA POSICIÓN PRINCIPAL SERÁ FIJADA POR LA UBICACIÓN MANUAL nvC.StartPosition = FormStartPosition.CenterScreen; //CALCULAR POSICIÓN DE ACUERDO AL TAMAÑO DE LA VENTANA PRINCIPAL //nvS.Location = //new System.Drawing.Point(mod.Left + (mod.Width - nvS.Width) / 2, // mod.Top + (mod.Height - nvS.Height) / 2); //TAMAÑO MAS PEQUEÑO nvC.Size = new System.Drawing.Size(548, 516); //MOSTRAR MODAL SOBRE EL FORMULARIO DE SOMBRA nvC.ShowDialog(); //CUANDO SE CIERRE EL MODAL, MOSTRAR LA VENTANA PRINCIPAL this.BringToFront(); if (al == Acciones_list.AgregarMen || al == Acciones_list.AgregarMay) { if (nvC.DialogResult == DialogResult.OK) { //OBTENER EL OBJETO CON INFORMACIÓN Y AGREGARLO A LA BASE DE DATOS daoML.AddConjunto(nvC.conjunto); //MODIFICAR EL SMP EN TODOS LOS COMPONENTES daoML.EditSmpComponents(nvC.conjunto); } } else { if (nvC.DialogResult == DialogResult.OK) { //OBTENER EL OBJETO CON INFORMACIÓN Y EDITARLO EN LA BASE DE DATOS daoML.EditConjunto(nvC.conjunto); //MODIFICAR EL SMP EN TODOS LOS COMPONENTES daoML.EditSmpComponents(nvC.conjunto); } //tlpSistemas.Visible = false; } nvC.Dispose(); tlpDetalles.Visible = false; if (!bgLoad.IsBusy) { splash.Show(); bgLoad.RunWorkerAsync(); } } } }
private void lvOpciones_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { if (lvOpciones.SelectedItems.Count == 1) { ListViewItem lviOptionSeleted = lvOpciones.SelectedItems[0]; Acciones_list opSel = (Acciones_list)lviOptionSeleted.Tag; switch (opSel) { case Acciones_list.AgregarMay: switch (type_selected) { //MAQUINAS case 0: CreateFormModalMachines(opSel, null); break; //SISTEMAS case 1: CreateFormModalSystem(opSel, null, null); break; //CONJUNTOS case 2: ListViewItem lv_edit_co = lvConjuntos.SelectedItems[0]; Conjuntos con = (Conjuntos)lv_edit_co.Tag; CreateFormModalConjuntos(opSel, listSubSytems.Where(x => x.id == con.id_sistema).First(), null); break; default: break; } break; case Acciones_list.AgregarMen: switch (type_selected) { //MAQUINA case 0: ListViewItem lvi = lvMaquinas.SelectedItems[0]; Machines m = (Machines)lvi.Tag; CreateFormModalSystem(opSel, m, null); break; //SISTEMA case 1: ListViewItem lvi_sis = lvSistemas.SelectedItems[0]; Sistemas sis = (Sistemas)lvi_sis.Tag; CreateFormModalConjuntos(opSel, sis, null); break; case 2: //var compWin = new CalendarioPMBiBlio.Calendar(); //ElementHost.EnableModelessKeyboardInterop(compWin); //compWin.Show(); ListViewItem lvi_s = lvConjuntos.SelectedItems[0]; Conjuntos cc = (Conjuntos)lvi_s.Tag; Util.Global.conjunto = cc; CalendarioPm cpm = new CalendarioPm(); cpm.ShowDialog(); cpm.Dispose(); cpm = null; GC.Collect(); break; default: break; } break; case Acciones_list.Editar: switch (type_selected) { case 0: ListViewItem lvi = lvMaquinas.SelectedItems[0]; Machines m = (Machines)lvi.Tag; CreateFormModalMachines(opSel, m); break; case 1: ListViewItem lv = lvSistemas.SelectedItems[0]; Sistemas sis = (Sistemas)lv.Tag; CreateFormModalSystem(opSel, null, sis); break; //CONJUNTOS case 2: ListViewItem lv_edit_co = lvConjuntos.SelectedItems[0]; Conjuntos con = (Conjuntos)lv_edit_co.Tag; CreateFormModalConjuntos(opSel, listSubSytems.Where(x => x.id == con.id_sistema).First(), con); break; default: break; } break; case Acciones_list.Eliminar: switch (type_selected) { //MAQUINA case 0: ListViewItem lvi = lvMaquinas.SelectedItems[0]; Machines m = (Machines)lvi.Tag; CreateFormModalMachines(opSel, m); break; case 1: ListViewItem lv = lvSistemas.SelectedItems[0]; Sistemas sis_del = (Sistemas)lv.Tag; CreateFormModalSystem(opSel, null, sis_del); break; //CONJUNTOS case 2: ListViewItem lv_eli = lvConjuntos.SelectedItems[0]; Conjuntos con_del = (Conjuntos)lv_eli.Tag; CreateFormModalConjuntos(opSel, listSubSytems.Where(x => x.id == con_del.id_sistema).First(), con_del); break; default: break; } break; default: break; } } }
/// <summary> /// CREAR PANTALLA MODAL PERSONALIZADA, RECIBE LA ACCIÓN A REALIZAR CON LA PANTALLA /// ASI MISMO MOSTRAR LA PANTALLA CORRECTA /// </summary> /// <param name="op" ></param> private void CreateFormModalMachines(Acciones_list al, Machines m) { if (al == Acciones_list.Eliminar) { if (listSubSytems.Count > 0) { MessageBox.Show("No se puede eliminar, hay sistemas que dependen de esta máquina !", "Error eliminando máquina", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { DialogResult res = MessageBox.Show("Desea eliminar realmente " + m.nombre + " ?" , "Eliminar máquina", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (res == DialogResult.Yes) { daoML.DeleteMaquina(m); if (!bgLoad.IsBusy) { splash.Show(); bgLoad.RunWorkerAsync(); } } } } else { //INHABILITAR PANTALLA PRINCIPAL Enabled = false; //VENTANA QUE SERVIRÁ DE SOMBRA DEL MODAL Shadow mod = new Shadow { //LA SOMBRA TOMARÁ EL MISMO TAMAÑO DE LA VENTANA PRINCIPAL Size = Size }; //MOSTRAR LA VENTANA DE SOMBRA mod.Show(); //LA SOMBRA TENDRÁ LA MISMA UBICACIÓN EN LA PANTALLA QUE LA VENTANA PRINCIPAL mod.Location = Location; //CREAR NUEVO ELEMENTO if (al == Acciones_list.AgregarMay || al == Acciones_list.Editar) { NuevoItem nvE; //PANTALLA PARA NUEVO ELEMENTO if (al == Acciones_list.AgregarMay) { nvE = new NuevoItem(null); } else { nvE = new NuevoItem(m); } //INICIALIZAR EVENTO DE CIERRE DE FORMULARIO PARA CONTROLARLO DESDE LA PANTALLA PADRE nvE.FormClosed += (s, e) => { mod.Close(); Enabled = true; };//HABILITAR VENTANA PRINCIPAL APENAS SE CIERRE //TAMAÑO MAS PEQUEÑO nvE.Size = new System.Drawing.Size(400, 350); //LA POSICIÓN PRINCIPAL SERÁ FIJADA POR LA UBICACIÓN MANUAL nvE.StartPosition = FormStartPosition.CenterScreen; //CALCULAR POSICIÓN DE ACUERDO AL TAMAÑO DE LA VENTANA PRINCIPAL //nvE.Location = new System.Drawing.Point(mod.Left + (mod.Width - nvE.Width) / 2, // mod.Top + (mod.Height - nvE.Height) / 2); //MOSTRAR MODAL SOBRE EL FORMULARIO DE SOMBRA nvE.ShowDialog(); //CUANDO SE CIERRE EL MODAL, MOSTRAR LA VENTANA PRINCIPAL this.BringToFront(); if (nvE.DialogResult == DialogResult.OK) { if (al == Acciones_list.AgregarMay) { //OBTENER EL OBJETO CON INFORMACIÓN Y AGREGARLO A LA BASE DE DATOS daoML.AddMachine(nvE.maquina); } else if (al == Acciones_list.Editar) { //OBTENER EL OBJETO CON INFORMACIÓN Y EDITARLO EN LA BASE DE DATOS daoML.EditMaquina(nvE.maquina); } if (!bgLoad.IsBusy) { splash.Show(); bgLoad.RunWorkerAsync(); } tlpDetalles.Visible = false; tlpSistemas.Visible = false; tlpConjuntos.Visible = false; } nvE.Dispose(); } } }