public ApplicationUnitOfWork(ApplicationDbContext context, IBuildingRepository buildingRepository, IObjectsRepository objectsRepository, IDataFieldRepository dataFieldRepository, IReadingRepository readingRepository) : base(context)
 {
     BuildingRepository  = buildingRepository;
     ObjectsRepository   = objectsRepository;
     DataFieldRepository = dataFieldRepository;
     ReadingRepository   = readingRepository;
 }
Пример #2
0
 public CadReaderPlugin(IObjectModifier modifier, IObjectsRepository repository, IPersonalSettings personalSettings)
 {
     _objectModifier    = modifier;
     _objectsRepository = repository;
     _listSpec          = new List <Specification>();
     _loader            = new ObjectLoader(repository);
 }
Пример #3
0
        /// <summary>
        /// Creates an EloquentObjects server with ability to specify custom settings and dependencies.
        /// </summary>
        /// <param name="address">Address of the server that hosts object. Can be prefixed with 'tcp://' for TCP binding or 'pipe://' for Named Pipes binding</param>
        /// <param name="settings">Custom settings</param>
        /// <param name="serializerFactory">Factory that can create serializer to be used for serializing/deserializing data sent between server and client</param>
        public EloquentServer(string address, EloquentSettings settings, [CanBeNull] ISerializerFactory serializerFactory = null)
        {
            _serializerFactory = serializerFactory ?? new DefaultSerializerFactory();

            var uri = new Uri(address);

            var scheme = uri.GetComponents(UriComponents.Scheme, UriFormat.Unescaped);

            var binding = new BindingFactory().Create(scheme, settings);

            var serverHostAddress = HostAddress.CreateFromUri(uri);

            _contractDescriptionFactory = new CachedContractDescriptionFactory(new ContractDescriptionFactory());

            try
            {
                _inputChannel = binding.CreateInputChannel(serverHostAddress);
            }
            catch (Exception e)
            {
                throw new IOException("Failed creating input channel", e);
            }

            _objectsRepository = new ObjectsRepository();

            _server = new Server(binding, _inputChannel, _objectsRepository);
        }
Пример #4
0
        public DataObjectWrapper(IDataObject dataObject, IObjectsRepository repository)
        {
            if (dataObject == null)
            {
                return;
            }

            Id               = dataObject.Id;
            ParentId         = dataObject.ParentId;
            Created          = dataObject.Created;
            Attributes       = new Dictionary <string, object>(dataObject.Attributes);
            DisplayName      = dataObject.DisplayName;
            Type             = new TypeWrapper(dataObject.Type);
            Creator          = new PersonWrapper(dataObject.Creator);
            ListViewChildren = new ReadOnlyCollection <Guid>(
                ChildrenFilters.GetChildrenForListView(dataObject, repository).ToList());
            PilotStorageChildren = new ReadOnlyCollection <Guid>(
                ChildrenFilters.GetChildrenForPilotStorage(dataObject, repository).ToList());
            State = dataObject.State;
            SynchronizationState = dataObject.SynchronizationState;
            Files     = new ReadOnlyCollection <FileWrapper>(dataObject.Files.Select(f => new FileWrapper(f)).ToList());
            Access    = new ReadOnlyCollection <AccessWrapper>(dataObject.Access2.Select(f => new AccessWrapper(f)).ToList());
            IsSecret  = dataObject.IsSecret;
            StateInfo = new ObjectStateInfo(dataObject.ObjectStateInfo);
        }
Пример #5
0
 public TimeSeriesController(IReadingRepository readingRepository, IObjectsRepository objectsRepository, IDataFieldRepository dataFieldRepository, IBuildingRepository buildingRepository)
 {
     this.readingRepository   = readingRepository;
     this.buildingRepository  = buildingRepository;
     this.dataFieldRepository = dataFieldRepository;
     this.objectsRepository   = objectsRepository;
 }
Пример #6
0
 public Event(string objectId, string eventName, ISerializer serializer,
              IObjectsRepository objectsRepository)
 {
     _objectId          = objectId;
     _eventName         = eventName;
     _serializer        = serializer;
     _objectsRepository = objectsRepository;
 }
Пример #7
0
 public ProcessPageViewModel(CreationInfo creationInfo, IObjectModifier modifier, IObjectsRepository repository, IFileProvider fileProvider)
 {
     _creationInfo    = creationInfo;
     _modifier        = modifier;
     _repository      = repository;
     _fileProvider    = fileProvider;
     _currentPersonId = repository.GetCurrentPerson().Id;
 }
