private MobeelizerModelCredentialsDefinition ParseModelCredentials(XElement credential) { MobeelizerModelCredentialsDefinition credentialDef = new MobeelizerModelCredentialsDefinition(); credentialDef.CreateAllowed = (MobeelizerCredential)Enum.Parse(typeof(MobeelizerCredential), credential.Attribute(MobeelizerDefinitionTag.CREATE_ALLOWED_TAG).Value, true); credentialDef.ReadAllowed = (MobeelizerCredential)Enum.Parse(typeof(MobeelizerCredential), credential.Attribute(MobeelizerDefinitionTag.READ_ALLOWED_TAG).Value, true); credentialDef.UpdateAllowed = (MobeelizerCredential)Enum.Parse(typeof(MobeelizerCredential), credential.Attribute(MobeelizerDefinitionTag.UPDATE_ALLOWED_TAG).Value, true); credentialDef.Role = credential.Attribute(MobeelizerDefinitionTag.ROLE_TAG).Value; credentialDef.IsResolveConflictAllowed = Boolean.Parse(credential.Attribute(MobeelizerDefinitionTag.RESOLVE_CONFLICT_ALLOWED_TAG).Value); credentialDef.DeleteAllowed = (MobeelizerCredential)Enum.Parse(typeof(MobeelizerCredential), credential.Attribute(MobeelizerDefinitionTag.DELETE_ALLOWED_TAG).Value, true); return(credentialDef); }
internal IList <MobeelizerModel> Convert(MobeelizerApplicationDefinition definition, String entityPackage, String role) { CheckRole(definition, role); IList <MobeelizerModel> models = new List <MobeelizerModel>(); foreach (MobeelizerModelDefinition radModel in definition.Models) { MobeelizerModelCredentialsDefinition modelCredentials = HasAccess(radModel, role); if (modelCredentials == null) { continue; } Type type = null; if (entityPackage != null) { type = FindType(radModel, entityPackage); } else { throw new ConfigurationException("app.conig file have to include 'entitiesNamespace' definition."); } IList <MobeelizerField> fields = new List <MobeelizerField>(); foreach (MobeelizerModelFieldDefinition radField in radModel.Fields) { MobeelizerModelFieldCredentialsDefinition fieldCredentials = HasAccess(radField, role); if (fieldCredentials == null) { continue; } fields.Add(new MobeelizerField(type, radField, fieldCredentials)); } MobeelizerModel model = new MobeelizerModel(type, radModel.Name, modelCredentials, fields); models.Add(model); } return(models); }
private MobeelizerModelCredentialsDefinition ParseModelCredentials(XElement credential) { MobeelizerModelCredentialsDefinition credentialDef = new MobeelizerModelCredentialsDefinition(); credentialDef.CreateAllowed = (MobeelizerCredential)Enum.Parse(typeof(MobeelizerCredential), credential.Attribute(MobeelizerDefinitionTag.CREATE_ALLOWED_TAG).Value, true); credentialDef.ReadAllowed = (MobeelizerCredential)Enum.Parse(typeof(MobeelizerCredential), credential.Attribute(MobeelizerDefinitionTag.READ_ALLOWED_TAG).Value, true); credentialDef.UpdateAllowed = (MobeelizerCredential)Enum.Parse(typeof(MobeelizerCredential), credential.Attribute(MobeelizerDefinitionTag.UPDATE_ALLOWED_TAG).Value, true); credentialDef.Role = credential.Attribute(MobeelizerDefinitionTag.ROLE_TAG).Value; credentialDef.IsResolveConflictAllowed = Boolean.Parse(credential.Attribute(MobeelizerDefinitionTag.RESOLVE_CONFLICT_ALLOWED_TAG).Value); credentialDef.DeleteAllowed = (MobeelizerCredential)Enum.Parse(typeof(MobeelizerCredential), credential.Attribute(MobeelizerDefinitionTag.DELETE_ALLOWED_TAG).Value, true); return credentialDef; }