Example #1
0
        private void btn_rmPermission_Save_Click(object sender, EventArgs e)
        {
            Program.ExitCode status;

            if (cb_Action.Text == "" || cb_Object.Text == "")
            {
                MessageBox.Show(this,
                            "Выберите Операцию и Объект!",
                            "Warning",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
            //Создать PermissionPerObject:
            PermissionPerObject ppo = new PermissionPerObject
            {
                Action_Id = Convert.ToInt32(cb_Action.SelectedValue),
                Object_Id = Convert.ToInt32(cb_Object.SelectedValue),
                Permission_Id = Convert.ToInt32(cb_Permission.SelectedValue),
            };

            status = RBACManager.RmPermissionPerObject(ppo, mainForm.db);

            if (status == Program.ExitCode.Success)
            {
                MessageBox.Show(this,
                            "Permission c выбранными Action и Object успешно удален!",
                            "Success",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
                this.Close();
                return;
            }
            if (status == Program.ExitCode.Error)
            {
                MessageBox.Show(this,
                            "Error while submitting deletion to the DataBase",
                            "Error",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
                return;
            }
            if (status == Program.ExitCode.ElementDoesNotExists)
            {
                MessageBox.Show(this,
                            "Выбранной тройки Permission-Action-Object не существует!",
                            "Warning",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }
        }
Example #2
0
 partial void DeletePermissionPerObject(PermissionPerObject instance);
Example #3
0
 partial void UpdatePermissionPerObject(PermissionPerObject instance);
Example #4
0
 partial void InsertPermissionPerObject(PermissionPerObject instance);
Example #5
0
		private void detach_PermissionPerObject(PermissionPerObject entity)
		{
			this.SendPropertyChanging();
			entity.Action = null;
		}
Example #6
0
		private void attach_PermissionPerObject(PermissionPerObject entity)
		{
			this.SendPropertyChanging();
			entity.Permission = this;
		}
Example #7
0
        public static Program.ExitCode RmPermissionPerObject(PermissionPerObject ppo_in, rbacLINQ2SQLDataContext db)
        {
            var query_ppo = from ppo in db.PermissionPerObject
                            where ppo.Action_Id == ppo_in.Action_Id && ppo.Object_Id == ppo_in.Object_Id && ppo.Permission_Id == ppo_in.Permission_Id
                            select ppo;
            // if there's no such an element - return corresponding status:
            if (query_ppo.Count() == 0)
                return Program.ExitCode.ElementDoesNotExists;

            //Otherwise, delete from PermissionPerObject:
            db.PermissionPerObject.DeleteOnSubmit(query_ppo.First());
            try { db.SubmitChanges(); }
            catch (Exception exc) { return Program.ExitCode.Error; }

            // Check, if there's a PpO entity for the ppo.Permission_Id permission.
            query_ppo = from ppo in db.PermissionPerObject
                        where ppo.Permission_Id == ppo_in.Permission_Id
                        select ppo;
            // If not, delete this "empty" ppo.Permission_Id from Permission and from RolePermission
            // Otherwise, return success
            if (query_ppo.Count() != 0)
            {
                return Program.ExitCode.Success;
            }
            else
            {
                var query_p = from p in db.Permission
                              where p.Id == ppo_in.Permission_Id
                              select p;
                db.RolePermission.DeleteAllOnSubmit(query_p.First().RolePermission);
                db.Permission.DeleteOnSubmit(query_p.First());
                try { db.SubmitChanges(); }
                catch (Exception exc) { return Program.ExitCode.Error; }
            }

            return Program.ExitCode.Success;
        }