private void UpdateControlsState(GISADataset.TrusteeUserRow tuRow)
		{
			IDbConnection conn = GisaDataSetHelper.GetConnection();
			try
			{
				conn.Open();
				// se o utilizar estiver já a ser utilizado em alguma 
				// descrição é necessário impedir que seja editado ou removido
				if (tuRow == null || TrusteeRule.Current.IsUserInUse(tuRow.ID, conn))
				{
					txtNome.Enabled = false;
					txtNomeCompleto.Enabled = false;
					ToolBarButtonDeleteUser.Enabled = false;
				}
				else
				{
					txtNome.Enabled = true;
					txtNomeCompleto.Enabled = true;
					ToolBarButtonDeleteUser.Enabled = true;
				}
			}
			finally
			{
				conn.Close();
			}
		}
		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;
		}
Ejemplo n.º 3
0
        public override void ViewToModel()
        {
            IsPopulated = false;
            if (CurrentTrusteeRow == null || CurrentTrusteeRow.RowState == DataRowState.Detached || !IsLoaded)
            {
                return;
            }

            base.ViewToModel();
            if (CurrentTrusteeRow.GetTrusteeUserRows().Length > 0)
            {
                // LDAP
                GISADataset.TrusteeUserRow turow = CurrentTrusteeRow.GetTrusteeUserRows()[0];
                turow.IsLDAPUser = chkLDAP.Checked;

                CurrentTrusteeRow.GetTrusteeUserRows()[0].FullName = txtFullName.Text;
                if (!(txtPassword.Text.Equals(mOriginalPasswd)) && !(txtPassword.Text.Length == 0))
                {
                    CurrentTrusteeRow.GetTrusteeUserRows()[0].Password = CryptographyHelper.GetMD5(txtPassword.Text);
                }
                CurrentTrusteeRow.GetTrusteeUserRows()[0].IsAuthority = chkAuthority.Checked;
            }
            CurrentTrusteeRow.IsActive = chkActive.Checked;

            IsPopulated = true;
        }
		private void PopulateTrusteeUsersDetails()
		{
			GISADataset.TrusteeUserRow tuRow = null;
			if (lstUsers.SelectedItems.Count > 0)
			{
				tuRow = (GISADataset.TrusteeUserRow)(lstUsers.SelectedItems[0].Tag);
			}
			clearDetailsBindings();
			BindDetails(tuRow);
			UpdateControlsState(tuRow);
		}
Ejemplo n.º 5
0
        private void AddRegistration(GISADataset.ControloAutRow caRow, bool existsModifiedData)
        {
            GISADataset.TrusteeUserRow tuAuthor = GetSelectedAuthor();
            GISADataset.TrusteeUserRow tuOperator = SessionHelper.GetGisaPrincipal().TrusteeUserOperator;
            DateTime data;
            if (PanelCAControlo1 != null)
                data = PanelCAControlo1.ControloRevisoes1.dtpRecolha.Value;
            else
                data = DateTime.Now;

            GISA.Model.RecordRegisterHelper.RegisterRecordModificationCA(caRow, existsModifiedData, tuOperator, tuAuthor, data);
        }
		public ListViewItem AddUserToList(GISADataset.TrusteeUserRow tuRow)
		{
			string tuFullName = string.Empty;
			if (! (tuRow["FullName"] == DBNull.Value))
			{
				tuFullName = tuRow.FullName;
			}
			ListViewItem item = new ListViewItem(tuFullName);
			item.SubItems.Add(TranslationHelper.FormatBoolean(tuRow.IsAuthority));
			item.Tag = tuRow;
			lstUsers.Items.Add(item);
			return item;
		}
Ejemplo n.º 7
0
        private GISADataset.TrusteeUserRow GetSelectedAuthor()
        {
            GISADataset.TrusteeUserRow tuAuthorRow = null;
            // pode não existir selecção, nesse caso a datarow encontrada foi uma "extra" adicionada e estará detached

            if (PanelCAControlo1 != null &&
                PanelCAControlo1.IsLoaded &&
                PanelCAControlo1.ControloRevisoes1.ControloAutores1.SelectedAutor != null &&
                !(((DataRow)PanelCAControlo1.ControloRevisoes1.ControloAutores1.SelectedAutor).RowState == DataRowState.Detached) &&
                ((GISADataset.TrusteeRow)(PanelCAControlo1.ControloRevisoes1.ControloAutores1.SelectedAutor)).GetTrusteeUserRows().Length > 0)

                tuAuthorRow = ((GISADataset.TrusteeRow)PanelCAControlo1.ControloRevisoes1.ControloAutores1.SelectedAutor).GetTrusteeUserRows()[0];
            else if (SessionHelper.GetGisaPrincipal().TrusteeUserAuthor != null && !(SessionHelper.GetGisaPrincipal().TrusteeUserAuthor.RowState == DataRowState.Detached))
                tuAuthorRow = SessionHelper.GetGisaPrincipal().TrusteeUserAuthor;

            return tuAuthorRow;
        }
