private void btnEditModelo_Click(object sender, System.EventArgs e)
		{
			ListViewItem item = LstVwModelos.SelectedItems[0];
			GISADataset.ModelosAvaliacaoRow modAvRow = (GISADataset.ModelosAvaliacaoRow)item.Tag;
			FormModelosAvaliacao frm = new FormModelosAvaliacao();
			frm.Text = "Editar " + frm.Text;
			frm.txtDesignacaoListaModelos.Text = modAvRow.Designacao;
			frm.nudPrazoConservacao.Value = modAvRow.PrazoConservacao;
			if (modAvRow.IsPreservarNull())
			{
				frm.cbDestinoFinal.SelectedValue = -1;
			}
			else
			{
				frm.cbDestinoFinal.SelectedValue = modAvRow.Preservar;
			}
			switch (frm.ShowDialog())
			{
				case DialogResult.OK:
					if (! (modAvRow.RowState == DataRowState.Added))
					{
						GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
						try
						{
							bool result = false;
							bool preservar = false;
							if (frm.cbDestinoFinal.SelectedIndex > 0)
							{
								preservar = System.Convert.ToBoolean(frm.cbDestinoFinal.SelectedValue);
							}
							result = DBAbstractDataLayer.DataAccessRules.NivelRule.Current.ManageModelosAvaliacao(false, modAvRow.ID, frm.txtDesignacaoListaModelos.Text, System.Convert.ToInt16(frm.nudPrazoConservacao.Text), preservar, ho.Connection);
							if (result)
							{
								modAvRow.Designacao = frm.txtDesignacaoListaModelos.Text;
								modAvRow.PrazoConservacao = System.Convert.ToInt16(frm.nudPrazoConservacao.Text);
								if (frm.cbDestinoFinal.SelectedIndex == 0)
								{
									modAvRow["Preservar"] = DBNull.Value;
								}
								else
								{
									modAvRow.Preservar = System.Convert.ToBoolean(frm.cbDestinoFinal.SelectedValue);
								}
								UpdateModeloItem(item, modAvRow);
								modAvRow.AcceptChanges();
							}
							else
							{
								MessageBox.Show("O modelo de avaliação selecionado não pode ser alterado uma vez que já está a ser utilizado na avaliação de níveis documentais.", "Editar Modelo de Avaliações", MessageBoxButtons.OK, MessageBoxIcon.Warning);
							}
						}
						catch (Exception ex)
						{
							Trace.WriteLine(ex);
							MessageBox.Show("Não foi possível completar a operação. Tente novamente.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
						}
						finally
						{
							ho.Dispose();
						}
					}
					else
					{
						modAvRow.Designacao = frm.txtDesignacaoListaModelos.Text;
						modAvRow.PrazoConservacao = System.Convert.ToInt16(frm.nudPrazoConservacao.Text);
						if (frm.cbDestinoFinal.SelectedIndex == 0)
						{
							modAvRow["Preservar"] = DBNull.Value;
						}
						else
						{
							modAvRow.Preservar = System.Convert.ToBoolean(frm.cbDestinoFinal.SelectedValue);
						}
						UpdateModeloItem(item, modAvRow);
					}
					break;
				case DialogResult.Cancel:
					return;
			}
		}
		private void btnAddModelo_Click(object sender, System.EventArgs e)
		{
			FormModelosAvaliacao frm = new FormModelosAvaliacao();
			frm.Text = "Criar " + frm.Text;
			switch (frm.ShowDialog())
			{
				case DialogResult.OK:
					GISADataset.ModelosAvaliacaoRow modAvRow = null;
					modAvRow = GisaDataSetHelper.GetInstance().ModelosAvaliacao.NewModelosAvaliacaoRow();
					modAvRow.IDListaModelosAvaliacao = ((GISADataset.ListaModelosAvaliacaoRow)(LstVwListaModelos.SelectedItems[0].Tag)).ID;
					modAvRow.Designacao = frm.txtDesignacaoListaModelos.Text;
					modAvRow.PrazoConservacao = System.Convert.ToInt16(frm.nudPrazoConservacao.Text);
					if (((int)frm.cbDestinoFinal.SelectedValue) < 0)
					{
						modAvRow.Preservar = false;
					}
					else
					{
						modAvRow.Preservar = System.Convert.ToBoolean(frm.cbDestinoFinal.SelectedValue);
					}
					modAvRow.Versao = new byte[]{};
					GisaDataSetHelper.GetInstance().ModelosAvaliacao.AddModelosAvaliacaoRow(modAvRow);

					ListViewItem item = NewModeloItem(modAvRow);
					LstVwModelos.Items.Add(item);
					break;
				case DialogResult.Cancel:
					return;
			}
		}