Пример #8
0
 public ObjectMenu(IObjectsRepository objectsRepository, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider, IObjectModifier objectModifier)
 {
     _objectsRepository  = objectsRepository;
     _objectModifier     = objectModifier;
     _fileProvider       = fileProvider;
     _tabServiceProvider = tabServiceProvider;
     _fileModifier       = new FileModifier(_objectModifier, _objectsRepository);
 }
 public ChildrenViewModel(IEnumerable <Guid> children, IObjectsRepository objectsRepository, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider, FileModifier fileModifier)
 {
     _children           = children;
     _objectsRepository  = objectsRepository;
     _fileModifier       = fileModifier;
     _fileProvider       = fileProvider;
     _tabServiceProvider = tabServiceProvider;
 }
Пример #10
0
 public SpwReaderPlugin(IObjectModifier modifier, IObjectsRepository repository, IPersonalSettings personalSettings, IFileProvider fileProvider)
 {
     _objectModifier = modifier;
     _objectsRepository = repository;
     _pilotTypes = _objectsRepository.GetTypes();
     _loader = new ObjectLoader(repository);
     _dataObjects = new List<IDataObject>();
     _fileProvider = fileProvider;
 }
 public RevitShareAgregator(IObjectsRepository repository, IPersonalSettings personalSettings, IEventAggregator eventAggregator)
 {
     _repository      = repository;
     _currentPersonId = _repository.GetCurrentPerson().Id;
     personalSettings.SubscribeSetting(SettingsFeatureKeys.RevitAgregatorProjectPathKey).Subscribe(p => _sharePath   = p.Value);
     personalSettings.SubscribeSetting(SettingsFeatureKeys.RevitProjectInfoKey).Subscribe(p => _revitProjectAttrsMap = GetRevitProjectAttrsMap(p.Value));
     eventAggregator.Subscribe(this);
     _repository.SubscribeNotification(NotificationKind.StorageObjectCreated).Subscribe(OnNext, OnError);
     Task.Factory.StartNew(StartListeningUpdateSettingsCommand);
 }
 public RelationsViewModel(ReadOnlyCollection <IRelation> relations,
                           IObjectsRepository objectsRepository,
                           IFileProvider fileProvider,
                           ITabServiceProvider tabServiceProvider,
                           FileModifier fileModifier)
 {
     _relations          = relations;
     _objectsRepository  = objectsRepository;
     _fileProvider       = fileProvider;
     _tabServiceProvider = tabServiceProvider;
     _fileModifier       = fileModifier;
 }
Пример #13
0
        public AnnulHandler(IObjectsRepository repository, IObjectModifier modifier)
        {
            _modifier = modifier;

            var userStates       = repository.GetUserStates();
            var annuledUserState = userStates.FirstOrDefault(x => x.Name == Const.AnnuledUserState);

            if (annuledUserState != null)
            {
                _annuledUserStateId = annuledUserState.Id.ToString();
            }
        }
Пример #14
0
        public Server(IBinding binding, IInputChannel inputChannel, IObjectsRepository objectsRepository)
        {
            _binding           = binding;
            _inputChannel      = inputChannel;
            _objectsRepository = objectsRepository;

            _inputChannel.FrameReceived += InputChannelOnFrameReceived;

            _inputChannel.Start();

            _logger = Logger.Factory.Create(GetType());
            _logger.Info(() => "Created");
        }
Пример #15
0
        static public void ShowInfo(IDataObject obj, IObjectsRepository objectsRepository, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider, FileModifier fileModifier)
        {
            if (obj == null)
            {
                return;
            }
            var vm = new MainViewModel(obj, objectsRepository, fileModifier, fileProvider, tabServiceProvider);
            var v  = new MainView()
            {
                DataContext = vm
            };

            v.Show();
        }
