Esempio n. 1
0
        internal void SaveTo(FiltersSection section)
        {
            FilterCollection filterCollection = section.Filters;

            filterCollection.Clear();
            foreach (IFilter filter in list)
            {
                Type          filterType    = filter.GetType();
                FilterElement filterElement = new FilterElement();
                filterElement.Name = filterType.Name;
                filterElement.Type = filterType;
                filterCollection.Add(filterElement);

                foreach (PropertyInfo propertyInfo in filterType.GetProperties())
                {
                    if (propertyInfo.Name != "LastResult")
                    {
                        FilterParameterElement parameter = new FilterParameterElement();
                        parameter.Name = propertyInfo.Name;

                        object propertyValue = propertyInfo.GetValue(filter, null);
                        parameter.Type = propertyValue.GetType();

                        TypeConverter converter = TypeDescriptor.GetConverter(propertyValue);
                        parameter.Value = converter.ConvertToString(propertyValue);

                        filterElement.Parameters.Add(parameter);
                    }
                }
            }
        }
        public PartnerListForm_MapView(PartnerListForm PartnerListForm)
        {
            InitializeComponent();

            Title = "نقشه";

            _NearbyCustomers_DistanceSlider.Minimum       = 0;
            _NearbyCustomers_DistanceSlider.Maximum       = 100;
            _NearbyCustomers_DistanceSlider.Value         = 0.000324684131;
            _NearbyCustomers_DistanceSlider.ValueChanged += (sender, e) => {
                if (Math.Abs(PartnerListForm.NearbyCustomers_DistanceSlider - _NearbyCustomers_DistanceSlider.Value) >= 0.5)
                {
                    PartnerListForm.NearbyCustomers_DistanceSlider = _NearbyCustomers_DistanceSlider.Value;
                }
            };

            this.PartnerListForm = PartnerListForm;

            Map = new CustomMap(MapSpan.FromCenterAndRadius(new Position(32.7295492, 53.9990942), Distance.FromMiles(650)))
            {
                IsShowingUser = true
            };
            Map.CustomPins = new List <CustomPin>();
            PartnersMapContainer.Children.Add(Map);
            Map.ShowingPinChanged += Map_OnShowingPinChanged;

            PartnersSearchBar.TextChanged += async(sender, args) => {
                if (CurrentPageSet)
                {
                    await PartnerListForm.FillPartners(args.NewTextValue);

                    if (PartnerListForm.ListView.PartnersSearchBar.Text != args.NewTextValue)
                    {
                        PartnerListForm.ListView.PartnersSearchBar.Text = args.NewTextValue;
                    }
                }
            };
            PartnersSearchBar.SearchButtonPressed += async(sender, args) => {
                await PartnersSearchBar.FadeTo(0);

                PartnersSearchBar.IsVisible = false;
                PartnerListForm.ListView.PartnersSearchBar.IsVisible = false;
                if (App.UseVisitProgram.Value)
                {
                    FiltersSection.IsVisible = true;
                    await FiltersSection.FadeTo(1);

                    PartnerListForm.ListView.FiltersSection.IsVisible = true;
                    await PartnerListForm.ListView.FiltersSection.FadeTo(1);
                }
            };

            IncludeVisitedsSwitch.Toggled += PartnerListForm.FilterChanged;
            if (!App.UseVisitProgram.Value)
            {
                FiltersSection.IsVisible = false;
            }
        }
        public PartnerListForm_ListView(PartnerListForm PartnerListForm)
        {
            InitializeComponent();

            Title = "لیست";

            _NearbyCustomers_DistanceSlider.Minimum       = 0;
            _NearbyCustomers_DistanceSlider.Maximum       = 100;
            _NearbyCustomers_DistanceSlider.Value         = 0.000324684131;
            _NearbyCustomers_DistanceSlider.ValueChanged += (sender, e) => {
                if (Math.Abs(PartnerListForm.NearbyCustomers_DistanceSlider - _NearbyCustomers_DistanceSlider.Value) >= 0.5)
                {
                    PartnerListForm.NearbyCustomers_DistanceSlider = _NearbyCustomers_DistanceSlider.Value;
                }
            };

            this.PartnerListForm = PartnerListForm;

            CustomPartnerListCell.HasGroupColumn = App.ShowPartnerGroupInList.Value;
            PartnerItems.ItemTemplate            = new DataTemplate(typeof(CustomPartnerListCell));

            PartnerItems.ItemSelected  += PartnerItems_ItemSelected;
            PartnerItems.ItemTapped    += PartnerItems_ItemTapped;
            PartnerItems.SeparatorColor = Color.FromHex("A5ABB7");
            PartnerItems.HasUnevenRows  = true;

            PartnersSearchBar.TextChanged += async(sender, args) => {
                if (CurrentPageSet)
                {
                    await PartnerListForm.FillPartners(args.NewTextValue);

                    if (PartnerListForm.MapView.PartnersSearchBar.Text != args.NewTextValue)
                    {
                        PartnerListForm.MapView.PartnersSearchBar.Text = args.NewTextValue;
                    }
                }
            };
            PartnersSearchBar.SearchButtonPressed += async(sender, args) => {
                await PartnersSearchBar.FadeTo(0);

                PartnersSearchBar.IsVisible = false;
                PartnerListForm.MapView.PartnersSearchBar.IsVisible = false;
                if (App.UseVisitProgram.Value)
                {
                    FiltersSection.IsVisible = true;
                    await FiltersSection.FadeTo(1);

                    PartnerListForm.MapView.FiltersSection.IsVisible = true;
                    await PartnerListForm.MapView.FiltersSection.FadeTo(1);
                }
            };

            IncludeVisitedsSwitch.Toggled += PartnerListForm.FilterChanged;
            if (!App.UseVisitProgram.Value)
            {
                FiltersSection.IsVisible = false;
            }
        }
