Exemplo n.º 1
0
        public CobieLiteUkExport()
        {
            InitializeComponent();
            // prepare templates list
            AvailableTemplates = new ObservableCollection <string>();
            foreach (var avail in Templates.GetAvalilableTemplateTypes())
            {
                AvailableTemplates.Add(avail);
            }
            SelectedTemplate = AvailableTemplates.FirstOrDefault();

            // prepare export
            ExportTypes = new ObservableCollection <string>()
            {
                "XLS", "XLSX", "JSON", "XML", "IFC"
            };
            SelectedExportType = "XLSX";

            // prepare system modes
            AvailableSystemModes = new ObservableCollection <SystemModeItem>();
            foreach (var valid in Enum.GetValues(typeof(SystemExtractionMode)).OfType <SystemExtractionMode>().Where(r => r != SystemExtractionMode.System))
            {
                AvailableSystemModes.Add(new SystemModeItem(valid));
            }

            // define filters and set defaults
            UserFilters = new FilterValues();
            SetDefaultFilters();

            DataContext = this;
        }
Exemplo n.º 2
0
        public ClassFilter(FilterValues userFilters)
        {
            InitializeComponent();

            DefaultFilters = new FilterValues(); //gives us the initial list of types
            UserFilters    = userFilters;        //hold the amendments, as required by the user
        }
Exemplo n.º 3
0
        public FilterControllerTests()
        {
            var profiles      = new MapProfiles();
            var configuration = new MapperConfiguration(cfg => cfg.AddProfile(profiles));
            var mapper        = new Mapper(configuration);

            var values = new FilterValues
            {
                Id     = "1",
                Field  = "2",
                Values = new[] { new LabelValuePair {
                                     Label = "3", Value = "3"
                                 }, new LabelValuePair {
                                     Label = "4", Value = "4"
                                 } },
                Libraries = new [] { "5", "6" }
            };

            var filterServiceMock = new Mock <IFilterService>();

            filterServiceMock
            .Setup(x => x.GetFilterValues(It.IsAny <LibraryType>(), It.IsAny <string>(), It.IsAny <string[]>()))
            .Returns(values);

            _controller = new FilterController(filterServiceMock.Object, mapper);
        }
Exemplo n.º 4
0
        public ClassFilter(FilterValues userFilters)
        {
            InitializeComponent();

            DefaultFilters = new FilterValues(); //gives us the initial list of types
            UserFilters = userFilters; //hold the amendments, as required by the user
        }
Exemplo n.º 5
0
 /// <summary>
 /// Добавить значение в параметр FilterValues.
 /// </summary>
 /// <param name="filterValue"></param>
 public void AddFilterValue(string filterValue)
 {
     if (FilterValues == null)
     {
         FilterValues = new List <string>();
     }
     FilterValues.Add(filterValue);
 }
Exemplo n.º 6
0
 public COBieXLSSerialiser(string fileName, string templateFileName)
 {
     FileName         = fileName;
     TemplateFileName = templateFileName;
     HasErrorLevel    = typeof(COBieError).GetProperties().Any(prop => prop.Name == "ErrorLevel");
     _commentCount    = 0;
     Excludes         = new FilterValues();//get the rules for excludes for generating COBie
 }
Exemplo n.º 7
0
        private FilterValues GetFilterValues()
        {
            var filterValuesDto = new FilterValues
            {
                Rooms = _roomService.GetAllRoomCompanyNames().ToList()
            };

            return(filterValuesDto);
        }
Exemplo n.º 8
0
        public COBieGenerator()
        {
            InitializeComponent();
            MergeItemsList = new List <string>();
            UserFilters    = new FilterValues(); //class filters

            // Configure the app to use Esent when appropriate
            IfcStore.ModelProviderFactory.UseHeuristicModelProvider();
        }
Exemplo n.º 9
0
 public void Insert(FilterValues values)
 {
     ExecuteQuery(() =>
     {
         using var database = Context.CreateDatabaseContext();
         var collection     = database.GetCollection <FilterValues>("Filters");
         collection.Insert(values);
     });
 }
Exemplo n.º 10
0
        private FilterValues GetFilterValues()
        {
            var filterValuesDto = new FilterValues
            {
                Genres     = _genreService.GetAllGenreNames().ToList(),
                Platforms  = _platformService.GetAllPlatformNames().ToList(),
                Publishers = _publisherService.GetAllPublisherCompanyNames().ToList()
            };

            return(filterValuesDto);
        }