Пример #16
0
        public void Dispose()
        {
            if (_disposed)
            {
                throw new ObjectDisposedException(nameof(ObjectAdapter));
            }

            _disposed = true;
            foreach (var hostedEvent in _hostedEvents)
            {
                hostedEvent.EventInfo.RemoveEventHandler(Object, hostedEvent.Handler);
            }

            _objectsRepository = null;
        }
 public RevitShareAgregator(IObjectsRepository repository, IPersonalSettings personalSettings, IEventAggregator eventAggregator)
 {
     _repository       = repository;
     _currentPersonId  = _repository.GetCurrentPerson().Id;
     _personalSettings = personalSettings;
     _eventAggregator  = eventAggregator;
     _personalSettings.SubscribeSetting(SettingsFeatureKeys.RevitAggregatorProjectPathKey)
     .Subscribe(new PersonalSettingsObserver(OnNext));
     _personalSettings.SubscribeSetting(SettingsFeatureKeys.RevitProjectInfoKey)
     .Subscribe(new PersonalSettingsObserver(OnNext));
     _eventAggregator.Subscribe(this);
     _repository.SubscribeNotification(NotificationKind.StorageObjectCreated)
     .Subscribe(new NotificationObjectObserver(OnNext));
     Task.Factory.StartNew(StartListeningUpdateSettingsCommand);
     Task.Factory.StartNew(StartListeningPrepareProjectCommand);
 }
Пример #18
0
        public CardControlViewModel(IAttribute attribute, IType type, object initValue, bool isReadOnly,
                                    IPilotDialogService dialogService, IObjectsRepository repository, IObjectCardAutoComplete autoComplete,
                                    IAttributeFormatParser attributeFormatParser, bool editMode)
        {
            if (dialogService == null)
            {
                throw new ArgumentNullException(nameof(dialogService));
            }
            if (repository == null)
            {
                throw new ArgumentNullException(nameof(repository));
            }
            if (attributeFormatParser == null)
            {
                throw new ArgumentNullException(nameof(attributeFormatParser));
            }
            if (autoComplete == null)
            {
                throw new ArgumentNullException(nameof(autoComplete));
            }
            if (attribute == null)
            {
                throw new ArgumentNullException(nameof(attribute));
            }

            _type                  = type;
            _dialogService         = dialogService;
            _repository            = repository;
            _attributeFormatParser = attributeFormatParser;
            _autoComplete          = autoComplete;
            _editMode              = editMode;

            Attribute      = attribute;
            _originalValue = DValue.GetDValue(initValue);
            _value         = initValue;
            IsReadOnly     = isReadOnly;

            Format = _attributeFormatParser.GetAttributeFormat(Attribute.Configuration);
            if (_originalValue != null && (_originalValue.DateValue != null && Format == null))
            {
                Format = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
            }

            Culture = _attributeFormatParser.GetAttributeFormatCulture(Attribute.Configuration);
        }
Пример #19
0
        public UserStateAnnuler(IObjectsRepository repository, IObjectModifier objectModifier)
        {
            _repository      = repository;
            _objectModifier  = objectModifier;
            _supportingTypes = new Dictionary <int, string>();

            var annuledUserState = _repository.GetUserStates().FirstOrDefault(s => s.Name.Equals(Const.AnnuledUserState));

            if (annuledUserState == null)
            {
                throw new ExpectedExtensionException(nameof(SubtreeUserStateAnuller), $"Cannot find \"{Const.AnnuledUserState}\" UserState");
            }
            _annuledUserStateId = annuledUserState.Id;

            _currentPerson = _repository.GetCurrentPerson();

            FillTypesWithUserState();
        }
Пример #20
0
        public ProjectCloneCreator(IObjectsRepository repository, IPilotDialogService pilotDialogService, IAttributeFormatParser attributeFormatParser,
                                   IObjectModifier modifier, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider)
        {
            _repository            = repository;
            _pilotDialogService    = pilotDialogService;
            _attributeFormatParser = attributeFormatParser;
            _fileProvider          = fileProvider;
            _tabServiceProvider    = tabServiceProvider;
            _modifier = modifier;

            InitColorScheme(pilotDialogService);

            Icon = "menu_icon_dark.svg";
            if (pilotDialogService.Theme == ThemeNames.Jedi)
            {
                Icon = "menu_icon_light.svg";
            }
        }
Пример #21
0
        public Session(IBinding binding, IHostAddress clientHostAddress, IObjectsRepository objectsRepository,
                       IOutputChannel outputChannel)
        {
            _maxHeartBeatLost  = binding.MaxHeartBeatLost;
            _objectsRepository = objectsRepository;
            _outputChannel     = outputChannel;
            ClientHostAddress  = clientHostAddress;

            _objectsRepository.ObjectRemoved += ObjectsRepositoryOnObjectRemoved;

            //When HeartBeatMs is 0 then no heart beats are listened.
            if (binding.HeartBeatMs != 0)
            {
                _heartbeatTimer = new Timer(Heartbeat, null, 0, binding.HeartBeatMs);
            }

            _logger = Logger.Factory.Create(GetType());
            _logger.Info(() => $"Created (clientHostAddress = {ClientHostAddress})");
        }