Ejemplo n.º 8
0
        private void AddRegistration(GISADataset.FRDBaseRow frdBase, bool existsModifiedData)
        {
            GISADataset.TrusteeUserRow tuAuthor   = GetSelectedAuthor();
            GISADataset.TrusteeUserRow tuOperator = SessionHelper.GetGisaPrincipal().TrusteeUserOperator;
            DateTime data;

            if (PanelOIControloDescricao1 != null)
            {
                data = PanelOIControloDescricao1.ControloRevisoes1.dtpRecolha.Value;
            }
            else
            {
                data = DateTime.Now;
            }

            GISA.Model.RecordRegisterHelper.RegisterRecordModificationFRD(frdBase, existsModifiedData, tuOperator, tuAuthor, data);
        }
Ejemplo n.º 9
0
		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 BindDetails(GISADataset.TrusteeUserRow tuRow)
		{
			if (tuRow == null)
			{
				return;
			}

			if (tuRow.TrusteeRow["Name"] == DBNull.Value)
			{
				tuRow.TrusteeRow.Name = string.Empty;
			}

			if (tuRow["FullName"] == DBNull.Value)
			{
				tuRow.FullName = string.Empty;
			}

			txtNome.DataBindings.Add("Text", tuRow.TrusteeRow, "Name");
			txtNomeCompleto.DataBindings.Add("Text", tuRow, "FullName");
			chkAutoridade.DataBindings.Add("Checked", tuRow, "IsAuthority");
		}
Ejemplo n.º 11
0
		// Assume-se que anteriormente à criação do GisaPrincipal terá já de 
		// existir carregada a licença da aplicação
		public GisaPrincipal(GISADataset.TrusteeUserRow tuRow) : base(new GenericIdentity(tuRow.TrusteeRow.Name), new string[]{})
		{
			IDbConnection conn = GisaDataSetHelper.GetConnection();
			try
			{
				conn.Open();
				// Carregar os grupos a que este utilizador pertence
				TrusteeRule.Current.LoadGroups(GisaDataSetHelper.GetInstance(), tuRow.ID, conn);

				// Estabelecer qual é o utilizador actual. Ao faze-lo são automaticamente calculadas as suas permissões
				TrusteeUserOperator = tuRow;
				if (! TrusteeUserOperator.IsIDTrusteeUserDefaultAuthorityNull())
				{
					TrusteeUserAuthor = TrusteeUserOperator.TrusteeUserRowParent;
				}
			}
			finally
			{
				conn.Close();
			}
		}
Ejemplo n.º 12
0
		private void AddTrusteeIfUsernameDoesntExist(PersistencyHelper.PreConcArguments args)
		{
			PersistencyHelper.CreateTrusteePreConcArguments cetpca = null;
			cetpca = (PersistencyHelper.CreateTrusteePreConcArguments)args;
			GISADataset.TrusteeRow truRow = (GISADataset.TrusteeRow)(GisaDataSetHelper.GetInstance().Trustee.Select("ID=" + cetpca.truRowID.ToString())[0]);
			GISADataset.TrusteeUserRow usrRow = (GISADataset.TrusteeUserRow)(GisaDataSetHelper.GetInstance().TrusteeUser.Select("ID=" + cetpca.usrRowID.ToString())[0]);

			if (! (DBAbstractDataLayer.DataAccessRules.TrusteeRule.Current.isValidNewTrustee(truRow.Name, cetpca.tran)))
			{
				System.Data.DataSet tempgisaBackup1 = cetpca.gisaBackup;
				PersistencyHelper.BackupRow(ref tempgisaBackup1, usrRow);
					cetpca.gisaBackup = tempgisaBackup1;
				System.Data.DataSet tempgisaBackup2 = cetpca.gisaBackup;
				PersistencyHelper.BackupRow(ref tempgisaBackup2, truRow);
					cetpca.gisaBackup = tempgisaBackup2;
				usrRow.RejectChanges();
				truRow.RejectChanges();
				cetpca.successful = false;
			}
			else
				cetpca.successful = true;
		}