Exemplo n.º 11
0
        protected override void SetupRepository()
        {
            var context = CreateDbContext();

            using (var database = context.LiteDatabase)
            {
                var collection      = database.GetCollection <FilterValues>("Filters");
                var filterValuesOne = new FilterValues
                {
                    Field     = "subtitle",
                    Id        = "10",
                    Libraries = new[] { "1", "2" },
                    Values    = new[] { new LabelValuePair {
                                            Label = "1", Value = "1"
                                        }, new LabelValuePair {
                                            Label = "2", Value = "2"
                                        } }
                };

                var filterValuesTwo = new FilterValues
                {
                    Field     = "subtitle",
                    Id        = "11",
                    Libraries = new[] { "1" },
                    Values    = new[] { new LabelValuePair {
                                            Label = "3", Value = "3"
                                        }, new LabelValuePair {
                                            Label = "4", Value = "4"
                                        } }
                };

                var filterValuesThree = new FilterValues
                {
                    Field     = "container",
                    Id        = "12",
                    Libraries = new [] { "1" },
                    Values    = new[] { new LabelValuePair {
                                            Label = "a", Value = "a"
                                        }, new LabelValuePair {
                                            Label = "b", Value = "b"
                                        } }
                };

                collection.InsertBulk(new[] { filterValuesOne, filterValuesTwo, filterValuesThree });
            }

            _filterRepository = new FilterRepository(context);
        }
Exemplo n.º 12
0
        public IEnumerable <T> GetFilteredRows <T>(IEnumerable <T> resultRows) where T : IResultRow
        {
            int cutoffIrating;

            try
            {
                cutoffIrating = FilterValues.OfType <IntFilterValueEntity>().FirstOrDefault().IntValue;
            }
            catch (Exception e)
            {
                throw new InvalidFilterValueException("Filter is null or has invalid type", innerException: e);
            }

            // Return rows with irating >= cutoff or exclude them
            return(resultRows.Where(x => (x.SeasonStartIRating >= cutoffIrating) != Exclude));
        }
Exemplo n.º 13
0
        public COBieExport()
        {
            InitializeComponent();

            ConfigureFolder();

            // prepare templates list
            Templates = new ObservableCollection <string>()
            {
                UkTemplate, UsTemplate
            };
            SelectedTemplate = UkTemplate;

            // define filters and set defaults
            UserFilters = new FilterValues();
            SetDefaultFilters();

            DataContext = this;
        }
Exemplo n.º 14
0
        public COBieClassFilter(FilterValues userFilters)
        {
            InitializeComponent();

            UserFilters    = userFilters;        //hold the amendments, as required by the user
            DefaultFilters = new FilterValues(); //gives us the initial list of types

            //initialize the collection classes for the list box's
            ClassFilterComponent = new ObservableCollection <CheckedListItem <Type> >();
            ClassFilterType      = new ObservableCollection <CheckedListItem <Type> >();
            ClassFilterAssembly  = new ObservableCollection <CheckedListItem <Type> >();

            //fill in the collections to display the check box's in the list box's
            InitExcludes(ClassFilterComponent, DefaultFilters.ObjectType.Component, UserFilters.ObjectType.Component);
            InitExcludes(ClassFilterType, DefaultFilters.ObjectType.Types, UserFilters.ObjectType.Types);
            InitExcludes(ClassFilterAssembly, DefaultFilters.ObjectType.Assembly, UserFilters.ObjectType.Assembly);

            DataContext = this;
        }
Exemplo n.º 15
0
        public XplorerMainWindow()
        {
            InitializeComponent();
            this.Closed  += new EventHandler(XplorerMainWindow_Closed);
            this.Loaded  += XplorerMainWindow_Loaded;
            this.Closing += new CancelEventHandler(XplorerMainWindow_Closing);
            this.DrawingControl.UserModeledDimensionChangedEvent += DrawingControl_MeasureChangedEvent;
            InitFromSettings();

            RefreshRecentFiles();

            UserFilters   = new FilterValues();//COBie Class filters, set to initial defaults
            COBieTemplate = _UKTemplate;


            if (Settings.Default.PluginStartupLoad)
            {
                RefreshPlugins();
            }
        }
Exemplo n.º 16
0
        private FilterValues CalculateMovieFilterValues(string field, string[] libraryIds)
        {
            var values = new FilterValues
            {
                Id        = Guid.NewGuid().ToString(),
                Field     = field,
                Libraries = libraryIds
            };

            switch (field.ToLowerInvariant())
            {
            case "subtitle":
                values.Values = _movieRepository.CalculateSubtitleFilterValues(libraryIds).ToArray();
                break;

            case "genre":
                values.Values = _movieRepository.CalculateGenreFilterValues(libraryIds).ToArray();
                break;

            case "container":
                values.Values = _movieRepository.CalculateContainerFilterValues(libraryIds).ToArray();
                break;

            case "collection":
                values.Values = _movieRepository.CalculateCollectionFilterValues().ToArray();
                break;

            case "codec":
                values.Values = _movieRepository.CalculateCodecFilterValues(libraryIds).ToArray();
                break;

            case "videorange":
                values.Values = _movieRepository.CalculateVideoRangeFilterValues(libraryIds).ToArray();
                break;

            default: return(null);
            }

            _filterRepository.Insert(values);
            return(values);
        }