Пример #22
0
        public ManagerEdition(IObjectsRepository repository,
                              IObjectModifier modifier,
                              IPilotDialogService dialogService,
                              ISearchService search,
                              IFileProvider fileProvider,
                              ITabServiceProvider tabServiceProvider)
        {
            var accentColor = (Color)ColorConverter.ConvertFromString(dialogService.AccentColor);

            ColorScheme.Initialize(accentColor);

            _repository         = repository;
            _modifier           = modifier;
            _search             = search;
            _fileProvider       = fileProvider;
            _tabServiceProvider = tabServiceProvider;
            _dialogService      = dialogService;
            InitializeObjects();
        }
Пример #23
0
        public ObjectsTreeViewModel(IObjectsRepository repository)
        {
            var compositeDisposable = new CompositeDisposable();

            _dataObjectService = new DataObjectService(repository);
            compositeDisposable.Add(_dataObjectService);

            var disposable = _dataObjectService.DataObjects.Connect()
                             .TransformToTree(o => o.ParentId)
                             .Transform(node => new NodeViewModel(node, _dataObjectService))
                             .Sort(new NodeViewModelComparer())
                             .Bind(out _nodes)
                             .DisposeMany()
                             .Subscribe();

            compositeDisposable.Add(disposable);

            _cleanUp = compositeDisposable;
        }
Пример #24
0
        private static IEnumerable GetCollectionView(IObjectsRepository repository)
        {
            var items = new List <ReferenceBookOrgUnitItem>();
            var root  = repository.GetOrganisationUnits().FirstOrDefault();

            BuildReferenceBookItems(repository, GetSortedChildren(root, repository), items, new string[] { });

            if (!items.Any())
            {
                return(null);
            }

            var lcv = new ListCollectionView(items);

            for (var i = 0; i < items.Max(x => x.Categories.Count); i++)
            {
                lcv.GroupDescriptions.Add(new PropertyGroupDescription($"Categories[{i}]"));
            }
            return(lcv);
        }
Пример #25
0
        private static void BuildReferenceBookItems(IObjectsRepository repository, IEnumerable <IOrganisationUnit> positions, ICollection <ReferenceBookOrgUnitItem> items, IList <string> categories)
        {
            var people = repository.GetPeople().ToList();

            foreach (var unit in positions)
            {
                if (unit.IsPosition)
                {
                    var person = people.Where(p => p.Positions.Select(m => m.Position).Contains(unit.Id))
                                 .OrderBy(o => o.Positions.First(x => x.Position == unit.Id).Order)
                                 .FirstOrDefault();

                    items.Add(person == null
                        ? new ReferenceBookOrgUnitItem(unit.Title, categories.ToList())
                        : new ReferenceBookOrgUnitItem(person.DisplayName, categories.ToList()));
                }
                else
                {
                    BuildReferenceBookItems(repository, GetSortedChildren(unit, repository), items, categories.Union(new[] { unit.Title }).ToList());
                }
            }
        }
