//Upsert(Add and Update) SecurityGroup to the SystemUserSecurity table... public void AddAllSystemUserSecurities(string systemUserID, string companyID) { //remove them all then we will add them all... RemoveAllSystemUserSecurities(systemUserID, companyID); //declare a different context as to not disturb the repostitory context that is tracking SystemUsers SystemUserEntities context = new SystemUserEntities(_rootUri); //get Security Groups... context.MergeOption = MergeOption.AppendOnly; context.IgnoreResourceNotFoundException = true; var queryResult = from q in context.SecurityGroups where q.CompanyID == companyID select q; foreach (SecurityGroup item in queryResult.ToList()) { SystemUserSecurity systemUserSecurity = new SystemUserSecurity(); systemUserSecurity.CompanyID = companyID; systemUserSecurity.SystemUserID = systemUserID; systemUserSecurity.SecurityGroupID = item.SecurityGroupID; context.MergeOption = MergeOption.NoTracking; context.AddToSystemUserSecurities(systemUserSecurity); context.SaveChanges(); } context = null; }
public static List <Temp> GetMetaData(this SystemUserSecurity entityObject) { XERP.Server.DAL.LogInDAL.DALUtility dalUtility = new DALUtility(); List <Temp> tempList = new List <Temp>(); int id = 0; using (LogInEntities ctx = new LogInEntities(dalUtility.EntityConectionString)) { var c = ctx.SystemUserSecurities.FirstOrDefault(); var queryResults = from meta in ctx.MetadataWorkspace.GetItems(DataSpace.CSpace) .Where(m => m.BuiltInTypeKind == BuiltInTypeKind.EntityType) from query in (meta as EntityType).Properties .Where(p => p.DeclaringType.Name == entityObject.GetType().Name && p.TypeUsage.EdmType.Name == "String") select query; if (queryResults.Count() > 0) { foreach (var queryResult in queryResults.ToList()) { Temp temp = new Temp(); temp.ID = id; temp.Name = queryResult.Name.ToString(); temp.Int_1 = Convert.ToInt32(queryResult.TypeUsage.Facets["MaxLength"].Value); temp.Bool_1 = false; //we use this as a error trigger false = not an error... tempList.Add(temp); id++; } } } return(tempList); }
//Upsert(Add and Update) SecurityGroup to the UserSecurity table... public void AddSystemUserSecurity(string systemUserID, string securityGroupID, string companyID) {//declare a different context as to not disturb the repostitory context that is tracking SystemUsers SystemUserEntities context = new SystemUserEntities(_rootUri); //make sure it does not exist all ready... context.MergeOption = MergeOption.AppendOnly; context.IgnoreResourceNotFoundException = true; var queryResult = from q in context.SystemUserSecurities where q.CompanyID == companyID && q.SystemUserID == systemUserID && q.SecurityGroupID == securityGroupID select q; if (queryResult.ToList().Count() == 0) {//it does not exist add it... SystemUserSecurity systemUserSecurity = new SystemUserSecurity(); systemUserSecurity.CompanyID = companyID; systemUserSecurity.SystemUserID = systemUserID; systemUserSecurity.SecurityGroupID = securityGroupID; context.MergeOption = MergeOption.NoTracking; context.AddToSystemUserSecurities(systemUserSecurity); context.SaveChanges(); } context = null; }
public IQueryable <Temp> GetMetaData(string tableName) { switch (tableName) { case "SystemUsers": SystemUser systemUser = new SystemUser(); return(systemUser.GetMetaData().AsQueryable()); case "SystemUsersTypes": SystemUserType systemUserTypes = new SystemUserType(); return(systemUserTypes.GetMetaData().AsQueryable()); case "SystemUserCodes": SystemUserCode systemUserCode = new SystemUserCode(); return(systemUserCode.GetMetaData().AsQueryable()); case "SystemUserSecurities": SystemUserSecurity systemUserSecurity = new SystemUserSecurity(); return(systemUserSecurity.GetMetaData().AsQueryable()); case "SecurityGroups": SecurityGroup securityGroup = new SecurityGroup(); return(securityGroup.GetMetaData().AsQueryable()); default: //no table exists for the given tablename given... List <Temp> tempList = new List <Temp>(); Temp temp = new Temp(); temp.ID = 0; temp.Int_1 = 0; temp.Bool_1 = true; //bool_1 will flag it as an error... temp.Name = "Error"; temp.ShortChar_1 = "Table " + tableName + " Is Not A Valid Table Within The Given Entity Collection, Or Meta Data Is Not Publc For The Given Table Name"; tempList.Add(temp); return(tempList.AsQueryable()); } }