Esempio n. 4
0
        public VideoCaptureProvider()
        {
            bitPerPixel = 24;
            nextFrame   = new AutoResetEvent(false);

            FiltersSection section = MainLogic.Instance.ConfigurationLogic.GetSection <FiltersSection>(sectionName);

            Filters.LoadFrom(section);
        }
Esempio n. 5
0
        public override void Save()
        {
            ConfigurationLogic configurationLogic = MainLogic.Instance.ConfigurationLogic;
            FiltersSection     section            = configurationLogic.GetSection <FiltersSection>(sectionName);

            if (section == null)
            {
                section = new FiltersSection();
                configurationLogic.AddSection(sectionName, section);
            }
            Filters.SaveTo(section);
        }
Esempio n. 6
0
        internal void LoadFrom(FiltersSection section)
        {
            try
            {
                FilterCollection filterCollection = section.Filters;

                list = new List <IFilter>();
                foreach (FilterElement filterElement in filterCollection)
                {
                    Type            filterType  = filterElement.Type;
                    ConstructorInfo constructor = filterType.GetConstructor(Type.EmptyTypes);
                    if (constructor == null)
                    {
                        throw new MultitouchException(string.Format("no constructor found for filter '{0}'", filterType.FullName));
                    }
                    IFilter filter = (IFilter)constructor.Invoke(new object[0]);
                    list.Add(filter);

                    foreach (FilterParameterElement parameterElement in filterElement.Parameters)
                    {
                        PropertyInfo propertyInfo = filterType.GetProperty(parameterElement.Name);

                        TypeConverter converter = TypeDescriptor.GetConverter(parameterElement.Type);

                        object value = converter.ConvertFrom(parameterElement.Value);
                        propertyInfo.SetValue(filter, value, null);
                    }
                }
            }
            catch (Exception e)
            {
                Trace.TraceError(e.ToString());
                list = new List <IFilter>();
                list.Add(new Grayscale());
                list.Add(new RemoveBackground());
                list.Add(new SimpleHighpass());
                list.Add(new Scaler());
                //list.Add(new Rectify());
                list.Add(new Threshold());
            }
        }
        static PageNameFilter()
        {
            _logger = new EventLogHelper(typeof(PageNameFilter));

            var filters = new List <IFilterPagesToAnalyze> {
            };

            var config = FiltersSection.Get();

            foreach (var filter in config.Filters.Cast <FilterElement>())
            {
                var filterType = Type.GetType(filter.NameOrType);
                if (filterType == null)
                {
                    _logger.Warn(() => string.Format("Couldn't load type for filter: {0}", filter.NameOrType));
                    continue;
                }

                filters.Add((IFilterPagesToAnalyze)Activator.CreateInstance(filterType));
            }

            _filters = filters.ToArray();
        }