Ejemplo n.º 13
0
		private GISADataset.TrusteeUserRow LoadCurrentOperator(string username)
		{
			IDbConnection conn = GisaDataSetHelper.GetConnection();
			GISADataset.TrusteeRow[] tRowOperators = null;
			try
			{
				conn.Open();
				tRowOperators = (GISADataset.TrusteeRow[])(DBAbstractDataLayer.DataAccessRules.TrusteeRule.Current.LoadCurrentOperatorData(GisaDataSetHelper.GetInstance(), username, conn));
			}
			finally
			{
				conn.Close();
			}

			GISADataset.TrusteeUserRow tuRowOperator = null;

			if (tRowOperators.Length > 0)
			{
				tuRowOperator = tRowOperators[0].GetTrusteeUserRows()[0];
			}

			return tuRowOperator;
		}
Ejemplo n.º 14
0
        private void RepopulateNiveisAssociados()
        {
            lstVwNiveisAssoc.BeginUpdate();
            lstVwNiveisAssoc.Items.Clear();
            GISADataset.TrusteeUserRow cUser = SessionHelper.GetGisaPrincipal().TrusteeUserOperator;

            long[]    lUser = { System.Convert.ToInt64(cUser.ID) };
            ArrayList items = new ArrayList();

            GISADataset.SFRDUnidadeFisicaRow sfrdufRow = null;

            if ((filter.Count == 0) && (!filtered))
            {
                foreach (Int64 ID in ordem)
                {
                    sfrdufRow = (GISADataset.SFRDUnidadeFisicaRow)(GisaDataSetHelper.GetInstance().SFRDUnidadeFisica.Select(string.Format("IDNivel={0} AND IDFRDBase={1}", CurrentNivel.ID, ID))[0]);
                    if (((ArrayList)(detalhes[sfrdufRow.FRDBaseRow.IDNivel]))[9].ToString() == "1")
                    {
                        items.Add(PopulateAssociacao(sfrdufRow));
                    }
                }
            }
            else
            {
                foreach (Int64 ID in filter)
                {
                    sfrdufRow = (GISADataset.SFRDUnidadeFisicaRow)(GisaDataSetHelper.GetInstance().SFRDUnidadeFisica.Select(string.Format("IDNivel={0} AND IDFRDBase={1}", CurrentNivel.ID, ID))[0]);
                    if (((ArrayList)(detalhes[sfrdufRow.FRDBaseRow.IDNivel]))[9].ToString() == "1")
                    {
                        items.Add(PopulateAssociacao(sfrdufRow));
                    }
                }
            }

            lstVwNiveisAssoc.Items.AddRange((ListViewItem[])(items.ToArray(typeof(ListViewItem))));
            lstVwNiveisAssoc.EndUpdate();
        }
		private void ToolBarUsers_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
		{
			if (e.Button == ToolBarButtonCreateUser)
			{
				GISADataset.TrusteeUserRow tuRow = null;
				tuRow = CreateNewUser();
				ListViewItem item = null;
				item = AddUserToList(tuRow);
				item.Selected = true;
				txtNome.Focus();
				txtNome.SelectAll();
			}
			else if (e.Button == ToolBarButtonDeleteUser)
			{
				ListViewItem item = null;
				GISADataset.TrusteeUserRow truRow = null;
				item = lstUsers.SelectedItems[0];
				truRow = (GISADataset.TrusteeUserRow)item.Tag;

				clearDetailsBindings();
				MasterPanelTrustee.DeleteTrusteeAndRelatedRows(truRow.TrusteeRow);
				item.Remove();
			}
		}
