コード例 #1
0
        /// <summary>
        /// The constructor for creating a new <see cref="ResourceObject"/>
        /// </summary>
        /// <param name="emk">The filtered entry. Can be null!</param>
        /// <param name="resource">The original entry. Can't be null!</param>
        public ResourceObject(EmkResource emk, OperationResource resource)
        {
            Assertions.AssertNotNull(resource, "resource");

            Emk = emk;
            Resource = resource;
        }
コード例 #2
0
        /// <summary>
        /// The constructor for creating a new <see cref="ResourceObject"/>
        /// </summary>
        /// <param name="emk">The filtered entry. Can be null!</param>
        /// <param name="resource">The original entry. Can't be null!</param>
        public ResourceObject(EmkResource emk, OperationResource resource)
        {
            Assertions.AssertNotNull(resource, "resource");

            Emk      = emk;
            Resource = resource;
        }
コード例 #3
0
        public ActionResult GetResourceImage(string id)
        {
            using (var emkService = ServiceFactory.GetServiceWrapper <IEmkService>())
            {
                IList <EmkResource> emkResources = emkService.Instance.GetAllResources();
                EmkResource         resource     = emkResources.FirstOrDefault(x => x.Id == id);
                if (resource == null)
                {
                    return(null);
                }
                using (FileTransferServiceClient client = new FileTransferServiceClient())
                {
                    try
                    {
                        Stream content = client.GetFileFromPath(resource.IconFileName);

                        if (content != null)
                        {
                            return(File(content, GetMimeType(resource.IconFileName)));
                        }
                    }
                    catch (IOException ex)
                    {
                        // This exception is totally OK. No image will be displayed.
                    }
                    catch (AssertionFailedException)
                    {
                        // This exception is totally OK. No image will be displayed.
                    }
                }
            }
            return(null);
        }
コード例 #4
0
        internal ResourceViewModel(OperationResource resource, EmkResource emkResource)
            : base()
        {
            Assertions.AssertNotNull(resource, "resource");

            this.Resource = resource;

            _emkResource = emkResource;
            if (_emkResource != null)
            {
                LoadIconAsync();
            }
        }
コード例 #5
0
        internal ResourceViewModel(OperationResource resource, EmkResource emkResource)
            : base()
        {
            if (resource == null && emkResource == null)
            {
                throw new InvalidOperationException(Properties.Resources.NoResourceGiven);
            }
            this.Resource = resource;

            EmkResourceItem = emkResource;
            if (EmkResourceItem != null)
            {
                LoadIconAsync();
            }
        }
コード例 #6
0
        private void ApplyFilteredResources(Operation operation)
        {
            Resources.Clear();
            using (var service = ServiceFactory.GetServiceWrapper <IEmkService>())
            {
                IList <EmkResource> emkResources = service.Instance.GetAllResources();

                foreach (OperationResource resource in service.Instance.GetFilteredResources(operation.Resources))
                {
                    EmkResource emk = emkResources.FirstOrDefault(item => item.IsActive && item.IsMatch(resource));

                    Resources.Add(new ResourceViewModel(resource, emk));
                }
            }
        }
コード例 #7
0
        internal ResourceViewModel(OperationResource resource, EmkResource emkResource)
            : base()
        {
            if (resource == null && emkResource == null)
            {
                throw new InvalidOperationException(Properties.Resources.NoResourceGiven);
            }
            this.Resource = resource;

            EmkResourceItem = emkResource;
            if (EmkResourceItem != null)
            {
                LoadIconAsync();
            }
        }
コード例 #8
0
        public void IsMatch_Negative_Test()
        {
            EmkResource emk = new EmkResource()
            {
                SiteAlias     = "ABC",
                ResourceAlias = "99/9",
                DisplayName   = "99.9",
            };

            OperationResource opRes = new OperationResource()
            {
                FullName = "1.2.3 XYZ 99/9 HLF",
            };

            Assert.IsFalse(emk.IsMatch(opRes));
        }
コード例 #9
0
        public void IsMatch_Negative_Test()
        {
            EmkResource emk = new EmkResource()
            {
                SiteAlias = "ABC",
                ResourceAlias = "99/9",
                DisplayName = "99.9",
            };

            OperationResource opRes = new OperationResource()
            {
                FullName = "1.2.3 XYZ 99/9 HLF",
            };

            Assert.IsFalse(emk.IsMatch(opRes));
        }
コード例 #10
0
        public void Equals_Negative_Test()
        {
            EmkResource resourceA = new EmkResource()
            {
                SiteAlias     = "ABC",
                ResourceAlias = "99/9",
                DisplayName   = "99.9",
            };

            EmkResource resourceB = new EmkResource()
            {
                SiteAlias     = "ABC",
                ResourceAlias = "xx/9",
                DisplayName   = "99.9",
            };

            Assert.IsFalse(resourceA.Equals(resourceB));
        }
