Example #1
0
 partial void DeleteStaticSOD(StaticSOD instance);
Example #2
0
 partial void UpdateStaticSOD(StaticSOD instance);
Example #3
0
 partial void InsertStaticSOD(StaticSOD instance);
Example #4
0
		private void detach_StaticSOD1(StaticSOD entity)
		{
			this.SendPropertyChanging();
			entity.Role1 = null;
		}
Example #5
0
		private void attach_StaticSOD1(StaticSOD entity)
		{
			this.SendPropertyChanging();
			entity.Role1 = this;
		}
Example #6
0
        // StaticSOD and DynamicSOD are not fully implemented
        // (with paying no attention to Role Hierarchy relations)
        public static Program.ExitCode AddStaticSOD(Role r1, Role r2, rbacLINQ2SQLDataContext db)
        {
            // Check if roles exist
            var role1 = from r in db.Role
                        where r.Name == r1.Name && r.Policy_Id == r1.Policy_Id
                        select r;
            var role2 = from r in db.Role
                        where r.Name == r2.Name && r.Policy_Id == r2.Policy_Id
                        select r;
            if (role1.Count() == 1 || role2.Count() == 1)
            {
                StaticSOD ssod1 = new StaticSOD()
                {
                    Role_Id = role1.First().Id,
                    ExclusiveRole_Id = role2.First().Id,
                };

                StaticSOD ssod2 = new StaticSOD()
                {
                    Role_Id = role2.First().Id,
                    ExclusiveRole_Id = role1.First().Id,
                };

                // Check if SSOD exists:
                var query1 = from t in db.StaticSOD
                             where t.Role_Id == ssod1.Role_Id && t.ExclusiveRole_Id == ssod1.ExclusiveRole_Id
                             select t;
                var query2 = from t in db.StaticSOD
                             where t.Role_Id == ssod2.Role_Id && t.ExclusiveRole_Id == ssod2.ExclusiveRole_Id
                             select t;
                if (query1.Count() == 1 && query2.Count() == 1)
                {
                    return Program.ExitCode.ElementExists;
                }
                try
                {
                    if (query1.Count() != 1)
                        db.StaticSOD.InsertOnSubmit(ssod1);
                    if (query2.Count() != 1)
                        db.StaticSOD.InsertOnSubmit(ssod2);
                    db.SubmitChanges();
                    return Program.ExitCode.Success;
                }
                catch
                {
                    return Program.ExitCode.Error;
                }
            }
            else
            {
                return Program.ExitCode.ElementDoesNotExists;
            }
        }