Exemplo n.º 17
0
        private void MetroWindow_Loaded(object sender, System.Windows.RoutedEventArgs e)
        {
            MainWindow mainWindow = Application.Current.MainWindow as MainWindow;

            List <EnvironmentState>           environmentstate = mainWindow.GetEnvironmentStatesList();
            List <ReleaseInformation>         releaseinfo      = mainWindow.GetReleaseInformation();
            List <PlatformReleaseInformation> platformrelease  = mainWindow.GetPlatformReleaseInformation();

            Status.ItemsSource          = environmentstate;
            Release.ItemsSource         = releaseinfo;
            PlatformRelease.ItemsSource = platformrelease;

            FilterValues filterValues = mainWindow.GetFilter();

            if (filterValues.Active == true)
            {
                Status.SelectedItem          = environmentstate.FirstOrDefault(x => x.StateDescription.Equals(filterValues.environmentState));
                Release.SelectedItem         = releaseinfo.FirstOrDefault(x => x.Release.Equals(filterValues.releaseInformation));
                PlatformRelease.SelectedItem = platformrelease.FirstOrDefault(x => x.PlatformRelease.Equals(filterValues.platformReleaseInformation));
            }
        }
        public async Task <IEnumerable <CosmosSensorData> > GetFilteredSensorData(string minDateTime = null, string maxDateTime = null)
        {
            string message = $"GetFilteredSensorData() called at {DateTime.UtcNow.ToLongTimeString()}";

            _logger.LogInformation(message);

            FilterValues filter = new FilterValues();

            if (minDateTime != null)
            {
                filter.MinDateTime = minDateTime;
            }

            if (maxDateTime != null)
            {
                filter.MaxDateTime = maxDateTime;
            }

            var result = await _queries.GetAllItems(filter);

            return(result);
        }
Exemplo n.º 19
0
        private FilterService CreateFilterService(LibraryType type, string field, string[] libraryIds)
        {
            _filterValues = new FilterValues
            {
                Id     = "1",
                Field  = field,
                Values = new[] { new LabelValuePair {
                                     Label = "2", Value = "2"
                                 }, new LabelValuePair {
                                     Label = "3", Value = "3"
                                 } },
                Libraries = libraryIds
            };

            _filterRepositoryMock
            .Setup(x => x.Get(field, libraryIds))
            .Returns(_filterValues);
            _filterRepositoryMock
            .Setup(x => x.Insert(It.IsAny <FilterValues>()));

            return(new FilterService(_filterRepositoryMock.Object, _movieRepositoryMock.Object));
        }
Exemplo n.º 20
0
        private void SetDefaultFilters()
        {
            var defaultFilters = new FilterValues(); //gives us the initial list of types

            //initialize the collection classes for the list box's
            if (ClassFilterComponent == null)
            {
                ClassFilterComponent = new ObservableCollection <CheckedListItem <Type> >();
            }
            if (ClassFilterType == null)
            {
                ClassFilterType = new ObservableCollection <CheckedListItem <Type> >();
            }
            if (ClassFilterAssembly == null)
            {
                ClassFilterAssembly = new ObservableCollection <CheckedListItem <Type> >();
            }

            //fill in the collections to display the check box's in the list box's
            InitExcludes(ClassFilterComponent, defaultFilters.ObjectType.Component, UserFilters.ObjectType.Component);
            InitExcludes(ClassFilterType, defaultFilters.ObjectType.Types, UserFilters.ObjectType.Types);
            InitExcludes(ClassFilterAssembly, defaultFilters.ObjectType.Assembly, UserFilters.ObjectType.Assembly);
        }
