private void btnAutoEliminacaoManager_Click(object sender, System.EventArgs e) { FormAutoEliminacaoEditor formAutoEditor = new FormAutoEliminacaoEditor(); IDbConnection conn = GisaDataSetHelper.GetConnection(); try { conn.Open(); RelatorioRule.Current.LoadAutosEliminacao(GisaDataSetHelper.GetInstance(), conn); } finally { conn.Close(); } formAutoEditor.LoadData(GisaDataSetHelper.GetInstance().AutoEliminacao.Select(string.Empty, "Designacao"), "Designacao"); formAutoEditor.ShowDialog(); PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); long selectedAutoEliminacaoID = 0; if (cbAutoEliminacao.SelectedValue == null) { selectedAutoEliminacaoID = long.MinValue; } else { selectedAutoEliminacaoID = (long)cbAutoEliminacao.SelectedValue; } rebindToData(); cbAutoEliminacao.SelectedValue = selectedAutoEliminacaoID; }
private void ClickBtnApagar() { if (MessageBox.Show("Tem a certeza que pretende eliminar o depósito?", "Eliminar depósito", MessageBoxButtons.YesNo) == DialogResult.No) { return; } Trace.WriteLine("A apagar depósito..."); var depItem = depList.SelectedItems[0]; var depRow = depItem.Tag as GISADataset.DepositoRow; if (CurrentContext.Deposito.RowState == DataRowState.Detached) { depList.ClearItemSelection(depItem); } else { var args = new PersistencyHelper.DeleteDepositoPreConcArguments(); args.IDDeposito = depRow.ID; depRow.Delete(); PersistencyHelper.save(DeleteDeposito, args); PersistencyHelper.cleanDeletedData(); } depItem.Remove(); UpdateToolBarButtons(); UpdateContext(); }
public GISADataset.TrusteeUserRow CreateNewUser() { //adicionar um utilizador sem grupo nem permissões para utilização da aplicação //, com builtinuser = false, com isauhtority = true e com isactive = false GISADataset.TrusteeRow tRow = null; GISADataset.TrusteeUserRow tuRow = null; byte[] Versao = null; try { tRow = GisaDataSetHelper.GetInstance().Trustee.AddTrusteeRow("autor", "", "USR", false, false, true, true, Versao, 0); tuRow = GisaDataSetHelper.GetInstance().TrusteeUser.NewTrusteeUserRow(); tuRow.TrusteeRow = tRow; tuRow.Password = ""; tuRow.FullName = "Novo autor"; tuRow.IsAuthority = true; tuRow["IDTrusteeUserDefaultAuthority"] = DBNull.Value; GisaDataSetHelper.GetInstance().TrusteeUser.AddTrusteeUserRow(tuRow); // TODO: apagar? //GisaDataSetHelper.GetTrusteeDataAdapter.Update(New DataRow() {tRow}) //GisaDataSetHelper.GetTrusteeUserDataAdapter.Update(New DataRow() {tuRow}) PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); } finally { // TODO: apagar? //ho.Dispose() } return tuRow; }
protected override void EditTrustee() { if (lstVwTrustees.SelectedItems.Count == 0) return; ((frmMain)TopLevelControl).EnterWaitMode(); ListViewItem item = null; GISADataset.TrusteeRow truRow = null; item = lstVwTrustees.SelectedItems[0]; truRow = (GISADataset.TrusteeRow)item.Tag; GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { if (TrusteeRule.Current.hasRegistos(((GISADataset.TrusteeRow)(lstVwTrustees.SelectedItems[0].Tag)).ID, ho.Connection)) MessageBox.Show("Tenha em conta que alterações no nome de utilizador terá reflexos no registos no sistema.", "Utilizador", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } FormCreateTrustee form = new FormCreateTrustee(); form.Text = "Editar utilizador"; form.txtTrusteeName.Text = truRow.Name; switch (form.ShowDialog()) { case DialogResult.OK: PersistencyHelper.EditTrusteePreConcArguments ctpca = new PersistencyHelper.EditTrusteePreConcArguments(); ctpca.truRow = truRow; ctpca.username = form.txtTrusteeName.Text; Trace.WriteLine("A editar utilizador..."); PersistencyHelper.save(EditTrusteeIfUsernameDoesntExist, ctpca); PersistencyHelper.cleanDeletedData(); if (! ctpca.successful) { MessageBox.Show("Este nome já existe atribuído a um utilizador ou grupo, " + Environment.NewLine + "por favor escolha outro nome.", form.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); UpdateTrustees(null); } else { UpdateTrustees(truRow); UpdateContext(); } UpdateToolBarButtons(); break; case DialogResult.Cancel: break; } ((frmMain)TopLevelControl).LeaveWaitMode(); }
private void ClickTbEditar() { FormMovimento frm = new FormMovimento(); frm.Text = "Editar " + this.NomeMovimento; //obter row seleccionada e colocar a informação no form GISADataset.MovimentoRow reqRow = (GISADataset.MovimentoRow)movList.SelectedItems[0].Tag; frm.Entidade = reqRow.MovimentoEntidadeRow; frm.Data = reqRow.Data; frm.CurrentMovimento = reqRow; frm.LoadData(); if (frm.ShowDialog() == DialogResult.OK) { // ler os valores do form e gravá-los reqRow.MovimentoEntidadeRow = frm.Entidade; reqRow.Data = frm.Data; PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); movList.ReloadList(reqRow); } }
private void btnAdd_Click(object sender, System.EventArgs e) { FormUserGroups form = new FormUserGroups(); byte[] Versao = null; if (form.ShowDialog() == DialogResult.OK) { this.Cursor = Cursors.WaitCursor; GISADataset.TrusteeRow tRow = null; List <long> tRowIDs = new List <long>(); foreach (ListViewItem item in form.lstVwTrustees.SelectedItems) { tRow = (GISADataset.TrusteeRow)item.Tag; // verificar se o utilizador foi anteriormente adicionado ao grupo if (GisaDataSetHelper.GetInstance().UserGroups.Select(string.Format("IDUser={0} AND IDGroup={1}", (CurrentTrusteeRow.GetTrusteeUserRows()[0]).ID.ToString(), (tRow.GetTrusteeGroupRows()[0]).ID.ToString())).Length == 0) { tRowIDs.Add(tRow.ID); GisaDataSetHelper.GetInstance().UserGroups.AddUserGroupsRow(CurrentTrusteeRow.GetTrusteeUserRows()[0], tRow.GetTrusteeGroupRows()[0], Versao, 0); } } PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); EnumerateMembership(CurrentTrusteeRow); this.Cursor = Cursors.Default; } }
private void DeleteItem() { ListViewItem item = this.lstVwNiveisAssoc.SelectedItems[0]; GISADataset.DocumentosMovimentadosRow dmRow = (GISADataset.DocumentosMovimentadosRow)item.Tag; var args = new PersistencyHelper.ValidateMovimentoDeleteItemPreConcArguments(); args.IDMovimento = dmRow.IDMovimento; args.IDNivel = dmRow.IDNivel; args.CatCode = dmRow.MovimentoRow.CatCode.Equals("REQ") ? "DEV" : "REQ"; dmRow.Delete(); PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(ValidateMovimentoDelete, args); PersistencyHelper.cleanDeletedData(); if (!args.continueSave) { var message = dmRow.MovimentoRow.CatCode.Equals("REQ") ? "Não é permitido eliminar a associação de documentos a requisições com devolução posterior" : "Não é permitido eliminar a associação de documentos a devoluções com requisições posteriores mas sem devolução"; MessageBox.Show(message, "Eliminar a associação de documento com a requisição/devolução", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } this.lstVwNiveisAssoc.Items.Remove(item); UpdateListButtonsState(); }
public static void CascadeDeleteFRD(GISADataset.FRDBaseRow FRDRow) { PersistencyHelper.DeleteIDXPreSaveArguments args = new PersistencyHelper.DeleteIDXPreSaveArguments(); args.ID = FRDRow.ID; DeleteInDataSet(FRDRow); PersistencyHelper.save(new PersistencyHelper.preSaveDelegate(DeleteFRDBaseXInDataBase), args); PersistencyHelper.cleanDeletedData(); }
private void ExecuteFilter() { PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); if (successfulSave == PersistencyHelper.SaveResult.unsuccessful) { return; } else if (successfulSave == PersistencyHelper.SaveResult.successful) { GISA.Search.Updater.updateUnidadeFisica(CurrentNivel.GetFRDBaseRows()[0].NivelRow.ID); } if ((FilterTipoNivelRelacionado == -1) && (TextFilterDesignacao == string.Empty)) { filtered = false; filter.Clear(); GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { ordem = FRDRule.Current.LoadUFUnidadesDescricaoData(GisaDataSetHelper.GetInstance(), CurrentNivel.ID, ho.Connection); detalhes = FRDRule.Current.LoadUFUnidadesDescricaoDetalhe(GisaDataSetHelper.GetInstance(), CurrentNivel.ID, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID, ho.Connection); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } } else { filtered = true; filter.Clear(); GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { ordem = FRDRule.Current.LoadUFUnidadesDescricaoData(GisaDataSetHelper.GetInstance(), CurrentNivel.ID, ho.Connection); detalhes = FRDRule.Current.LoadUFUnidadesDescricaoDetalhe(GisaDataSetHelper.GetInstance(), CurrentNivel.ID, SessionHelper.GetGisaPrincipal().TrusteeUserOperator.ID, ho.Connection); filter = FRDRule.Current.FilterUFUnidadesDescricao(TextFilterDesignacao, FilterTipoNivelRelacionado, CurrentNivel.ID, ho.Connection); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } } RepopulateNiveisAssociados(); }
public static PersistencyHelper.SaveResult CascadeDeleteNivel(GISADataset.NivelRow NivelRow) { //DeleteNivelInDataBase(NivelRow) PersistencyHelper.DeleteIDXPreSaveArguments args = new PersistencyHelper.DeleteIDXPreSaveArguments(); args.ID = NivelRow.ID; DeleteInDataSet(NivelRow); // é possível que esta linha não seja já precisa uma vez que o cleandeleteddata seguinte irá limpar do DS de trabalho as linhas que já não existam PersistencyHelper.SaveResult saveSuccess = PersistencyHelper.save(new PersistencyHelper.preSaveDelegate(DeleteNivelXInDataBase), args); PersistencyHelper.cleanDeletedData(); return saveSuccess; }
private void btnSair_Click(object sender, System.EventArgs e) { // TODO: que fazer com o código? //GisaDataSetHelper.GetTrusteeDataAdapter().Update(GisaDataSetHelper.GetInstance().Trustee.Select("", "", DataViewRowState.Added Or DataViewRowState.ModifiedCurrent)) //GisaDataSetHelper.GetTrusteeUserDataAdapter().Update(GisaDataSetHelper.GetInstance().TrusteeUser.Select("", "", DataViewRowState.Added Or DataViewRowState.ModifiedCurrent)) //GisaDataSetHelper.GetUserGroupsDataAdapter().Update(GisaDataSetHelper.GetInstance().UserGroups.Select("", "", DataViewRowState.Added)) PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); this.Close(); }
protected override void EditTrustee() { if (lstVwTrustees.SelectedItems.Count == 0) return; GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { if (TrusteeRule.Current.hasUsers(((GISADataset.TrusteeRow)(lstVwTrustees.SelectedItems[0].Tag)).ID, ho.Connection)) MessageBox.Show("Tenha em conta que o Grupo de Utilizadores a editar já tem Utilizadores associados.", "Utilizador", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } ListViewItem item = null; GISADataset.TrusteeRow truRow = null; item = lstVwTrustees.SelectedItems[0]; truRow = (GISADataset.TrusteeRow)item.Tag; FormCreateTrustee form = new FormCreateTrustee(); form.Text = "Editar grupo de utilizadores"; form.txtTrusteeName.Text = truRow.Name; switch (form.ShowDialog()) { case DialogResult.OK: PersistencyHelper.EditTrusteePreConcArguments etpca = new PersistencyHelper.EditTrusteePreConcArguments(); etpca.truRow = truRow; etpca.username = form.txtTrusteeName.Text; Trace.WriteLine("A editar o grupo de utilizador..."); PersistencyHelper.save(editTrusteeIfUsernameDoesntExist, etpca); PersistencyHelper.cleanDeletedData(); if (! etpca.successful) { MessageBox.Show("Este nome já existe atribuído a um utilizador ou grupo, " + Environment.NewLine + "por favor escolha outro nome.", form.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); UpdateTrustees(null); } else UpdateTrustees(truRow); break; case DialogResult.Cancel: break; } }
public override PersistencyHelper.SaveResult Save(bool activateOpcaoCancelar) { var IDsToUpdate = GisaDataSetHelper.GetInstance().NivelUnidadeFisica.Cast <GISADataset.NivelUnidadeFisicaRow>().Where(r => r.RowState == DataRowState.Added || r.RowState == DataRowState.Modified).Select(r => r.ID.ToString()).ToList(); var res = PersistencyHelper.save(activateOpcaoCancelar); if (res == PersistencyHelper.SaveResult.successful) { GISA.Search.Updater.updateUnidadeFisica(IDsToUpdate); } return(res); }
public override PersistencyHelper.SaveResult Save(bool activateOpcaoCancelar) { var preTransactionAction = new PreTransactionAction(); var args = new PersistencyHelper.FedoraIngestPreTransactionArguments(); preTransactionAction.args = args; bool ingestSuccess = true; if (controlObjetoDigital1.disableSave) { return(PersistencyHelper.SaveResult.nothingToSave); } preTransactionAction.preTransactionDelegate = delegate(PersistencyHelper.PreTransactionArguments preTransactionArgs) { string msg = null; if (odHelper.currentODComp != null) { ingestSuccess = SessionHelper.AppConfiguration.GetCurrentAppconfiguration().FedoraHelperSingleton.Ingest(odHelper.currentODComp, out msg); } else { odHelper.currentODSimples.ForEach(odSimples => ingestSuccess &= SessionHelper.AppConfiguration.GetCurrentAppconfiguration().FedoraHelperSingleton.Ingest(odSimples, out msg)); } if (ingestSuccess) { odHelper.newObjects.Keys.ToList().ForEach(k => { k.pid = odHelper.newObjects[k].pid; }); } preTransactionArgs.cancelAction = !ingestSuccess; preTransactionArgs.message = msg; }; PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(preTransactionAction, activateOpcaoCancelar); if (successfulSave != PersistencyHelper.SaveResult.successful && !ingestSuccess) { MessageBox.Show("Ocorreu um erro na ingestão do objeto digital.", "Ingestão", MessageBoxButtons.OK, MessageBoxIcon.Warning); odHelper.newObjects.Clear(); odHelper.mContexto = ObjetoDigitalFedoraHelper.Contexto.nenhum; odHelper.currentODComp = null; odHelper.currentODSimples = null; } else if (successfulSave == PersistencyHelper.SaveResult.successful) { GISA.Search.Updater.updateNivelDocumental(odHelper.currentNivel.ID); } return(successfulSave); }
public override PersistencyHelper.SaveResult Save(bool activateOpcaoCancelar) { List <long> niveisIDs = new List <long>(); foreach (GISADataset.TrusteeNivelPrivilegeRow tnpRow in GisaDataSetHelper.GetInstance().TrusteeNivelPrivilege.Select("", "", DataViewRowState.Added | DataViewRowState.ModifiedOriginal)) { niveisIDs.Add(tnpRow.IDNivel); } PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(activateOpcaoCancelar); return(successfulSave); }
private void ExecuteFilter() { PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); if (successfulSave == PersistencyHelper.SaveResult.unsuccessful) { return; } if (TextFilterDesignacao == string.Empty) { filter.Clear(); GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { documentos = MovimentoRule.Current.GetDocumentos(CurrentMovimento.ID, GisaDataSetHelper.GetInstance(), ho.Connection); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } } else { filter.Clear(); GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { documentos = MovimentoRule.Current.GetDocumentos(CurrentMovimento.ID, TextFilterDesignacao, GisaDataSetHelper.GetInstance(), ho.Connection); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } } RepopulateDocumentosAssociados(); }
protected override void AddTrustee() { GISADataset.TrusteeRow truRow = null; GISADataset.TrusteeGroupRow grpRow = null; FormCreateTrustee form = new FormCreateTrustee(); form.Text = "Novo grupo de utilizadores"; switch (form.ShowDialog()) { case DialogResult.OK: truRow = GisaDataSetHelper.GetInstance().Trustee.NewTrusteeRow(); truRow.Name = form.txtTrusteeName.Text; truRow.Description = string.Empty; truRow.CatCode = "GRP"; truRow.BuiltInTrustee = false; truRow.IsActive = true; truRow.Versao = new byte[]{}; truRow.isDeleted = 0; grpRow = GisaDataSetHelper.GetInstance().TrusteeGroup.NewTrusteeGroupRow(); grpRow.Versao = new byte[]{}; grpRow.isDeleted = 0; grpRow.TrusteeRow = truRow; GisaDataSetHelper.GetInstance().Trustee.AddTrusteeRow(truRow); GisaDataSetHelper.GetInstance().TrusteeGroup.AddTrusteeGroupRow(grpRow); PersistencyHelper.CreateTrusteePreConcArguments ctpca = new PersistencyHelper.CreateTrusteePreConcArguments(); ctpca.truRowID = truRow.ID; ctpca.grpRowID = grpRow.ID; Trace.WriteLine("A criar o grupo de utilizador..."); PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(addTrusteeIfUsernameDoesntExist, ctpca); PersistencyHelper.cleanDeletedData(); if (! ctpca.successful) { MessageBox.Show("Este nome já existe atribuído a um utilizador ou grupo, " + Environment.NewLine + "por favor escolha outro nome.", form.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); UpdateTrustees(null); } else UpdateTrustees(truRow); break; case DialogResult.Cancel: break; } }
private void PersistDepositoChanges(FormHandleDeposito formHandleDeposito, bool editMode) { switch (formHandleDeposito.ShowDialog()) { case DialogResult.OK: ((frmMain)TopLevelControl).EnterWaitMode(); var depRow = default(GISADataset.DepositoRow); if (!editMode) { depRow = GisaDataSetHelper.GetInstance().Deposito.NewDepositoRow(); depRow.Designacao = formHandleDeposito.Designacao; depRow.MetrosLineares = System.Convert.ToDecimal(formHandleDeposito.Metragem); depRow.Versao = new byte[] { }; depRow.isDeleted = 0; GisaDataSetHelper.GetInstance().Deposito.AddDepositoRow(depRow); Trace.WriteLine("A criar depósito..."); } else { depRow = CurrentContext.Deposito; depRow.Designacao = formHandleDeposito.Designacao; depRow.MetrosLineares = System.Convert.ToDecimal(formHandleDeposito.Metragem); Trace.WriteLine("A editar depósito..."); } var saveResult = PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); if (saveResult == PersistencyHelper.SaveResult.successful) { depList.AddItem(depRow); } else { // ToDo: já existe um depósito com essa designação } ((frmMain)TopLevelControl).LeaveWaitMode(); break; case DialogResult.Cancel: break; } }
private void ClickTbEliminar() { // obter a row selecciona e apresentar uma messagebox a perguntar se o utilizador quer realmente apagar a requisição if (MessageBox.Show("Tem a certeza que deseja eliminar a " + this.NomeMovimento + " selecionada?", "Eliminação de " + this.NomeMovimento, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel) { return; } // Dúvida: deve ser permitido apagar requisições com documentos associados? ListViewItem movItem = null; GISADataset.MovimentoRow movRow = null; movItem = movList.SelectedItems[0]; movRow = (GISADataset.MovimentoRow)movItem.Tag; if (movRow.RowState == DataRowState.Detached) { movList.ClearItemSelection(movItem); } else { var args = new PersistencyHelper.DeleteMovimentoPreConcArguments(); args.CatCode = movRow.CatCode.Equals("REQ") ? "DEV" : "REQ"; args.IDMovimento = movRow.ID; movRow.Delete(); PersistencyHelper.save(DeleteMovimento, args); PersistencyHelper.cleanDeletedData(); if (!args.continueSave) { var message = movRow.CatCode.Equals("REQ") ? "Não é permitido eliminar requisições de documentos devolvidos posteriormente" : "Não é permitido eliminar devoluções com requisições posteriores (sem devolução) dos mesmos documentos"; MessageBox.Show(message, "Eliminar " + this.NomeMovimento, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } movItem.Remove(); UpdateToolBarButtons(); UpdateContext(); }
private void btnOk_Click(object sender, System.EventArgs e) { GISADataset.TrusteeUserRow lastTrusteeUserRowParent = SessionHelper.GetGisaPrincipal().TrusteeUserAuthor; if (ControloAutores1.SelectedAutor != null && ((GISADataset.TrusteeRow)ControloAutores1.SelectedAutor).GetTrusteeUserRows().Length > 0) { SessionHelper.GetGisaPrincipal().TrusteeUserAuthor = ((GISADataset.TrusteeRow)ControloAutores1.SelectedAutor).GetTrusteeUserRows()[0]; SessionHelper.GetGisaPrincipal().TrusteeUserOperator.TrusteeUserRowParent = SessionHelper.GetGisaPrincipal().TrusteeUserAuthor; } else { SessionHelper.GetGisaPrincipal().TrusteeUserAuthor = null; //DirectCast(ControloAutores1.cbAutor.Items(0), GISADataset.TrusteeRow) SessionHelper.GetGisaPrincipal().TrusteeUserOperator["IDTrusteeUserDefaultAuthority"] = DBNull.Value; } PersistencyHelper.SaveResult successfulSave = PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); SessionHelper.GetGisaPrincipal().TrusteeUserAuthor = SessionHelper.GetGisaPrincipal().TrusteeUserOperator.TrusteeUserRowParent; }
private void DeleteItems() { this.Cursor = Cursors.WaitCursor; if (((DataRow)(lvMembers.SelectedItems[0].Tag)).RowState == DataRowState.Detached) { ListViewItem item = lvMembers.SelectedItems[0]; lvMembers.SelectedItems.Clear(); lvMembers.Items.Remove(item); } else { GUIHelper.GUIHelper.deleteSelectedLstVwItems(lvMembers); PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); } MultiPanel.Recontextualize(); this.Cursor = Cursors.Default; }
private void SaveLastTimeStamp() { var ts = GisaDataSetHelper.GetInstance().Integ_Config.Cast <GISADataset.Integ_ConfigRow>().SingleOrDefault(); if (ts == null) { var newRow = GisaDataSetHelper.GetInstance().Integ_Config.NewInteg_ConfigRow(); newRow.ID = 1; newRow.LastTimeStamp = lastTimeStamp; newRow.Versao = new byte[] { }; newRow.isDeleted = 0; GisaDataSetHelper.GetInstance().Integ_Config.AddInteg_ConfigRow(newRow); } else { ts.LastTimeStamp = lastTimeStamp; } PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); }
private void cbTipoUser_SelectedIndexChanged(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; if ((TipoUser)Enum.Parse(typeof(TipoUser), cbTipoUser.SelectedIndex.ToString()) == TipoUser.AcessoTudo && mTipoUser != TipoUser.AcessoTudo) { mTipoUser = TipoUser.AcessoTudo; GISADataset.UserGroupsRow[] ugAcessoPublicados = (GISADataset.UserGroupsRow[])GisaDataSetHelper.GetInstance().UserGroups.Select(string.Format("IDUser={0} AND IDGroup={1}", CurrentTrusteeRow.ID, PermissoesHelper.GrpAcessoPublicados.ID)); Debug.Assert(ugAcessoPublicados.Length > 0); ugAcessoPublicados[0].Delete(); GISADataset.UserGroupsRow ugAcessoCompleto = GisaDataSetHelper.GetInstance().UserGroups.NewUserGroupsRow(); ugAcessoCompleto.IDUser = CurrentTrusteeRow.ID; ugAcessoCompleto.IDGroup = PermissoesHelper.GrpAcessoCompleto.ID; GisaDataSetHelper.GetInstance().UserGroups.AddUserGroupsRow(ugAcessoCompleto); } else if ((TipoUser)Enum.Parse(typeof(TipoUser), cbTipoUser.SelectedIndex.ToString()) == TipoUser.AcessoInfoPub && mTipoUser != TipoUser.AcessoInfoPub) { mTipoUser = TipoUser.AcessoInfoPub; GISADataset.UserGroupsRow[] ugAcessoCompleto = (GISADataset.UserGroupsRow[])GisaDataSetHelper.GetInstance().UserGroups.Select(string.Format("IDUser={0} AND IDGroup={1}", CurrentTrusteeRow.ID, PermissoesHelper.GrpAcessoCompleto.ID)); Debug.Assert(ugAcessoCompleto.Length > 0); ugAcessoCompleto[0].Delete(); GISADataset.UserGroupsRow ugAcessoPublicados = GisaDataSetHelper.GetInstance().UserGroups.NewUserGroupsRow(); ugAcessoPublicados.IDUser = CurrentTrusteeRow.ID; ugAcessoPublicados.IDGroup = PermissoesHelper.GrpAcessoPublicados.ID; GisaDataSetHelper.GetInstance().UserGroups.AddUserGroupsRow(ugAcessoPublicados); } GUIHelper.GUIHelper.deleteSelectedLstVwItems(lvMembers); PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); GUIHelper.GUIHelper.clearField(lvMembers); base.EnumerateMembership(CurrentTrusteeRow); this.Cursor = Cursors.Default; }
private void ClickTbCriar() { FormMovimento frm = new FormMovimento(); frm.LoadData(); frm.CurrentMovimento = null; frm.Text = "Criar nova " + this.NomeMovimento; if (frm.ShowDialog() == DialogResult.OK) { // ler os valores do form e gravá-los GISADataset.MovimentoRow newReqRow = GisaDataSetHelper.GetInstance().Movimento.NewMovimentoRow(); newReqRow.CatCode = this.CatCode; newReqRow.MovimentoEntidadeRow = frm.Entidade; newReqRow.Data = frm.Data; newReqRow.Versao = new byte[] { }; GisaDataSetHelper.GetInstance().Movimento.AddMovimentoRow(newReqRow); PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); movList.ReloadList(newReqRow); } }
private void DeleteRelacao(ListView lstVw) { var IDNivel = new List <string>(); var IDControloAut = new List <string>(); var frdRow = default(GISADataset.FRDBaseRow); long IDTipoNivelRelacionado = -1; foreach (ListViewItem item in lstVw.SelectedItems) { if (item.Tag.GetType() == typeof(GISADataset.ControloAutRelRow)) { var carRow = (GISADataset.ControloAutRelRow)item.Tag; IDControloAut.Add(carRow.IDControloAut.ToString()); IDControloAut.Add(carRow.IDControloAutAlias.ToString()); } else { var rhRow = (GISADataset.RelacaoHierarquicaRow)item.Tag; IDControloAut.Add(rhRow.NivelRowByNivelRelacaoHierarquica.GetNivelControloAutRows()[0].IDControloAut.ToString()); IDControloAut.Add(rhRow.NivelRowByNivelRelacaoHierarquicaUpper.GetNivelControloAutRows()[0].IDControloAut.ToString()); IDNivel.Add(rhRow.ID.ToString()); frdRow = rhRow.NivelRowByNivelRelacaoHierarquica.GetFRDBaseRows().Single(); IDTipoNivelRelacionado = rhRow.IDTipoNivelRelacionado; } } GUIHelper.GUIHelper.deleteSelectedLstVwItems(lstVw); var postSaveAction = new PostSaveAction(); PersistencyHelper.UpdatePermissionsPostSaveArguments args = new PersistencyHelper.UpdatePermissionsPostSaveArguments(); postSaveAction.args = args; postSaveAction.postSaveDelegate = delegate(PersistencyHelper.PostSaveArguments postSaveArgs) { if (!postSaveArgs.cancelAction) { // registar eliminação ((frmMain)TopLevelControl).CurrentContext.RaiseRegisterModificationEvent(CurrentControloAut); var caRegRow = GisaDataSetHelper.GetInstance().ControloAutDataDeDescricao.Cast <GISADataset.ControloAutDataDeDescricaoRow>().Single(r => r.RowState == DataRowState.Added); PersistencyHelperRule.Current.saveRows(GisaDataSetHelper.GetInstance().ControloAutDataDeDescricao, GisaDataSetHelper.GetInstance().ControloAutDataDeDescricao.Cast <GISADataset.ControloAutDataDeDescricaoRow>().Where(r => r.RowState == DataRowState.Added).ToArray(), postSaveArgs.tran); if (frdRow != null) { var nvlRegRow = RecordRegisterHelper .CreateFRDBaseDataDeDescricaoRow(frdRow, caRegRow.TrusteeUserRowByTrusteeUserControloAutDataDeDescricao, caRegRow.TrusteeUserRowByTrusteeUserControloAutDataDeDescricaoAuthority, caRegRow.DataAutoria); nvlRegRow.DataEdicao = caRegRow.DataEdicao; nvlRegRow.IDTipoNivelRelacionado = IDTipoNivelRelacionado; GisaDataSetHelper.GetInstance().FRDBaseDataDeDescricao.AddFRDBaseDataDeDescricaoRow(nvlRegRow); PersistencyHelperRule.Current.saveRows(GisaDataSetHelper.GetInstance().FRDBaseDataDeDescricao, GisaDataSetHelper.GetInstance().FRDBaseDataDeDescricao.Cast <GISADataset.FRDBaseDataDeDescricaoRow>().Where(r => r.RowState == DataRowState.Added).ToArray(), postSaveArgs.tran); } } }; var successfulSave = PersistencyHelper.save(postSaveAction); PersistencyHelper.cleanDeletedData(); if (successfulSave == PersistencyHelper.SaveResult.successful) { GISA.Search.Updater.updateProdutor(IDControloAut); GISA.Search.Updater.updateNivelDocumentalComProdutores(IDNivel); } }
public override void ModelToView() { IsPopulated = false; lstVwRelacoes.Items.Clear(); // Apresentar relações não hierarquicas string carId = CurrentControloAut.ID.ToString(); QueryFilter = "IDControloAut=" + carId + " OR IDControloAutAlias=" + carId; foreach (GISADataset.ControloAutRelRow caRel in GisaDataSetHelper.GetInstance().ControloAutRel.Select(QueryFilter, "InicioAno, InicioMes, InicioDia, FimAno, FimMes, FimDia")) { if (caRel.TipoControloAutRelRow.ID != Convert.ToInt64(TipoControloAutRel.Instituicao)) //System.Enum.Format(GetType(TipoControloAutRel), TipoControloAutRel.Instituicao, "D") Then { GISADataset.ControloAutRow OtherControloAut = null; if (caRel.ControloAutRowByControloAutControloAutRelAlias.ID != CurrentControloAut.ID) { OtherControloAut = caRel.ControloAutRowByControloAutControloAutRelAlias; } else { OtherControloAut = caRel.ControloAutRowByControloAutControloAutRel; } foreach (GISADataset.ControloAutDicionarioRow cad in OtherControloAut.GetControloAutDicionarioRows()) { if (cad.IDTipoControloAutForma == Convert.ToInt64(TipoControloAutForma.FormaAutorizada)) { ListViewItem tempWith1 = lstVwRelacoes.Items.Add(cad.DicionarioRow.Termo); tempWith1.Tag = caRel; if (cad.ControloAutRow.IsChaveColectividadeNull()) { tempWith1.SubItems.Add(string.Empty); } else { tempWith1.SubItems.Add(cad.ControloAutRow.ChaveColectividade); } string rezDesTipoRel = null; if (caRel.ControloAutRowByControloAutControloAutRelAlias.ID != CurrentControloAut.ID) { rezDesTipoRel = caRel.TipoControloAutRelRow.DesignacaoInversa; } else { rezDesTipoRel = caRel.TipoControloAutRelRow.Designacao; } tempWith1.SubItems.Add(rezDesTipoRel); tempWith1.SubItems.Add(GUIHelper.GUIHelper.FormatStartDate(caRel)); tempWith1.SubItems.Add(GUIHelper.GUIHelper.FormatEndDate(caRel)); tempWith1.SubItems.Add(GUIHelper.GUIHelper.ClipText(caRel.Descricao)); } } } } // Apresentar relações hierarquicas GISADataset.NivelRow nRow = null; GISADataset.NivelControloAutRow[] ncaRows = null; GISADataset.NivelControloAutRow ncaRow = null; ncaRows = CurrentControloAut.GetNivelControloAutRows(); if (ncaRows.Length == 0) { MasterPanelControloAut.CreateAssociatedNivel(CurrentControloAut, ref nRow, ref ncaRow); try { PersistencyHelper.save(); PersistencyHelper.cleanDeletedData(); } catch (Exception ex) { Trace.WriteLine(ex); throw; } } else { ncaRow = ncaRows[0]; nRow = ncaRow.NivelRow; } foreach (GISADataset.RelacaoHierarquicaRow rhRow in GisaDataSetHelper.GetInstance().RelacaoHierarquica.Select(string.Format("ID={0} OR IDUpper={0}", nRow.ID), "InicioAno, InicioMes, InicioDia, FimAno, FimMes, FimDia")) { // Só adicionar relações hierárquicas existentes entre níveis estruturais. Este teste não seria suficiente no caso de existirem níveis estruturais orgânicos relacionados com níveis estruturais temático-funcionais, mas tal não poderá acontecer em qualquer situação. if (rhRow.NivelRowByNivelRelacaoHierarquica.TipoNivelRow.ID == TipoNivel.ESTRUTURAL && rhRow.NivelRowByNivelRelacaoHierarquicaUpper.TipoNivelRow.ID == TipoNivel.ESTRUTURAL) { GISADataset.ControloAutRow caRow = null; caRow = rhRow.NivelRowByNivelRelacaoHierarquica.GetNivelControloAutRows()[0].ControloAutRow; // Se estivermos a ver o extremo errado da relação hierarquica trocamos para o outro extremo if (CurrentControloAut == caRow) { caRow = rhRow.NivelRowByNivelRelacaoHierarquicaUpper.GetNivelControloAutRows()[0].ControloAutRow; } GISADataset.ControloAutDicionarioRow cadRow = null; cadRow = ControloAutHelper.getFormaAutorizada(caRow); ListViewItem newItem = lstVwRelacoes.Items.Add(cadRow.DicionarioRow.Termo); newItem.Tag = rhRow; AddRelacaoHierarquicaToList(newItem); } } RefreshButtonState(); PopulateDescricaoText(); IsPopulated = true; }
public PersistencyHelper.SaveResult Save(PostSaveAction postSaveAction, bool activateOpcaoCancelar) { return(PersistencyHelper.save(postSaveAction, activateOpcaoCancelar)); }
protected override void AcceptContents(object Value) { GISADataset.ControloAutRow ControloAutRow = (GISADataset.ControloAutRow)Value; if (FRDBase != null) { // Carregar nivel do CA largado IDbConnection conn = GisaDataSetHelper.GetConnection(); try { conn.Open(); DBAbstractDataLayer.DataAccessRules.NivelRule.Current.LoadNivelByControloAut(ControloAutRow.ID, GisaDataSetHelper.GetInstance(), conn); } finally { conn.Close(); } if (IsValidRelacaoHierarquica(ControloAutRow)) { // Apresentar form que permita escolher a data da relação FormRelacaoHierarquica frmRh = new FormRelacaoHierarquica(); // Pode-se obter a primeira relação encontrada para efeitos de determinação // do tipo de nível uma vez que o tipo de nível dos níveis documentais nunca se alterará frmRh.relacaoNvl.TipoNivelRelacionadoRow = TipoNivelRelacionado.GetPrimeiraRelacaoEncontrada(this.FRDBase.NivelRow).TipoNivelRelacionadoRow; frmRh.relacaoNvl.ContextNivelRow = ControloAutRow.GetNivelControloAutRows()[0].NivelRow; if (frmRh.ShowDialog() == DialogResult.Cancel) { return; } if (GisaDataSetHelper.GetInstance().RelacaoHierarquica.Select(string.Format("ID={0} AND IDUpper={1}", this.FRDBase.NivelRow.ID, ControloAutRow.GetNivelControloAutRows()[0].NivelRow.ID), "", DataViewRowState.Deleted).Length > 0) { GisaDataSetHelper.GetInstance().RelacaoHierarquica.Select(string.Format("ID={0} AND IDUpper={1}", this.FRDBase.NivelRow.ID, ControloAutRow.GetNivelControloAutRows()[0].NivelRow.ID), "", DataViewRowState.Deleted)[0].AcceptChanges(); } GISADataset.RelacaoHierarquicaRow rhRow = null; rhRow = GisaDataSetHelper.GetInstance().RelacaoHierarquica.NewRelacaoHierarquicaRow(); TempRelacaoHierarquica = rhRow; rhRow.ID = this.FRDBase.NivelRow.ID; rhRow.IDUpper = ControloAutRow.GetNivelControloAutRows()[0].NivelRow.ID; rhRow.IDTipoNivelRelacionado = TipoNivelRelacionado.GetTipoNivelRelacionadoDaPrimeiraRelacaoEncontrada(this.FRDBase.NivelRow).ID; rhRow.Descricao = frmRh.relacaoNvl.txtDescricao.Text; rhRow.InicioAno = frmRh.relacaoNvl.dtRelacaoInicio.ValueYear; rhRow.InicioMes = frmRh.relacaoNvl.dtRelacaoInicio.ValueMonth; rhRow.InicioDia = frmRh.relacaoNvl.dtRelacaoInicio.ValueDay; rhRow.FimAno = frmRh.relacaoNvl.dtRelacaoFim.ValueYear; rhRow.FimMes = frmRh.relacaoNvl.dtRelacaoFim.ValueMonth; rhRow.FimDia = frmRh.relacaoNvl.dtRelacaoFim.ValueDay; GisaDataSetHelper.GetInstance().RelacaoHierarquica.AddRelacaoHierarquicaRow(rhRow); // no caso de se tratar de uma entidade produtora é necessário validar o código de referência do nivel documental do contexto if (ControloAutRow.IDTipoNoticiaAut == (long)TipoNoticiaAut.EntidadeProdutora) { var argsPC = new PersistencyHelper.EnsureUniqueCodigoNivelPreConcArguments(); argsPC.rhRowID = rhRow.ID; argsPC.rhRowIDUpper = rhRow.IDUpper; var postSaveAction = new PostSaveAction(); PersistencyHelper.UpdatePermissionsPostSaveArguments args = new PersistencyHelper.UpdatePermissionsPostSaveArguments(); postSaveAction.args = args; postSaveAction.postSaveDelegate = delegate(PersistencyHelper.PostSaveArguments postSaveArgs) { if (argsPC.successful) { if (this.parent == null) Debug.Assert(false, "CONTEXTO PARENT DEVE ESTAR DEFINIDO."); if (this.parent.GetType() == typeof(MasterPanelSeries)) { ((MasterPanelSeries)this.parent).CurrentContext.RaiseRegisterModificationEvent(this.FRDBase); PersistencyHelperRule.Current.saveRows(GisaDataSetHelper.GetInstance().FRDBaseDataDeDescricao, GisaDataSetHelper.GetInstance().FRDBaseDataDeDescricao.Cast<GISADataset.FRDBaseDataDeDescricaoRow>().Where(r => r.RowState == DataRowState.Added).ToArray(), postSaveArgs.tran); } } }; var result = PersistencyHelper.save(DelegatesHelper.verificaCodigosRepetidos, argsPC, postSaveAction, true); if (result == PersistencyHelper.SaveResult.successful) { PersistencyHelper.cleanDeletedData(); GisaDataSetHelper.VisitControloAutDicionario(ControloAutRow, DisplayFormaAutorizada); GISA.Search.Updater.updateNivelDocumental(this.FRDBase.NivelRow.ID); } else { if (argsPC.message.Length > 0) MessageBox.Show(argsPC.message, "Adição", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } else { MessageBox.Show("Não é possível a existência de items repetidos.", "Adição", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (this.ControloAut != null) { Debug.Assert(false, "ORGANIC RELATIONS BETWEEN CAS NOT IMPLEMENTED. SHOULDN'T BE NEEDED"); } }
public override PersistencyHelper.SaveResult Save(bool activateOpcaoCancelar) { return PersistencyHelper.save(activateOpcaoCancelar); }
protected override void AddTrustee() { GISADataset.TrusteeRow truRow = null; GISADataset.TrusteeUserRow usrRow = null; FormCreateTrustee form = new FormCreateTrustee(); form.Text = "Novo utilizador"; switch (form.ShowDialog()) { case DialogResult.OK: ((frmMain)TopLevelControl).EnterWaitMode(); truRow = GisaDataSetHelper.GetInstance().Trustee.NewTrusteeRow(); truRow.Name = form.txtTrusteeName.Text; truRow.Description = string.Empty; truRow.CatCode = "USR"; truRow.BuiltInTrustee = false; truRow.IsActive = true; truRow.Versao = new byte[]{}; truRow.isDeleted = 0; usrRow = GisaDataSetHelper.GetInstance().TrusteeUser.NewTrusteeUserRow(); usrRow.Password = ""; usrRow.FullName = ""; usrRow.IsAuthority = false; usrRow["IDTrusteeUserDefaultAuthority"] = DBNull.Value; usrRow.Versao = new byte[]{}; usrRow.isDeleted = 0; usrRow.TrusteeRow = truRow; // selecionar o grupo "TODOS" GISADataset.TrusteeGroupRow tgRow = (GISADataset.TrusteeGroupRow)(((GISADataset.TrusteeRow)(GisaDataSetHelper.GetInstance().Trustee.Select("Name='ACESSO_COMPLETO'")[0])).GetTrusteeGroupRows()[0]); // incluir o novo utilizador no grupo "TODOS" por omissão GisaDataSetHelper.GetInstance().Trustee.AddTrusteeRow(truRow); GisaDataSetHelper.GetInstance().TrusteeUser.AddTrusteeUserRow(usrRow); GisaDataSetHelper.GetInstance().UserGroups.AddUserGroupsRow(usrRow, tgRow, new byte[]{}, 0); PersistencyHelper.CreateTrusteePreConcArguments ctpca = new PersistencyHelper.CreateTrusteePreConcArguments(); ctpca.truRowID = truRow.ID; ctpca.usrRowID = usrRow.ID; Trace.WriteLine("A criar utilizador..."); PersistencyHelper.save(AddTrusteeIfUsernameDoesntExist, ctpca); PersistencyHelper.cleanDeletedData(); if (! ctpca.successful) { MessageBox.Show("Este nome já existe atribuído a um utilizador ou grupo, " + Environment.NewLine + "por favor escolha outro nome.", form.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); UpdateTrustees(null); } else { // actualizar interface UpdateTrustees(truRow); } ((frmMain)TopLevelControl).LeaveWaitMode(); break; case DialogResult.Cancel: break; } }