// Adicionar um tecnico de obra (registo de autoridade onomastico): private void btnAddTecnicoObra_Click(object sender, EventArgs e) { FormPickControloAut frmPick = new FormPickControloAut(); frmPick.Text = "Notícia de autoridade - Pesquisar registo de autoridade onomástico"; frmPick.caList.AllowedNoticiaAut(TipoNoticiaAut.Onomastico); frmPick.caList.ReloadList(); GISADataset.ControloAutRow caRow = null; GISADataset.LicencaObraTecnicoObraRow tecnicoRow = null; GISADataset.ControloAutDicionarioRow dicionarioRow = null; if (frmPick.caList.Items.Count > 0) { frmPick.caList.SelectItem(frmPick.caList.Items[0]); } switch (frmPick.ShowDialog()) { case DialogResult.OK: foreach (ListViewItem li in frmPick.caList.SelectedItems) { dicionarioRow = (GISADataset.ControloAutDicionarioRow)li.Tag; caRow = dicionarioRow.ControloAutRow; if (!existe_LicencaObraTecnicoObra(caRow)) { tecnicoRow = GisaDataSetHelper.GetInstance().LicencaObraTecnicoObra.NewLicencaObraTecnicoObraRow(); tecnicoRow.LicencaObraRow = CurrentLicencaObra; tecnicoRow.ControloAutRow = caRow; tecnicoRow.isDeleted = 0; // Dados: Add_RowTecnicoObra(tecnicoRow); // GUI: adicionar `a lista: Add_ViewTecnicoObra(dicionarioRow, tecnicoRow); } } break; default: break; } }
private void Add_RowTecnicoObra(GISADataset.LicencaObraTecnicoObraRow new_tecnicoRow) { bool exists = false; GISADataset.LicencaObraTecnicoObraRow[] tecnicos = (GISADataset.LicencaObraTecnicoObraRow[])(GisaDataSetHelper.GetInstance().Tables["LicencaObraTecnicoObra"].Select("IDFRDBase = " + CurrentFRDBase.ID)); foreach (GISADataset.LicencaObraTecnicoObraRow tRow in tecnicos) { if (tRow.IDFRDBase == CurrentFRDBase.ID && tRow.IDControloAut == new_tecnicoRow.IDControloAut) { exists = true; if (tRow.isDeleted == 1) { tRow.isDeleted = 0; } break; } } if (!exists) { GisaDataSetHelper.GetInstance().LicencaObraTecnicoObra.AddLicencaObraTecnicoObraRow(new_tecnicoRow); } }
// Adicionar um tecnico de obra (registo de autoridade onomastico): private void btnAddTecnicoObra_Click(object sender, EventArgs e) { FormPickControloAut frmPick = new FormPickControloAut(); frmPick.Text = "Notícia de autoridade - Pesquisar registo de autoridade onomástico"; frmPick.caList.AllowedNoticiaAut(TipoNoticiaAut.Onomastico); frmPick.caList.ReloadList(); GISADataset.ControloAutRow caRow = null; GISADataset.LicencaObraTecnicoObraRow tecnicoRow = null; GISADataset.ControloAutDicionarioRow cadRow = null; if (frmPick.caList.Items.Count > 0) { frmPick.caList.SelectItem(frmPick.caList.Items[0]); } switch (frmPick.ShowDialog()) { case DialogResult.OK: foreach (ListViewItem li in frmPick.caList.SelectedItems) { cadRow = (GISADataset.ControloAutDicionarioRow)li.Tag; caRow = cadRow.ControloAutRow; if (!existe_LicencaObraTecnicoObra(caRow)) { if (cadRow.IDTipoControloAutForma != (long)TipoControloAutForma.FormaAutorizada) { GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { ControloAutRule.Current.LoadDicionarioAndControloAutDicionario(GisaDataSetHelper.GetInstance(), cadRow.IDControloAut, ho.Connection); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } cadRow = caRow.GetControloAutDicionarioRows().Where(cad => cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada).Single(); } tecnicoRow = GisaDataSetHelper.GetInstance().LicencaObraTecnicoObra.NewLicencaObraTecnicoObraRow(); tecnicoRow.LicencaObraRow = CurrentLicencaObra; tecnicoRow.ControloAutRow = caRow; tecnicoRow.isDeleted = 0; // Dados: Add_RowTecnicoObra(tecnicoRow); // GUI: adicionar `a lista: Add_ViewTecnicoObra(cadRow, tecnicoRow); } } break; default: break; } }
private void Add_ViewTecnicoObra(GISADataset.ControloAutDicionarioRow dictRow, GISADataset.LicencaObraTecnicoObraRow new_tecnicoRow) { // Nome do tecnico: ListViewItem item = new ListViewItem(dictRow.DicionarioRow.Termo); item.Tag = new_tecnicoRow; this.lstVwTecnicoObra.Items.Add(item); }