Пример #26
0
        public ObjectAdapter(string objectId, IContractDescription contractDescription,
                             ISerializer serializer,
                             SynchronizationContext synchronizationContext,
                             object objectToHost, IObjectsRepository objectsRepository)
        {
            _contractDescription    = contractDescription;
            _serializer             = serializer;
            _synchronizationContext = synchronizationContext;
            Object             = objectToHost;
            _objectsRepository = objectsRepository;

            var events = new Dictionary <string, IEvent>();

            foreach (var eventDescription in _contractDescription.Events)
            {
                var handler = CreateHandler(eventDescription.Event, args => SendEventToAllClients(eventDescription.Name, eventDescription.IsStandardEvent, args));
                eventDescription.Event.AddEventHandler(objectToHost, handler);
                _hostedEvents.Add(new HostedEvent(eventDescription.Event, handler));
                events.Add(eventDescription.Name, new Event(objectId, eventDescription.Name, serializer, objectsRepository));
            }

            Events = new ReadOnlyDictionary <string, IEvent>(events);
        }
        public DataObjectWrapper(IDataObject dataObject, IObjectsRepository repository)
        {
            if (dataObject == null)
                return;

            Id = dataObject.Id;
            ParentId = dataObject.ParentId;
            Created = dataObject.Created;
            Attributes = new Dictionary<string, object>(dataObject.Attributes);
            DisplayName = dataObject.DisplayName;
            Type = new TypeWrapper(dataObject.Type);
            Creator = new PersonWrapper(dataObject.Creator);
            ListViewChildren = new ReadOnlyCollection<Guid>(
                ChildrenFilters.GetChildrenForListView(dataObject, repository).ToList());
            PilotStorageChildren = new ReadOnlyCollection<Guid>(
                ChildrenFilters.GetChildrenForPilotStorage(dataObject, repository).ToList());
            State = dataObject.State;
            SynchronizationState = dataObject.SynchronizationState;
            Files = new ReadOnlyCollection<FileWrapper>(dataObject.Files.Select(f => new FileWrapper(f)).ToList());
            Access = new Dictionary<int, AccessWrapper>(dataObject.Access.ToDictionary(f => f.Key, f => new AccessWrapper(f.Value)));
            IsDeleted = dataObject.IsDeleted;
            IsSecret = dataObject.IsSecret;
            IsInRecycleBin = dataObject.IsInRecycleBin;
        }
Пример #28
0
        public MainViewModel(IDataObject obj, IObjectsRepository objectsRepository, FileModifier fileModifier, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider)
        {
            _obj                = obj;
            _fileProvider       = fileProvider;
            _objectsRepository  = objectsRepository;
            _tabServiceProvider = tabServiceProvider;

            AttributesVm = new AttributesViewModel(_obj);
            TypeVm       = new TypeViewModel(_obj.Type);
            CreatorVm    = new CreatorViewModel(_obj.Creator);
            FilesVm      = new FilesViewModel(obj.Id, _obj.Files, _fileProvider, fileModifier);
            SnapshotsVm  = new SnapshotsViewModel(_obj.Id, _obj.PreviousFileSnapshots, _fileProvider);

            AccessVm     = new AccessViewModel(_obj.Access2);
            RelationsVm  = new RelationsViewModel(obj.Relations, _objectsRepository, _fileProvider, _tabServiceProvider, fileModifier);
            StateInfoVm  = new StateInfoViewModel(obj.ObjectStateInfo);
            ChildrenVm   = new ChildrenViewModel(obj.Children, _objectsRepository, _fileProvider, _tabServiceProvider, fileModifier);
            PeopleVm     = new PeopleViewModel(_objectsRepository.GetPeople());
            OrgUnitsVm   = new OrgUnitsViewModel(_objectsRepository.GetOrganisationUnits());
            TypesVm      = new TypesViewModel(_objectsRepository.GetTypes());
            UserStatesVm = new UserStatesViewModel(_objectsRepository.GetUserStates());

            _objectsRepository.GetOrganisationUnits();
        }
Пример #29
0
 public ObjectLoader(IObjectsRepository repository)
 {
     _repository    = repository;
     _subscriptions = new List <IDisposable>();
     _objects       = new List <IDataObject>();
 }
Пример #30
0
 public ReferenceBookLoader(IObjectsRepository repository)
 {
     _repository = repository;
     _filter     = new ListViewTypeFilter(() => _repository);
 }
Пример #31
0
 public ProjectController(IObjectsRepository repo)
 {
     projects = repo;
 }
Пример #32
0
 public ProjectCloneToolbar(IObjectsRepository repository, IPilotDialogService pilotDialogService, IAttributeFormatParser attributeFormatParser,
                            IObjectModifier modifier, IFileProvider fileProvider, ITabServiceProvider tabServiceProvider)
 {
     _projectCloneCreator = new ProjectCloneCreator(repository, pilotDialogService, attributeFormatParser, modifier, fileProvider, tabServiceProvider);
 }
Пример #33
0
 public StorageAnalayzer(IObjectsRepository repository)
 {
     _storagePath = repository.GetStoragePath();
     _repository = repository;
 }
 public ObjectsBusinessWorkflow(IObjectsRepository objectsRepository, IObjectMapper objectMapper)
 {
     ObjectsRepository = objectsRepository;
     ObjectMapper = objectMapper;
 }