/// <summary> /// Update a ApplicationAttribute /// </summary> /// <param name="currentUser"></param> /// <param name="user"></param> /// <param name="appID"></param> /// <param name="overrideID"></param> /// <param name="code"></param> /// <param name="lockID"></param> /// <param name="dataRepository"></param> /// <param name="uow"></param> public void DeleteApplicationAttribute(string currentUser, string user, string appID, string overrideID, string code, string lockID, IRepository <ApplicationAttribute> dataRepository, IUnitOfWork uow) { try { #region Parameter validation // Validate parameters if (string.IsNullOrEmpty(currentUser)) { throw new ArgumentOutOfRangeException("currentUser"); } if (string.IsNullOrEmpty(user)) { throw new ArgumentOutOfRangeException("user"); } if (string.IsNullOrEmpty(appID)) { throw new ArgumentOutOfRangeException("appID"); } if (string.IsNullOrEmpty(code)) { throw new ArgumentOutOfRangeException("code"); } if (string.IsNullOrEmpty(lockID)) { throw new ArgumentOutOfRangeException("lockID"); } if (null == dataRepository) { throw new ArgumentOutOfRangeException("dataRepository"); } if (null == uow) { throw new ArgumentOutOfRangeException("uow"); } #endregion using (uow) { // Convert string to guid Guid codeGuid = Guid.Parse(code); // Find item based on ID ApplicationAttribute dataEntity = dataRepository.Single(x => x.Code == codeGuid); // Delete the item dataRepository.Delete(dataEntity); // Commit unit of work uow.Commit(); } } catch (Exception e) { //Prevent exception from propogating across the service interface ExceptionManager.ShieldException(e); } }
private void DiscoverApplications(IEnumerable <PluginDescription> pluginDescriptions) { applications = new List <ApplicationDescription>(); foreach (IApplication application in GetApplications(pluginDescriptions)) { Type appType = application.GetType(); ApplicationAttribute attr = (from x in appType.GetCustomAttributes(typeof(ApplicationAttribute), false) select(ApplicationAttribute) x).Single(); ApplicationDescription info = new ApplicationDescription(); PluginDescription declaringPlugin = GetDeclaringPlugin(appType, pluginDescriptions); info.Name = application.Name; info.Version = declaringPlugin.Version; info.Description = application.Description; info.AutoRestart = attr.RestartOnErrors; info.DeclaringAssemblyName = appType.Assembly.GetName().Name; info.DeclaringTypeName = appType.Namespace + "." + application.GetType().Name; applications.Add(info); } }
XElement CreateApplicationElement(XElement manifest, string applicationClass, List <TypeDefinition> subclasses) { var application = manifest.Descendants("application").FirstOrDefault(); List <ApplicationAttribute> assemblyAttr = Assemblies.Select(path => ApplicationAttribute.FromCustomAttributeProvider(Resolver.GetAssembly(path))) .Where(attr => attr != null) .ToList(); List <MetaDataAttribute> metadata = Assemblies.SelectMany(path => MetaDataAttribute.FromCustomAttributeProvider(Resolver.GetAssembly(path))) .Where(attr => attr != null) .ToList(); var usesLibraryAttr = Assemblies.SelectMany(path => UsesLibraryAttribute.FromCustomAttributeProvider(Resolver.GetAssembly(path))) .Where(attr => attr != null); var usesConfigurationAttr = Assemblies.SelectMany(path => UsesConfigurationAttribute.FromCustomAttributeProvider(Resolver.GetAssembly(path))) .Where(attr => attr != null); if (assemblyAttr.Count > 1) { throw new InvalidOperationException("There can be only one [assembly:Application] attribute defined."); } List <ApplicationAttribute> typeAttr = new List <ApplicationAttribute> (); List <UsesLibraryAttribute> typeUsesLibraryAttr = new List <UsesLibraryAttribute> (); List <UsesConfigurationAttribute> typeUsesConfigurationAttr = new List <UsesConfigurationAttribute> (); foreach (var t in subclasses) { ApplicationAttribute aa = ApplicationAttribute.FromCustomAttributeProvider(t); if (aa == null) { continue; } if (!t.IsSubclassOf("Android.App.Application")) { throw new InvalidOperationException(string.Format("Found [Application] on type {0}. [Application] can only be used on subclasses of Application.", t.FullName)); } typeAttr.Add(aa); metadata.AddRange(MetaDataAttribute.FromCustomAttributeProvider(t)); typeUsesLibraryAttr.AddRange(UsesLibraryAttribute.FromCustomAttributeProvider(t)); } if (typeAttr.Count > 1) { throw new InvalidOperationException("There can be only one type with an [Application] attribute; found: " + string.Join(", ", typeAttr.Select(aa => aa.Name).ToArray())); } if (assemblyAttr.Count > 0 && typeAttr.Count > 0) { throw new InvalidOperationException("Application cannot have both a type with an [Application] attribute and an [assembly:Application] attribute."); } ApplicationAttribute appAttr = assemblyAttr.SingleOrDefault() ?? typeAttr.SingleOrDefault(); var ull1 = usesLibraryAttr ?? new UsesLibraryAttribute [0]; var ull2 = typeUsesLibraryAttr.AsEnumerable() ?? new UsesLibraryAttribute [0]; var usesLibraryAttrs = ull1.Concat(ull2); var ucl1 = usesConfigurationAttr ?? new UsesConfigurationAttribute [0]; var ucl2 = typeUsesConfigurationAttr.AsEnumerable() ?? new UsesConfigurationAttribute [0]; var usesConfigurationattrs = ucl1.Concat(ucl2); bool needManifestAdd = true; if (appAttr != null) { var newapp = appAttr.ToElement(Resolver, PackageName); if (application == null) { application = newapp; } else { needManifestAdd = false; foreach (var n in newapp.Attributes()) { application.SetAttributeValue(n.Name, n.Value); } foreach (var n in newapp.Nodes()) { application.Add(n); } } } else if (application == null) { application = new XElement("application"); } else { needManifestAdd = false; } application.Add(metadata.Select(md => md.ToElement(PackageName))); if (needManifestAdd) { manifest.Add(application); } AddUsesLibraries(application, usesLibraryAttrs); AddUsesConfigurations(application, usesConfigurationattrs); if (applicationClass != null && application.Attribute(androidNs + "name") == null) { application.Add(new XAttribute(androidNs + "name", applicationClass)); } if (application.Attribute(androidNs + "allowBackup") == null) { application.Add(new XAttribute(androidNs + "allowBackup", "true")); } return(application); }
public static ApplicationAttribute WithStaffAttributes(this ApplicationAttribute applicationAttribute, ICollection <StaffAttributes> staffAttributes) { applicationAttribute.StaffAttributes = staffAttributes; return(applicationAttribute); }
public static ApplicationAttribute WithApplication(this ApplicationAttribute applicationAttribute, Application application) { applicationAttribute.Application = application; return(applicationAttribute); }
public static ApplicationAttribute WithIsActive(this ApplicationAttribute applicationAttribute, Boolean isActive) { applicationAttribute.IsActive = isActive; return(applicationAttribute); }
public static ApplicationAttribute WithIsDataSecurity(this ApplicationAttribute applicationAttribute, Boolean isDataSecurity) { applicationAttribute.IsDataSecurity = isDataSecurity; return(applicationAttribute); }
public static ApplicationAttribute WithAttributeType(this ApplicationAttribute applicationAttribute, String attributeType) { applicationAttribute.AttributeType = attributeType; return(applicationAttribute); }
public static ApplicationAttribute WithApplicationCode(this ApplicationAttribute applicationAttribute, Guid applicationCode) { applicationAttribute.ApplicationCode = applicationCode; return(applicationAttribute); }
public static ApplicationAttribute WithCode(this ApplicationAttribute applicationAttribute, Guid code) { applicationAttribute.Code = code; return(applicationAttribute); }
/// <summary> /// Create a ApplicationAttribute /// </summary> /// <param name="currentUser"></param> /// <param name="user"></param> /// <param name="appID"></param> /// <param name="overrideID"></param> /// <param name="dc"></param> /// <param name="dataRepository"></param> /// <param name="uow"></param> public ApplicationAttributeVMDC CreateApplicationAttribute(string currentUser, string user, string appID, string overrideID, ApplicationAttributeDC dc, IRepository <ApplicationAttribute> dataRepository, IUnitOfWork uow) { try { #region Parameter validation // Validate parameters if (string.IsNullOrEmpty(currentUser)) { throw new ArgumentOutOfRangeException("currentUser"); } if (string.IsNullOrEmpty(user)) { throw new ArgumentOutOfRangeException("user"); } if (string.IsNullOrEmpty(appID)) { throw new ArgumentOutOfRangeException("appID"); } if (null == dc) { throw new ArgumentOutOfRangeException("dc"); } if (null == dataRepository) { throw new ArgumentOutOfRangeException("dataRepository"); } if (null == uow) { throw new ArgumentOutOfRangeException("uow"); } #endregion using (uow) { // Create a new ID for the ApplicationAttribute item dc.Code = Guid.NewGuid(); // Map data contract to model ApplicationAttribute destination = Mapper.Map <ApplicationAttributeDC, ApplicationAttribute>(dc); // Add the new item dataRepository.Add(destination); // Commit unit of work uow.Commit(); dc = Mapper.Map <ApplicationAttribute, ApplicationAttributeDC>(destination); } // Create aggregate data contract ApplicationAttributeVMDC returnObject = new ApplicationAttributeVMDC(); // Add new item to aggregate returnObject.ApplicationAttributeItem = dc; return(returnObject); } catch (Exception e) { //Prevent exception from propogating across the service interface ExceptionManager.ShieldException(e); return(null); } }
/// <summary> /// Retrieve a ApplicationAttribute with associated lookups /// </summary> /// <param name="currentUser"></param> /// <param name="user"></param> /// <param name="appID"></param> /// <param name="overrideID"></param> /// <param name="code"></param> /// <param name="dataRepository"></param> /// <param name="uow"></param> /// <returns></returns> public ApplicationAttributeVMDC GetApplicationAttribute(string currentUser, string user, string appID, string overrideID, string code, IUnitOfWork uow, IRepository <ApplicationAttribute> dataRepository , IRepository <Application> applicationRepository ) { try { #region Parameter validation // Validate parameters if (string.IsNullOrEmpty(currentUser)) { throw new ArgumentOutOfRangeException("currentUser"); } if (string.IsNullOrEmpty(user)) { throw new ArgumentOutOfRangeException("user"); } if (string.IsNullOrEmpty(appID)) { throw new ArgumentOutOfRangeException("appID"); } if (null == dataRepository) { throw new ArgumentOutOfRangeException("dataRepository"); } if (null == uow) { throw new ArgumentOutOfRangeException("uow"); } #endregion using (uow) { ApplicationAttributeDC destination = null; // If code is null then just return supporting lists if (!string.IsNullOrEmpty(code)) { // Convert code to Guid Guid codeGuid = Guid.Parse(code); // Retrieve specific ApplicationAttribute ApplicationAttribute dataEntity = dataRepository.Single(x => x.Code == codeGuid); // Convert to data contract for passing through service interface destination = Mapper.Map <ApplicationAttribute, ApplicationAttributeDC>(dataEntity); } IEnumerable <Application> applicationList = applicationRepository.GetAll(x => new { x.Description }); List <ApplicationDC> applicationDestinationList = Mapper.Map <List <ApplicationDC> >(applicationList); // Create aggregate contract ApplicationAttributeVMDC returnObject = new ApplicationAttributeVMDC(); returnObject.ApplicationAttributeItem = destination; returnObject.ApplicationList = applicationDestinationList; return(returnObject); } } catch (Exception e) { //Prevent exception from propogating across the service interface ExceptionManager.ShieldException(e); return(null); } }
protected static extern void qt_application_attribute_set(ApplicationAttribute attribute);
/// <summary> /// Update a ApplicationAttribute /// </summary> /// <param name="currentUser"></param> /// <param name="user"></param> /// <param name="appID"></param> /// <param name="overrideID"></param> /// <param name="dc"></param> /// <param name="dataRepository"></param> /// <param name="uow"></param> public ApplicationAttributeVMDC UpdateApplicationAttribute(string currentUser, string user, string appID, string overrideID, ApplicationAttributeDC dc, IRepository <ApplicationAttribute> dataRepository, IUnitOfWork uow, IExceptionManager exceptionManager, IMappingService mappingService) { try { #region Parameter validation // Validate parameters if (string.IsNullOrEmpty(currentUser)) { throw new ArgumentOutOfRangeException("currentUser"); } if (string.IsNullOrEmpty(user)) { throw new ArgumentOutOfRangeException("user"); } if (string.IsNullOrEmpty(appID)) { throw new ArgumentOutOfRangeException("appID"); } if (null == dc) { throw new ArgumentOutOfRangeException("dc"); } if (null == dataRepository) { throw new ArgumentOutOfRangeException("dataRepository"); } if (null == uow) { throw new ArgumentOutOfRangeException("uow"); } if (null == exceptionManager) { throw new ArgumentOutOfRangeException("exceptionManager"); } if (null == mappingService) { throw new ArgumentOutOfRangeException("mappingService"); } #endregion using (uow) { // Map data contract to model ApplicationAttribute destination = mappingService.Map <ApplicationAttributeDC, ApplicationAttribute>(dc); // Add the new item dataRepository.Update(destination); // Commit unit of work uow.Commit(); // Map model back to data contract to return new row id. dc = mappingService.Map <ApplicationAttribute, ApplicationAttributeDC>(destination); } // Create new data contract to return ApplicationAttributeVMDC returnObject = new ApplicationAttributeVMDC(); // Add new item to datacontract returnObject.ApplicationAttributeItem = dc; // Commit unit of work return(returnObject); } catch (Exception e) { //Prevent exception from propogating across the service interface exceptionManager.ShieldException(e); return(null); } }
public static StaffAttributes WithApplicationAttribute(this StaffAttributes staffAttributes, ApplicationAttribute applicationAttribute) { staffAttributes.ApplicationAttribute = applicationAttribute; return(staffAttributes); }
public static BootstrapperBuilder SetAttribute(this BootstrapperBuilder builder, ApplicationAttribute attribute) { QCoreApplication.SetAttribute(attribute, true); return(builder); }