Esempio n. 8
0
        private void AddTabFilters()
        {
            //Look for Audio Decoders, if exist assume decoders are installed & present config option
            if (splashScreen != null)
            {
                splashScreen.SetInformation("Adding filters section...");
            }

            FiltersSection filterSection = new FiltersSection();

            AddSection(new ConfigPage(null, filterSection, false));

            //Log.Info("  add Video codec section");
            //AddSection(new ConfigPage(filterSection, new MovieCodec(), false));
            //Log.Info("  add DVD codec section");
            //AddSection(new ConfigPage(filterSection, new DVDCodec(), false));
            //Log.Info("  add TV codec section");
            //AddSection(new ConfigPage(filterSection, new TVCodec(), false));

            ArrayList availableAudioFilters = FilterHelper.GetFilters(MediaType.Audio, MediaSubType.Mpeg2Audio);

            if (availableAudioFilters.Count > 0)
            {
                if (splashScreen != null)
                {
                    splashScreen.SetInformation("Adding audio filters...");
                }

                ArrayList availableAACAudioFilters = FilterHelper.GetFilters(MediaType.Audio, MediaSubType.LATMAAC);
                if (availableAACAudioFilters.Count > 0)
                {
                    foreach (string filter in availableAACAudioFilters)
                    {
                        if (filter.Equals("MONOGRAM AAC Decoder"))
                        {
                            FiltersMonogramAACDecoder monogramConfig = new FiltersMonogramAACDecoder();
                            AddSection(new ConfigPage(filterSection, monogramConfig, true));
                        }
                    }
                }

                foreach (string filter in availableAudioFilters)
                {
                    if (filter.Equals("NVIDIA Audio Decoder"))
                    {
                        FiltersPureVideoDecoder nvidiaConfig = new FiltersPureVideoDecoder();
                        AddSection(new ConfigPage(filterSection, nvidiaConfig, true));
                    }
                    if (filter.Equals("InterVideo Audio Decoder"))
                    {
                        FiltersWinDVD7Decoder windvdConfig = new FiltersWinDVD7Decoder();
                        AddSection(new ConfigPage(filterSection, windvdConfig, true));
                    }
                    if (filter.Equals("DScaler Audio Decoder"))
                    {
                        FiltersDScalerAudio dscalerConfig = new FiltersDScalerAudio();
                        AddSection(new ConfigPage(filterSection, dscalerConfig, true));
                    }
                    if (filter.Equals("MPC - MPA Decoder Filter"))
                    {
                        FiltersMPEG2DecAudio mpaConfig = new FiltersMPEG2DecAudio();
                        AddSection(new ConfigPage(filterSection, mpaConfig, true));
                    }
                    if (filter.Contains("CyberLink Audio Decoder"))
                    {
                        FiltersPowerDVDAudioDecoder pdvdAudioConfig = new FiltersPowerDVDAudioDecoder();
                        AddSection(new ConfigPage(filterSection, pdvdAudioConfig, true));
                    }
                }
            }
            //Look for Video Decoders, if exist assume decoders are installed & present config option
            ArrayList availableVideoFilters = FilterHelper.GetFilters(MediaType.Video, MediaSubTypeEx.MPEG2);

            if (availableVideoFilters.Count > 0)
            {
                if (splashScreen != null)
                {
                    splashScreen.SetInformation("Adding video filters...");
                }
                foreach (string filter in availableVideoFilters)
                {
                    // if we do not have the audio codec installed we want to see the video config nevertheless
                    if (filter.Contains("CyberLink Video/SP Decoder"))
                    {
                        FiltersPowerDVDDecoder pdvdConfig = new FiltersPowerDVDDecoder();
                        AddSection(new ConfigPage(filterSection, pdvdConfig, true));
                    }
                    // if we do not have the audio codec installed we want to see the video config nevertheless
                    if (filter.StartsWith("CyberLink Video Decoder (PDVD"))
                    {
                        FiltersPowerDVDDecoder10 pdvdConfig10 = new FiltersPowerDVDDecoder10();
                        AddSection(new ConfigPage(filterSection, pdvdConfig10, true));
                    }
                    if (filter.Equals("MPC - MPEG-2 Video Decoder (Gabest)"))
                    {
                        FiltersMPEG2DecVideo mpvConfig = new FiltersMPEG2DecVideo();
                        AddSection(new ConfigPage(filterSection, mpvConfig, true));
                    }
                    if (filter.Equals("DScaler Mpeg2 Video Decoder"))
                    {
                        FiltersDScalerVideo dscalervConfig = new FiltersDScalerVideo();
                        AddSection(new ConfigPage(filterSection, dscalervConfig, true));
                    }
                }
            }


            //Add section for video renderer configuration
            //FiltersVideoRenderer renderConfig = new FiltersVideoRenderer();
            //AddSection(new ConfigPage(filterSection, renderConfig, true));

            //Look for Audio Encoders, if exist assume encoders are installed & present config option
            string[]         audioEncoders = new string[] { "InterVideo Audio Encoder" };
            FilterCollection legacyFilters = Filters.LegacyFilters;

            foreach (Filter audioCodec in legacyFilters)
            {
                for (int i = 0; i < audioEncoders.Length; ++i)
                {
                    if (String.Compare(audioCodec.Name, audioEncoders[i], true) == 0)
                    {
                        EncoderFiltersSection EncoderfilterSection = new EncoderFiltersSection();
                        AddSection(new ConfigPage(null, EncoderfilterSection, true));

                        FiltersInterVideoEncoder windvdEncoderConfig = new FiltersInterVideoEncoder();
                        AddSection(new ConfigPage(EncoderfilterSection, windvdEncoderConfig, true));
                    }
                }
            }
        }
        /// <summary>
        /// Manage the steps of parsing and creation of the various reports.
        /// </summary>
        /// <param name="filesToProcess">Files to parse</param>
        public static void DoTheMagic(string[] filesToProcess)
        {
            var             unitySection = (UnityConfigurationSection)ConfigurationManager.GetSection("Unity");
            IUnityContainer container    = new UnityContainer();

            unitySection.Configure(container);

            IMaker  maker  = container.Resolve <IMaker>();
            IParser parser = container.Resolve <IParser>();
            ILogger logger = container.Resolve <ILogger>();

            byte[] outputFile = null;

            int correctCounter = 0;
            int failedCounter  = 0;

            FiltersSection section = ConfigurationManager.GetSection("Filters") as FiltersSection;

            foreach (var file in filesToProcess)
            {
                try
                {
                    logger.Info(string.Format("Inizio a processare il file {0}", Path.GetFileName(file)), 0, 0);

                    string path = Directory.GetParent(file).FullName;
                    string name = Path.GetFileNameWithoutExtension(file);

                    // Step #1: Parsing
                    ShipmentsData info = parser.Parse(File.ReadAllLines(file));
                    logger.Info(string.Format("===> Parsing completato correttamente. {0} corrieri trovati.", info.Shipments.Count), 0, 0);

                    List <ShipmentsData> filteredData = new List <ShipmentsData>();

                    int subReport = 1;

                    foreach (FiltersSettingsElement v in section.FiltersSettings)
                    {
                        string outputFileName = string.Format("{0}{1}.pdf", name, v.Suffix);

                        // Step #2: Filtering
                        Regex         currentRegex = new Regex(v.Pattern);
                        ShipmentsData currentData  = new ShipmentsData()
                        {
                            MetaInformation = info.MetaInformation,
                            Shipments       = info.Shipments.Where(x => currentRegex.IsMatch(x.Name)).ToList(),
                            Date            = info.Date
                        };

                        info.Shipments.RemoveAll(x => currentRegex.IsMatch(x.Name));

                        // Step #3: Making the final report
                        try
                        {
                            outputFile = maker.MakeFinalReport(currentData);
                            logger.Info(string.Format("===> [{1}/{2}] Report creato correttamente. {0} kB totali.", outputFile.Length / 1024, subReport, section.FiltersSettings.Count), 0, 0);

                            // Step #4: Writing the report
                            File.WriteAllBytes(Path.Combine(path, outputFileName), outputFile);
                            logger.Info(string.Format("===> [{2}/{3}] Report scritto correttamente: {0}. {1} Corrieri.", outputFileName, currentData.Shipments.Count, subReport, section.FiltersSettings.Count), 0, 0);
                        }
                        catch (Exception ex)
                        {
                            logger.Error(string.Format("Errore durante la creazione/scrittura del report {0}: {1}", outputFileName, ex.Message), 0, 0);
                        }
                        subReport++;
                    }

                    if (info.Shipments.Count > 0)
                    {
                        logger.Warning("**WARNING** Trovati corrieri spuri!", 0, 0);

                        outputFile = maker.MakeFinalReport(info);
                        logger.Info(string.Format("===> Report creato correttamente. {0} kB totali.", outputFile.Length / 1024), 0, 0);

                        string outputFileName = string.Format("{0}_Spurious.pdf", name);

                        File.WriteAllBytes(Path.Combine(path, outputFileName), outputFile);
                        logger.Info(string.Format("===> Report corrieri spuri scritto correttamente: {0}.", outputFileName), 0, 0);
                    }

                    correctCounter++;
                }
                catch (Exception ex)
                {
                    logger.Error(ex.Message, 0, 0);
                    failedCounter++;
                }
            }

            Console.WriteLine();
            Console.WriteLine(string.Format("Finito! {0} file totali, {1} processati correttamente, {2} file falliti!", filesToProcess.Length, correctCounter, failedCounter));
        }