コード例 #11
0
        public void Equals_Negative_Test()
        {
            EmkResource resourceA = new EmkResource()
            {
                SiteAlias = "ABC",
                ResourceAlias = "99/9",
                DisplayName = "99.9",
            };

            EmkResource resourceB = new EmkResource()
            {
                SiteAlias = "ABC",
                ResourceAlias = "xx/9",
                DisplayName = "99.9",
            };

            Assert.IsFalse(resourceA.Equals(resourceB));
        }
コード例 #12
0
ファイル: ViewModel.cs プロジェクト: sumpacle/AlarmWorkflow
        void IDispositioningServiceCallback.OnEvent(DispositionEventArgs args)
        {
            if (_operation.Id == args.OperationId)
            {
                switch (args.Action)
                {
                case DispositionEventArgs.ActionType.Dispatch:
                    EmkResource emk = _emkResources.FirstOrDefault(x => x.IsActive && x.Id == args.EmkResourceId);
                    Resources.Add(new ResourceViewModel(null, emk));
                    break;

                case DispositionEventArgs.ActionType.Recall:
                    if (Resources.Any(x => x.EmkResourceItem.Id == args.EmkResourceId))
                    {
                        Resources.Remove(Resources.First(x => x.EmkResourceItem.Id == args.EmkResourceId));
                    }
                    break;
                }
            }
        }
コード例 #13
0
        /// <summary>
        /// Gets the list of filtered resources for a given operation
        /// GET: /Display/Alarm/GetFilteredResources/Id
        /// </summary>
        /// <param name="id">The id of the operation</param>
        /// <returns>A <see cref="JsonResult"/> containing a <see cref="ResourcesData"/> object or null if an error occured.</returns>
        public ActionResult GetFilteredResources(int id)
        {
            using (var emkService = ServiceFactory.GetServiceWrapper <IEmkService>())
            {
                Operation operation;
                try
                {
                    using (var service = ServiceFactory.GetCallbackServiceWrapper <IOperationService>(new OperationServiceCallback()))
                    {
                        operation = service.Instance.GetOperationById(id);
                        if (operation == null)
                        {
                            return(null);
                        }
                    }
                }
                catch (Exception)
                {
                    return(null);
                }

                ResourcesData         data              = new ResourcesData();
                IList <EmkResource>   emkResources      = emkService.Instance.GetAllResources();
                List <ResourceObject> filteredResources = new List <ResourceObject>();

                IList <OperationResource> filtered = emkService.Instance.GetFilteredResources(operation.Resources);
                foreach (OperationResource resource in filtered)
                {
                    EmkResource emk = emkResources.FirstOrDefault(item => item.IsActive && item.IsMatch(resource));
                    filteredResources.Add(new ResourceObject(emk, resource));
                }
                data.Resources = filteredResources;

                JsonResult result = new JsonResult();
                result.Data = data;
                result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
                return(result);
            }
        }
コード例 #14
0
ファイル: ViewModel.cs プロジェクト: sumpacle/AlarmWorkflow
        private void ApplyFilteredResources(Operation operation)
        {
            Resources.Clear();
            using (var service = ServiceFactory.GetServiceWrapper <IEmkService>())
            {
                _emkResources = service.Instance.GetAllResources();

                foreach (OperationResource resource in service.Instance.GetFilteredResources(operation.Resources))
                {
                    EmkResource emk = _emkResources.FirstOrDefault(item => item.IsActive && item.IsMatch(resource));

                    Resources.Add(new ResourceViewModel(resource, emk));
                }
            }
            string[] dispatchedResources = _disposingService.GetDispatchedResources(operation.Id);

            foreach (string resource in dispatchedResources)
            {
                EmkResource emk = _emkResources.FirstOrDefault(x => x.IsActive && x.Id == resource);
                Resources.Add(new ResourceViewModel(null, emk));
            }
        }
コード例 #15
0
        /// <summary>
        /// Creates a new instance of a ResourceItem.
        /// </summary>
        /// <param name="emkResource">The <see cref="EmkResource"/>. Must not be null!</param>
        public ResourceItem(EmkResource emkResource)
        {
            Assertions.AssertNotNull(emkResource, "emkResource");

            EmkResourceItem = emkResource;
        }
コード例 #16
0
        /// <summary>
        /// Creates a new instance of a ResourceItem.
        /// </summary>
        /// <param name="emkResource">The <see cref="EmkResource"/>. Must not be null!</param>
        public ResourceItem(EmkResource emkResource)
        {
            Assertions.AssertNotNull(emkResource, "emkResource");

            EmkResourceItem = emkResource;
        }