Ejemplo n.º 16
0
        public override void ModelToView()
        {
            if (CurrentTrusteeRow == null || CurrentTrusteeRow.RowState == DataRowState.Detached || !IsLoaded)
            {
                return;
            }

            base.ModelToView();
            if (CurrentTrusteeRow.GetTrusteeUserRows().Length > 0)
            {
                GISADataset.TrusteeUserRow turow = CurrentTrusteeRow.GetTrusteeUserRows()[0];
                chkLDAP.Checked = turow.IsLDAPUser;

                DataRow[] ugAcessoCompleto =
                    GisaDataSetHelper.GetInstance().UserGroups.Select(string.Format("IDUser={0} AND IDGroup={1}", CurrentTrusteeRow.ID, PermissoesHelper.GrpAcessoCompleto.ID));

                DataRow[] ugAcessoPublicados =
                    GisaDataSetHelper.GetInstance().UserGroups.Select(string.Format("IDUser={0} AND IDGroup={1}", CurrentTrusteeRow.ID, PermissoesHelper.GrpAcessoPublicados.ID));

                Debug.Assert(!(ugAcessoCompleto.Length == 1 && ugAcessoPublicados.Length == 1), "O utilizador não pode pertencer aos grupos ACESSO_COMPLETO e ACESSO_PUBLICADOS ao mesmo tempo.");
                Debug.Assert(!(ugAcessoCompleto.Length == 0 && ugAcessoPublicados.Length == 0), "O utilizador tem de pertencer ao grupo ACESSO_COMPLETO ou ao grupo ACESSO_PUBLICADOS.");

                if (ugAcessoCompleto.Length > 0)
                {
                    mTipoUser = TipoUser.AcessoTudo;
                }
                else if (ugAcessoPublicados.Length > 0)
                {
                    mTipoUser = TipoUser.AcessoInfoPub;
                }

                cbTipoUser.SelectedIndex = (int)Enum.Parse(typeof(TipoUser), mTipoUser.ToString());

                this.cbTipoUser.SelectedIndexChanged += new System.EventHandler(this.cbTipoUser_SelectedIndexChanged);
            }
        }
Ejemplo n.º 17
0
        public static void RegisterRecordModificationFRD(GISADataset.FRDBaseRow CurrentFRDBase, bool existsModifiedDataFromRels, GISADataset.TrusteeUserRow tuOperator, GISADataset.TrusteeUserRow tuAuthor, DateTime data)
        {
            // só é registada uma nova entrada no controlo de descrição se alguma informação relativa à FRD
            // tiver sido modificada; é também possível que já tenha sido registado uma nova entrada no controlo mas
            // nesse caso não se adiciona outra
            if (CurrentFRDBase == null || CurrentFRDBase.RowState == DataRowState.Detached ||
                GisaDataSetHelper.GetInstance().FRDBaseDataDeDescricao.Select("IDFRDBase=" + CurrentFRDBase.ID.ToString(), "", DataViewRowState.Added).Length > 0)
            {
                return;
            }

            GISADataset.NivelUnidadeFisicaRow[] NivelUnidadeFisicaRows = new GISADataset.NivelUnidadeFisicaRow[] {};
            if (CurrentFRDBase.NivelRow.IDTipoNivel == TipoNivel.OUTRO)
            {
                NivelUnidadeFisicaRows = CurrentFRDBase.NivelRow.GetNivelDesignadoRows()[0].GetNivelUnidadeFisicaRows();
            }

            if (existsModifiedDataFromRels ||
                CurrentFRDBase.RowState != DataRowState.Unchanged ||
                Concorrencia.WasRecordModified(CurrentFRDBase) ||
                Concorrencia.WasRecordModified(CurrentFRDBase.NivelRow) ||
                (NivelUnidadeFisicaRows.Length > 0 && Concorrencia.isModifiedRow(NivelUnidadeFisicaRows[0])))
            {
                var dddRow = CreateFRDBaseDataDeDescricaoRow(CurrentFRDBase, tuOperator, tuAuthor, data);
                GisaDataSetHelper.GetInstance().FRDBaseDataDeDescricao.AddFRDBaseDataDeDescricaoRow(dddRow);
            }
        }