Exemplo n.º 21
0
        public JsonResult GetFiltersValue(string _reportID)
        {
            Guid ReportID             = new Guid(_reportID);
            var  data                 = db.reportFilters.Where(x => x.ReportID == ReportID).Where(x => x.IsEditable == 1).GroupBy(x => x.FilterType);
            List <FilterValues> model = new List <FilterValues>();

            foreach (var group in data)
            {
                FilterValues record = new FilterValues();
                record.key = group.Key.ToString();
                record.gid = string.Empty;
                record.val = string.Empty;
                foreach (var entry in group)
                {
                    record.gid = record.gid == string.Empty ? record.gid : record.gid + ",";
                    record.val = record.val == string.Empty ? record.val : record.val + ",";

                    record.gid += string.IsNullOrEmpty(entry.FilterGUID.ToString()) ? "-" : entry.FilterGUID.ToString();
                    record.val += string.IsNullOrEmpty(entry.FilterValue.ToString()) ? "-" : entry.FilterValue.ToString();
                }
                model.Add(record);
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 22
0
 public COBieXLSXSerialiser(string fileName, string templateFileName)
 {
     IsXlsx = false;
     FileName = fileName;
     TemplateFileName = templateFileName;
     hasErrorLevel = typeof(COBieError).GetProperties().Where(prop => prop.Name == "ErrorLevel").Any();
     _commentCount = 0;
     Excludes = new FilterValues();//get the rules for excludes for generating COBie
 }
Exemplo n.º 23
0
        public static FilterResult Filter(FilterValues filters, string path)
        {
            var results     = new List <Histogram>();
            var filterCount = 9;

            var destImages = new Image <Rgba32> [filterCount];
            var srcImage   = Image.Load <Rgba32>(path);

            IImageInfo info;

            using (var file = new FileStream(path, FileMode.Open))
            {
                info = Image.Identify(file);
            }

            // Reserve image memory
            for (int i = 0; i < filterCount; i++)
            {
                destImages[i] = new Image <Rgba32>(info.Width, info.Height);
            }

            // Create threads
            var    threads = Environment.ProcessorCount;
            double chunks  = (double)info.Height / threads;

            Parallel.For(0, threads, i =>
            {
                // Leave a image edge of 1px for kernel
                var rect = new FilterRect
                {
                    x    = 1,
                    y    = (int)(i * chunks) + 1,
                    endx = info.Width - 1,
                    endy = (int)((i + 1) * chunks) + (i == (threads - 1) ? -1 : +1)
                };
                results.Add(ApplyFilters(filters, srcImage, destImages, rect));
            });

            LongestVerticalLineCount(
                srcImage: srcImage,
                srcFilter: destImages[ImageIdx.Passfilter],
                hinterpolateImage: destImages[ImageIdx.HInterpolte],
                destImage: destImages[ImageIdx.LongestEdgeOverlay],
                avgWindow: filters.ScanlineInterpolationWidth);

            // Processing now completed

            // Copy all filtered images into one
            var stages = new Image <Rgba32>[]
            {
                destImages[ImageIdx.EdgeFilter],
                destImages[ImageIdx.Blur],
                destImages[ImageIdx.Passfilter],
                destImages[ImageIdx.HInterpolte],
                destImages[ImageIdx.LongestEdgeOverlay]
            };
            var pipelineImage = new Image <Rgba32>(stages.Length * info.Width, info.Height);

            for (int y = 0; y < info.Height; y++)
            {
                var targetRow = pipelineImage.GetPixelRowSpan(y);
                // Copy all stages rows into one giant column side by side
                for (int i = 0; i < stages.Length; i++)
                {
                    var srcRow = stages[i].GetPixelRowSpan(y);
                    for (int x = 0; x < info.Width; x++)
                    {
                        targetRow[x + i * info.Width] = srcRow[x];
                    }
                }
            }

            return(new FilterResult
            {
                Histogram = results.Aggregate(new Histogram(), (a, b) => a.Add(b)),
                RedImage = destImages[ImageIdx.Red],
                GreenImage = destImages[ImageIdx.Green],
                LeafImage = destImages[ImageIdx.Leaf],
                EarthImage = destImages[ImageIdx.Earth],
                EdgeImage = destImages[ImageIdx.EdgeFilter],
                PassImage = destImages[ImageIdx.Passfilter],
                BlurImage = destImages[ImageIdx.Blur],
                HInterpolateImage = destImages[ImageIdx.HInterpolte],
                PlantTipImage = destImages[ImageIdx.LongestEdgeOverlay],
                WholePipeline = pipelineImage
            });
        }
 public IEnumerable <string> GetFilterValues()
 {
     return(FilterValues.Select(x => x.ToString()));
 }
Exemplo n.º 25
0
 public COBieGenerator()
 {
     InitializeComponent();
     MergeItemsList = new List <string>();
     UserFilters    = new FilterValues(); //class filters
 }
Exemplo n.º 26
0
        bool _FilterOperatorSingleRow;                  // false for Top/Bottom N and Percent; otherwise true
        internal Filter(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p)
        {
            _FilterExpression = null;
            _FilterOperator   = FilterOperatorEnum.Unknown;
            _FilterValues     = null;

            // Loop thru all the child nodes
            foreach (XmlNode xNodeLoop in xNode.ChildNodes)
            {
                if (xNodeLoop.NodeType != XmlNodeType.Element)
                {
                    continue;
                }
                switch (xNodeLoop.Name)
                {
                case "FilterExpression":
                    _FilterExpression = new Expression(r, this, xNodeLoop, ExpressionType.Variant);
                    break;

                case "Operator":
                    _FilterOperator = Engine.FilterOperator.GetStyle(xNodeLoop.InnerText);
                    if (_FilterOperator == FilterOperatorEnum.Unknown)
                    {
                        OwnerReport.rl.LogError(8, "Unknown Filter operator '" + xNodeLoop.InnerText + "'.");
                    }
                    break;

                case "FilterValues":
                    _FilterValues = new FilterValues(r, this, xNodeLoop);
                    break;

                default:
                    // don't know this element - log it
                    OwnerReport.rl.LogError(4, "Unknown Filter element '" + xNodeLoop.Name + "' ignored.");
                    break;
                }
            }
            if (_FilterExpression == null)
            {
                OwnerReport.rl.LogError(8, "Filter requires the FilterExpression element.");
            }
            if (_FilterValues == null)
            {
                OwnerReport.rl.LogError(8, "Filter requires the FilterValues element.");
                return;                         // some of the filter operator checks require values
            }
            _FilterOperatorSingleRow = true;
            switch (_FilterOperator)
            {
            case FilterOperatorEnum.Like:
            case FilterOperatorEnum.Equal:
            case FilterOperatorEnum.NotEqual:
            case FilterOperatorEnum.GreaterThan:
            case FilterOperatorEnum.GreaterThanOrEqual:
            case FilterOperatorEnum.LessThan:
            case FilterOperatorEnum.LessThanOrEqual:
                if (_FilterValues.Items.Count != 1)
                {
                    OwnerReport.rl.LogError(8, "Filter Operator requires exactly 1 FilterValue.");
                }
                break;

            case FilterOperatorEnum.TopN:
            case FilterOperatorEnum.BottomN:
            case FilterOperatorEnum.TopPercent:
            case FilterOperatorEnum.BottomPercent:
                _FilterOperatorSingleRow = false;
                if (_FilterValues.Items.Count != 1)
                {
                    OwnerReport.rl.LogError(8, "Filter Operator requires exactly 1 FilterValue.");
                }
                break;

            case FilterOperatorEnum.In:
                break;

            case FilterOperatorEnum.Between:
                if (_FilterValues.Items.Count != 2)
                {
                    OwnerReport.rl.LogError(8, "Filter Operator Between requires exactly 2 FilterValues.");
                }
                break;

            default:
                OwnerReport.rl.LogError(8, "Valid Filter operator must be specified.");
                break;
            }
        }
Exemplo n.º 27
0
        public CloudHostedViewModel()
        {
            RDPTerminals = new System.Collections.ObjectModel.ObservableCollection <Model.RDPTerminal>();

            MainWindow mainWindow = Application.Current.MainWindow as MainWindow;
            List <CloudHostedInstance> cloudHostedTerminals = mainWindow.CloudHosted;
            List <InstanceAttribute>   instanceAttributes   = mainWindow.InstanceAttributes;

            mainWindow.EnableCloudHosted(false);


            FilterValues filterValues = mainWindow.GetFilter();

            NumberOfMachines = cloudHostedTerminals.Count;

            if (cloudHostedTerminals != null)
            {
                foreach (CloudHostedInstance instance in cloudHostedTerminals)
                {
                    InstanceAttribute instanceAttribute = instanceAttributes.Find(x => x.EnvironmentId == instance.EnvironmentId);

                    string imageSource = "/Resources/DefaultVM.png";
                    if (instanceAttribute != null)
                    {
                        imageSource = instanceAttribute.ImageSource;
                    }

                    EnvironmentState envState = new EnvironmentState()
                    {
                        StateDescription = instance.DeploymentStatus,
                        StateNum         = instance.DeploymentState
                    };
                    mainWindow.AddEnvironmentState(envState);

                    PlatformReleaseInformation platformReleaseInformation = new PlatformReleaseInformation()
                    {
                        PlatformRelease = instance.CurrentPlatformReleaseName
                    };

                    ReleaseInformation releaseinformation = new ReleaseInformation()
                    {
                        Release = instance.CurrentApplicationReleaseName
                    };

                    if (platformReleaseInformation.PlatformRelease != null && releaseinformation.Release != null)
                    {
                        mainWindow.AddReleaseInformation(releaseinformation, platformReleaseInformation);
                    }

                    bool okToAdd = false;
                    if (filterValues.Active == true)
                    {
                        if (instance.DeploymentStatus == filterValues.environmentState.StateDescription &&
                            instance.CurrentApplicationReleaseName == filterValues.releaseInformation.Release &&
                            instance.CurrentPlatformReleaseName == filterValues.platformReleaseInformation.PlatformRelease)
                        {
                            okToAdd = true;
                        }
                    }
                    else
                    {
                        okToAdd = true;
                    }

                    if (okToAdd == true)
                    {
                        RDPTerminals.Add(new Model.RDPTerminal()
                        {
                            InstanceId                 = instance.InstanceId,
                            DeploymentStatus           = instance.DeploymentStatus,
                            ApplicationRelease         = instance.CurrentApplicationReleaseName,
                            CurrentPlatformReleaseName = instance.CurrentPlatformReleaseName,
                            TopologyType               = instance.TopologyType,
                            DisplayName                = instance.DisplayName,
                            EnvironmentId              = instance.EnvironmentId,
                            Instances           = instance.Instances,
                            SqlAzureCredentials = instance.SqlAzureCredentials,
                            NavigationLinks     = instance.NavigationLinks,
                            ImageSource         = imageSource
                        });
                    }
                }
                if (RDPTerminals.Count > 0)
                {
                    RDPTerminals.BubbleSort();
                    SelectedRDPTerminal = RDPTerminals[0];
                    mainWindow.EnableCloudHosted(true);
                }
            }
        }
Exemplo n.º 28
0
 public COBieGenerator()
 {
     InitializeComponent();
     MergeItemsList = new List<string>();
     UserFilters = new FilterValues(); //class filters
 }
Exemplo n.º 29
0
        /// <summary>
        /// This method does three things:
        ///   1. Create a histogram or the original image color distribution
        ///   2. Creates a new image with filtered green colors
        ///   2. Creates a new image with filtered red colors
        /// </summary>
        /// <returns></returns>
        public ImageProcessResult Start(FilterValues thresholds)
        {
            var filterResult = Filter(thresholds, _imageFile.Original.Path);

            filterResult.RedImage.Save(_imageFile.FilteredRed.Path);
            filterResult.GreenImage.Save(_imageFile.FilteredGreen.Path);
            filterResult.LeafImage.Save(_imageFile.Leaf.Path);
            filterResult.EarthImage.Save(_imageFile.Earth.Path);
            filterResult.EdgeImage.Save(_imageFile.Edge.Path);
            filterResult.PlantTipImage.Save(_imageFile.PlantTip.Path);
            filterResult.BlurImage.Save(_imageFile.Blur.Path);
            filterResult.PassImage.Save(_imageFile.Pass.Path);
            filterResult.HInterpolateImage.Save(_imageFile.HInterpolate.Path);
            filterResult.Histogram.Draw(filterResult, false, 256, 200);
            filterResult.Histogram.HistogramR.Save(_imageFile.HistR.Path);
            filterResult.Histogram.HistogramG.Save(_imageFile.HistG.Path);
            filterResult.Histogram.HistogramB.Save(_imageFile.HistB.Path);
            filterResult.WholePipeline.Save(_imageFile.WholePipeline.Path);

            return(new ImageProcessResult
            {
                FilterValues = thresholds,
                Files = new List <FilterFileInfo>()
                {
                    new FilterFileInfo {
                        Path = _imageFile.WholePipeline.RelativePath, Element = "pipeline"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.Original.RelativePath, Element = "original"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.Blur.RelativePath, Element = "blur"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.Earth.RelativePath, Element = "earth"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.Edge.RelativePath, Element = "edge"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.FilteredGreen.RelativePath, Element = "green"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.FilteredRed.RelativePath, Element = "red"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.PlantTip.RelativePath, Element = "tip"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.Leaf.RelativePath, Element = "leaf"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.HInterpolate.RelativePath, Element = "hinterpolate"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.HistR.RelativePath, Element = "hist-red"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.HistG.RelativePath, Element = "hist-green"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.HistB.RelativePath, Element = "hist-blue"
                    },
                    new FilterFileInfo {
                        Path = _imageFile.Pass.RelativePath, Element = "pass"
                    }
                }
            });
        }
        public IEnumerable <T> GetFilteredRows <T>(IEnumerable <T> resultRows) where T : IResultRow
        {
            // get property by columnPropertyName
            var nestedColumnProperty = typeof(IResultRow).GetNestedPropertyInfo(ColumnPropertyName);

            if (nestedColumnProperty == null)
            {
                throw new InvalidFilterValueException($"Column property witht the name {ColumnPropertyName} not found");
            }

            Type propertyType = nestedColumnProperty.PropertyType;

            if (typeof(IComparable).IsAssignableFrom(propertyType) == false)
            {
                throw new InvalidFilterValueException($"Column {ColumnPropertyName} does not have a comparable type");
            }

            // Convert string to column property type
            IEnumerable <IComparable> comparableFilterValues;

            if (propertyType.Equals(typeof(TimeSpan)))
            {
                comparableFilterValues = FilterValues.Select(x => TimeSpan.Parse(x)).Cast <IComparable>();
            }
            else
            {
                comparableFilterValues = FilterValues.Select(x => Convert.ChangeType(x, propertyType, CultureInfo.InvariantCulture)).Cast <IComparable>();
            }

            Func <IComparable, IEnumerable <IComparable>, bool> compare;

            switch (Comparator)
            {
            case ComparatorTypeEnum.IsBigger:
                compare = (x, y) => { var c = x.CompareTo(y.FirstOrDefault()); return(c == 1); };
                break;

            case ComparatorTypeEnum.IsBiggerOrEqual:
                compare = (x, y) => { var c = x.CompareTo(y.FirstOrDefault()); return(c == 1 || c == 0); };
                break;

            case ComparatorTypeEnum.IsEqual:
                compare = (x, y) => { var c = x.CompareTo(y.FirstOrDefault()); return(c == 0); };
                break;

            case ComparatorTypeEnum.IsSmallerOrEqual:
                compare = (x, y) => { var c = x.CompareTo(y.FirstOrDefault()); return(c == -1 || c == 0); };
                break;

            case ComparatorTypeEnum.IsSmaller:
                compare = (x, y) => { var c = x.CompareTo(y.FirstOrDefault()); return(c == -1); };
                break;

            case ComparatorTypeEnum.NotEqual:
                compare = (x, y) => { var c = x.CompareTo(y.FirstOrDefault()); return(c == 1 || c == -1); };
                break;

            case ComparatorTypeEnum.InList:
                compare = (x, y) => { var c = y.Any(z => x.CompareTo(z) == 0); return(c); };
                break;

            default:
                compare = (x, y) => true;
                break;
            }

            return(resultRows.Where(x => { var value = (IComparable)nestedColumnProperty.GetValue(x); return (value != null && compare(value, comparableFilterValues)) != Exclude; }));
        }
Exemplo n.º 31
0
    /// <summary>
    /// Page load.
    /// </summary>
    protected void Page_Load(object sender, EventArgs e)
    {
        if (StopProcessing)
        {
            // Do nothing
        }
        else
        {
            if (!RequestHelper.IsPostBack() && (FilterMode != SearchFilterModeEnum.TextBox))
            {
                // If query name filled - execute it
                if (!string.IsNullOrEmpty(FilterQueryName))
                {
                    // Execute query
                    DataSet ds = ConnectionHelper.ExecuteQuery(FilterQueryName, null, FilterWhere, FilterOrderBy);
                    if (!DataHelper.DataSourceIsEmpty(ds))
                    {
                        // Check that dataset has at least 3 columns
                        if (ds.Tables[0].Columns.Count < 3)
                        {
                            lblError.ResourceString = "srch.filter.fewcolumns";
                            lblError.Visible        = true;
                            return;
                        }

                        // Loop thru all rows
                        foreach (DataRow dr in ds.Tables[0].Rows)
                        {
                            AddItem(dr[0].ToString(), dr[1].ToString(), ResHelper.LocalizeString(dr[2].ToString()));
                        }
                    }
                }
                // Else if values are filled - parse them
                else if (!string.IsNullOrEmpty(FilterValues))
                {
                    // Split values into rows
                    string[] rows = FilterValues.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);

                    // Loop thru each row
                    foreach (string row in rows)
                    {
                        string trimmedRow = row.Trim().TrimEnd('\r');
                        if (!string.IsNullOrEmpty(trimmedRow))
                        {
                            string[] values = trimmedRow.Split(';');
                            if (values.Length == 3)
                            {
                                AddItem(values[0], values[1], values[2]);
                            }
                            else
                            {
                                lblError.ResourceString = "srch.filter.badformat";
                                lblError.Visible        = true;
                                return;
                            }
                        }
                    }
                }
            }

            // Get webpart ID
            string webpartID = ValidationHelper.GetString(GetValue("WebpartControlID"), ClientID);

            // Try to get selected values from querystring - but only if is not postback
            if (!RequestHelper.IsPostBack())
            {
                string selectedItems = QueryHelper.GetString(webpartID, "");

                // If none of items are selected - try to get default values
                if (string.IsNullOrEmpty(selectedItems))
                {
                    selectedItems = DefaultSelectedIndex;
                }

                if (!string.IsNullOrEmpty(selectedItems))
                {
                    string[] splittedItems = selectedItems.Split(';');
                    foreach (string item in splittedItems)
                    {
                        switch (FilterMode)
                        {
                        case SearchFilterModeEnum.Checkbox:
                            SelectItem(item, chklstFilter);
                            break;

                        case SearchFilterModeEnum.RadioButton:
                            SelectItem(item, radlstFilter);
                            break;

                        case SearchFilterModeEnum.DropdownList:
                            SelectItem(item, drpFilter);
                            break;

                        default:
                            txtFilter.Text = item;
                            break;
                        }
                    }
                }
            }

            string applyFilter = "";
            string ids         = "";

            // Set up controls
            switch (FilterMode)
            {
            // Set text box
            case SearchFilterModeEnum.TextBox:
                txtFilter.Visible           = true;
                txtFilter.WatermarkCssClass = WatermarkCssClass;
                txtFilter.WatermarkText     = WatermarkText;
                txtFilter.AutoPostBack      = FilterAutoPostback;
                if (!String.IsNullOrEmpty(DefaultSelectedIndex) && String.IsNullOrEmpty(txtFilter.Text) && !URLHelper.IsPostback())
                {
                    txtFilter.Text = DefaultSelectedIndex;
                }

                // Apply filter only of textbox contains something
                if (!String.IsNullOrEmpty(txtFilter.Text))
                {
                    // Prepare right condition when filter values aren't empty
                    if (!String.IsNullOrEmpty(FilterValues))
                    {
                        string[] rows = FilterValues.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);

                        // Loop thru each row
                        foreach (string row in rows)
                        {
                            string trimmedRow = row.Trim();
                            if (!string.IsNullOrEmpty(trimmedRow))
                            {
                                applyFilter += trimmedRow + ":(" + SearchHelper.ProcessSearchKeywords(txtFilter.Text, SearchOptionsEnum.NoneSearch) + ") ";
                            }
                        }
                    }
                    else
                    {
                        applyFilter = txtFilter.Text;
                    }
                }

                ids = HttpUtility.UrlEncode(txtFilter.Text);
                break;

            // Set checkbox list
            case SearchFilterModeEnum.Checkbox:

                // Set visibility and layout
                chklstFilter.Visible         = true;
                chklstFilter.RepeatDirection = RepeatDirection.Vertical;
                if (FilterLayout == ControlLayoutEnum.Horizontal)
                {
                    chklstFilter.RepeatDirection = RepeatDirection.Horizontal;
                }

                chklstFilter.RepeatLayout  = GetLayoutEnumFromString(RepeatLayout);
                chklstFilter.RepeatColumns = this.RepeatColumns;

                // Get selected items
                applyFilter = GetSelectedItems(chklstFilter, out ids);

                // Set autopostback
                if (FilterAutoPostback)
                {
                    chklstFilter.AutoPostBack = true;
                }
                break;

            // Set radio list
            case SearchFilterModeEnum.RadioButton:

                // Set visibility and layout
                radlstFilter.Visible         = true;
                radlstFilter.RepeatDirection = RepeatDirection.Vertical;
                if (FilterLayout == ControlLayoutEnum.Horizontal)
                {
                    radlstFilter.RepeatDirection = RepeatDirection.Horizontal;
                }

                radlstFilter.RepeatLayout  = GetLayoutEnumFromString(RepeatLayout);
                radlstFilter.RepeatColumns = this.RepeatColumns;


                // Get selected items
                applyFilter = GetSelectedItems(radlstFilter, out ids);

                // Set autopostback
                if (FilterAutoPostback)
                {
                    radlstFilter.AutoPostBack = true;
                }
                break;

            // Set dropdown list
            default:

                // Set visibility
                drpFilter.Visible = true;

                // Get selected items
                applyFilter = GetSelectedItems(drpFilter, out ids);

                // Set autopostback
                if (FilterAutoPostback)
                {
                    drpFilter.AutoPostBack = true;
                }
                lblFilter.AssociatedControlID = drpFilter.ID;
                break;
            }

            // Apply filter and add selected values to querystring
            ISearchFilterable searchWebpart = (ISearchFilterable)CMSControlsHelper.GetFilter(SearchWebpartID);
            if (searchWebpart != null)
            {
                if (FilterIsConditional)
                {
                    // If filter fieldname or value is filled
                    if (!string.IsNullOrEmpty(applyFilter) && (applyFilter.Trim() != ":"))
                    {
                        // Handle filter clause
                        if (!string.IsNullOrEmpty(FilterClause))
                        {
                            applyFilter = FilterClause + "( " + applyFilter + " )";
                        }
                        searchWebpart.ApplyFilter(applyFilter, null);
                    }
                    searchWebpart.AddFilterOptionsToUrl(webpartID, ids);
                }
                else
                {
                    searchWebpart.ApplyFilter(null, applyFilter);
                    searchWebpart.AddFilterOptionsToUrl(webpartID, ids);
                }
            }
        }
    }
Exemplo n.º 32
0
 private static Histogram ApplyFilters(FilterValues filterValues, in Image <Rgba32> srcImage, Image <Rgba32>[] images,