/// <summary> /// Finds all <see cref="ServiceLock"/> of the specified <see cref="ServiceLockTypeEnum"/> /// </summary> /// <param name="type"></param> /// <returns></returns> public static IList<ServiceLock> FindServicesOfType(ServiceLockTypeEnum type) { using (var readCtx = PersistentStoreRegistry.GetDefaultStore().OpenReadContext()) { var broker = readCtx.GetBroker<IServiceLockEntityBroker>(); var criteria = new ServiceLockSelectCriteria(); criteria.ServiceLockTypeEnum.EqualTo(type); return broker.Find(criteria); } }
/// <summary> /// Finds all <see cref="ServiceLock"/> of the specified <see cref="ServiceLockTypeEnum"/> /// </summary> /// <param name="type"></param> /// <returns></returns> public static IList<ServiceLock> FindServicesOfType(ServiceLockTypeEnum type) { using (var context = new ServerExecutionContext()) { var broker = context.ReadContext.GetBroker<IServiceLockEntityBroker>(); var criteria = new ServiceLockSelectCriteria(); criteria.ServiceLockTypeEnum.EqualTo(type); return broker.Find(criteria); } }
public ServiceLockSelectCriteria(ServiceLockSelectCriteria other) : base(other) {}
public ServiceLockSelectCriteria(ServiceLockSelectCriteria other) : base(other) { }
private bool CheckMultipleInstances() { TimeSpan cacheDuration = TimeSpan.FromMinutes(2); lock (_dbCheckSync) { if (!_multipleInstanceDetected.HasValue || Math.Abs(Environment.TickCount - _lastDbCheck) > cacheDuration.TotalMilliseconds) { _lastDbCheck = Environment.TickCount; using (IReadContext context = PersistentStoreRegistry.GetDefaultStore().OpenReadContext()) { var broker = context.GetBroker<IServiceLockEntityBroker>(); var criteria = new ServiceLockSelectCriteria(); criteria.ServiceLockTypeEnum.EqualTo(ServiceLockTypeEnum.ImportFiles); criteria.Enabled.EqualTo(true); var list = broker.Find(criteria); _multipleInstanceDetected = list.Count > 1; } } } return _multipleInstanceDetected.Value; }
/// <summary> /// Retrieve list of services. /// </summary> /// <param name="criteria"/> /// <returns>List of <see cref="ServiceLock"/> matches <paramref name="criteria"/></returns> public IList<ServiceLock> GetServiceLocks(ServiceLockSelectCriteria criteria) { return _adapter.GetServiceLocks(criteria); }
/// <summary> /// Load the devices for the partition based on the filters specified in the filter panel. /// </summary> /// <remarks> /// This method only reloads and binds the list bind to the internal grid. /// </remarks> public void LoadServiceLocks() { ServiceLockSelectCriteria criteria = new ServiceLockSelectCriteria(); ServiceLockConfigurationController controller = new ServiceLockConfigurationController(); if (TypeDropDownList.SelectedValue != SR.All) { criteria.ServiceLockTypeEnum.EqualTo(ServiceLockTypeEnum.GetEnum(TypeDropDownList.SelectedValue)); } if (StatusFilter.SelectedIndex != 0) { if (StatusFilter.SelectedIndex == 1) criteria.Enabled.EqualTo(true); else criteria.Enabled.EqualTo(false); } if (FileSystemFilter.SelectedIndex != -1) { FileSystemsConfigurationController fsController = new FileSystemsConfigurationController(); List<ServerEntityKey> fileSystemKeys = new List<ServerEntityKey>(); foreach (ListItem fileSystem in FileSystemFilter.Items) { if (fileSystem.Selected) { fileSystemKeys.Add(new ServerEntityKey("FileSystem", fileSystem.Value)); } } IList<Model.Filesystem> fs = fsController.GetFileSystems(fileSystemKeys); if(fs != null) { List<ServerEntityKey> entityKeys = new List<ServerEntityKey>(); foreach(Filesystem f in fs) { entityKeys.Add(f.Key); } criteria.FilesystemKey.In(entityKeys); } } IList<ServiceLock> services = controller.GetServiceLocks(criteria); List<ServiceLock> sortedServices = CollectionUtils.Sort(services, delegate(ServiceLock a, ServiceLock b) { if (a == null) { if (b == null) { // If both null, they're equal. return 0; } else { // If x is null and y is not null, y // is greater. return -1; } } else { // If a is not null... if (b == null) { // ...and b is null, x is greater. return 1; } else { // just compare if (a.Filesystem == null || b.Filesystem == null) return a.ServiceLockTypeEnum.Description.CompareTo(b.ServiceLockTypeEnum.Description); int retVal = a.Filesystem.Description.CompareTo( b.Filesystem.Description); if (retVal == 0) return a.ServiceLockTypeEnum.Description.CompareTo(b.ServiceLockTypeEnum.Description); return retVal; } } }); ServiceLockCollection items = new ServiceLockCollection(); items.Add(sortedServices); ServiceLockGridViewControl.ServiceLocks = items; ServiceLockGridViewControl.RefreshCurrentPage(); }