Ejemplo n.º 18
0
		private void btnAccept_Click(object sender, System.EventArgs e)
		{

			// A 1ª instancia demora sempre mais tempo, é necessário carregar uma série de dados
			this.Cursor = Cursors.WaitCursor;
			GISADataset ds = GisaDataSetHelper.GetInstance();
			this.Cursor = Cursors.Arrow;

			if (ds == null)
			{
				MessageBox.Show("A base de dados não se encontra disponível, por favor " + Environment.NewLine + "contacte o administrador de sistema.", "Acesso à base de dados", MessageBoxButtons.OK, MessageBoxIcon.Error);
				return;
			}

			frmMain main = null;
			try
			{
				string username = txtUser.Text.Replace("'", "''");
				string assemblyVersion = null;

                string modules = string.Empty;
                foreach(GISADataset.ModulesRow mRow in SessionHelper.AppConfiguration.GetCurrentAppconfiguration().Modules)
                {
                    modules += mRow.ID + ",";
                }
                modules = modules.TrimEnd(',');

                assemblyVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().FullName;
                
                // Validar utilizador
                TrusteeRule.IndexErrorMessages messageIndex = TrusteeRule.IndexErrorMessages.InvalidUser;

                // Carregar o utilizador 
				GISADataset.TrusteeUserRow tuRow = null;
				tuRow = LoadCurrentOperator(username);

                // LDAP Authentication
                string ldapServerName = SessionHelper.AppConfiguration.GetCurrentAppconfiguration().LDAPServerName;
                string ldapSettings = SessionHelper.AppConfiguration.GetCurrentAppconfiguration().LDAPServerSettings;

                if (ldapServerName != null && tuRow != null && tuRow.IsLDAPUser)
                {
                    LDAPHandler ldapH = new LDAPHandler(ldapServerName, ldapSettings, username, txtPassword.Text);
                    ldapH.ConnectToLDAP();

                    if (ldapH.IsLoggedIn)
                    {
                        messageIndex = 0;                        
                    }
                    else
                    {
                        messageIndex = TrusteeRule.IndexErrorMessages.InvalidUser;
                    }
                 
                }
                else
                {
                    messageIndex = Trustee.validateUser(username, CryptographyHelper.GetMD5(txtPassword.Text));
                }
				
				//verificar se ocorreu algum erro no processo de login
				if (messageIndex != 0)
				{
                    GUIHelper.GUIHelper.MessageBoxLoginErrorMessages(Convert.ToInt32(messageIndex));
					throw new LoginException();
				}
				
                // Adicionar o GisaPrincipal
                System.Threading.Thread.CurrentPrincipal = new GisaPrincipal(tuRow);
                                 
                if (SessionHelper.GetGisaPrincipal().TrusteePrivileges.Rows.Count == 0)
                {
                    GUIHelper.GUIHelper.MessageBoxLoginErrorMessages(Convert.ToInt32(DBAbstractDataLayer.DataAccessRules.TrusteeRule.IndexErrorMessages.UserWithoutPermissions));
                    throw new LoginException();
                }
                

				main = new frmMain(username);
			}
			catch (LoginException)
			{
				return;
			}
			catch (Exception ex)
			{
				Trace.WriteLine(ex);
				MessageBox.Show("Ocorreu um erro durante o processo de início da sessão, " + Environment.NewLine + "por favor contacte o administrador de sistema.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
				return;
			}
			this.Hide();
			main.ShowDialog();
			this.Close();
		}
Ejemplo n.º 19
0
        public static void RegisterRecordModificationCA(GISADataset.ControloAutRow CurrentControloAut, bool existsModifiedDataFromRels, GISADataset.TrusteeUserRow tuOperator, GISADataset.TrusteeUserRow tuAuthor, DateTime data)
        {
            // só é registada uma nova entrada no controlo de descrição se alguma informação relativa à FRD
            // tiver sido modificada; é também possível que já tenha sido registado uma nova entrada no controlo mas
            // nesse caso não se adiciona outra
            if (CurrentControloAut == null || CurrentControloAut.RowState == DataRowState.Detached ||
                GisaDataSetHelper.GetInstance().ControloAutDataDeDescricao.Select("IDControloAut=" + CurrentControloAut.ID.ToString(), "", DataViewRowState.Added).Length > 0)
            {
                return;
            }

            if (existsModifiedDataFromRels || Concorrencia.WasRecordModified(CurrentControloAut))
            {
                var cadddRow = CreateControlAutDataDeDescricaoRow(CurrentControloAut, tuOperator, tuAuthor, data);
                GisaDataSetHelper.GetInstance().ControloAutDataDeDescricao.AddControloAutDataDeDescricaoRow(cadddRow);
            }
        }
Ejemplo n.º 20
0
		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;
			}
		}
Ejemplo n.º 21
0
        public static GISADataset.FRDBaseDataDeDescricaoRow CreateFRDBaseDataDeDescricaoRow(GISADataset.FRDBaseRow CurrentFRDBase, GISADataset.TrusteeUserRow tuOperator, GISADataset.TrusteeUserRow tuAuthor, DateTime data, long IDTipoNivelRelacionado, bool isImportacao)
        {
            GISADataset.FRDBaseDataDeDescricaoRow dddRow = null;
            dddRow = GisaDataSetHelper.GetInstance().FRDBaseDataDeDescricao.NewFRDBaseDataDeDescricaoRow();
            if (CurrentFRDBase.ID <= 0)
            {
                throw new Exception(string.Format("Identificador negativo ({0}) no registo de frds!!", CurrentFRDBase.ID));
            }
            dddRow.IDFRDBase = CurrentFRDBase.ID;
            dddRow.TrusteeUserRowByTrusteeUserFRDBaseDataDeDescricao          = tuOperator;
            dddRow.TrusteeUserRowByTrusteeUserFRDBaseDataDeDescricaoAuthority = tuAuthor;
            dddRow.DataEdicao = GISA.Utils.GUIHelper.getTruncatedCurrentDate();
            if (data == DateTime.MinValue)
            {
                dddRow["DataAutoria"] = DBNull.Value;
            }
            else
            {
                dddRow.DataAutoria = data;
            }
            dddRow.IDTipoNivelRelacionado = IDTipoNivelRelacionado > 0 ? IDTipoNivelRelacionado : CurrentFRDBase.NivelRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].IDTipoNivelRelacionado;
            dddRow.Importacao             = isImportacao;
            dddRow.Versao    = new byte[] { };
            dddRow.isDeleted = 0;

            return(dddRow);
        }
Ejemplo n.º 22
0
 public static GISADataset.FRDBaseDataDeDescricaoRow CreateFRDBaseDataDeDescricaoRow(GISADataset.FRDBaseRow CurrentFRDBase, GISADataset.TrusteeUserRow tuOperator, GISADataset.TrusteeUserRow tuAuthor, DateTime data, bool isImportacao)
 {
     return(CreateFRDBaseDataDeDescricaoRow(CurrentFRDBase, tuOperator, tuAuthor, data, -1, isImportacao));
 }
Ejemplo n.º 23
0
 public static GISADataset.FRDBaseDataDeDescricaoRow CreateFRDBaseDataDeDescricaoRow(GISADataset.FRDBaseRow CurrentFRDBase, GISADataset.TrusteeUserRow tuOperator, GISADataset.TrusteeUserRow tuAuthor, DateTime data, long IDTipoNivelRelacionado)
 {
     return(CreateFRDBaseDataDeDescricaoRow(CurrentFRDBase, tuOperator, tuAuthor, data, IDTipoNivelRelacionado, false));
 }
Ejemplo n.º 24
0
 public static GISADataset.ControloAutDataDeDescricaoRow CreateControlAutDataDeDescricaoRow(GISADataset.ControloAutRow CurrentControloAut, GISADataset.TrusteeUserRow tuOperator, GISADataset.TrusteeUserRow tuAuthor, DateTime data)
 {
     return(CreateControlAutDataDeDescricaoRow(CurrentControloAut, tuOperator, tuAuthor, data, false));
 }
Ejemplo n.º 25
0
 public static GISADataset.ControloAutDataDeDescricaoRow CreateControlAutDataDeDescricaoRow(GISADataset.ControloAutRow CurrentControloAut, GISADataset.TrusteeUserRow tuOperator, GISADataset.TrusteeUserRow tuAuthor, DateTime data, bool isImportacao)
 {
     GISADataset.ControloAutDataDeDescricaoRow cadddRow = null;
     cadddRow = GisaDataSetHelper.GetInstance().ControloAutDataDeDescricao.NewControloAutDataDeDescricaoRow();
     cadddRow.IDControloAut = CurrentControloAut.ID;
     if (CurrentControloAut.ID <= 0)
     {
         throw new Exception(string.Format("Identificador negativo ({0}) no registo de cas!!", CurrentControloAut.ID));
     }
     cadddRow.TrusteeUserRowByTrusteeUserControloAutDataDeDescricao          = tuOperator;
     cadddRow.TrusteeUserRowByTrusteeUserControloAutDataDeDescricaoAuthority = tuAuthor;
     cadddRow.DataEdicao = GISA.Utils.GUIHelper.getTruncatedCurrentDate();
     if (data == DateTime.MinValue)
     {
         cadddRow["DataAutoria"] = DBNull.Value;
     }
     else
     {
         cadddRow.DataAutoria = data;
     }
     cadddRow.IDTipoNoticiaAut = CurrentControloAut.IDTipoNoticiaAut;
     cadddRow.Importacao       = isImportacao;
     cadddRow.Versao           = new byte[] { };
     cadddRow.isDeleted        = 0;
     return(cadddRow);
 }