public static UrlEncoder Create(TextEncoderSettings settings);
 public static JavaScriptEncoder Create(TextEncoderSettings settings);
 public TextEncoderSettings(TextEncoderSettings other);
Example #4
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <AppSettings>(Configuration);

            // We re-register the Scenarios as an instance singleton here to avoid it being created again due to the
            // registration done in Program.Main
            services.AddSingleton(Scenarios);

            // Common DB services
            services.AddSingleton <IRandom, DefaultRandom>();
            services.AddEntityFrameworkSqlServer();

            var appSettings = Configuration.Get <AppSettings>();

            Console.WriteLine($"Database: {appSettings.Database}");

            switch (appSettings.Database)
            {
            case DatabaseServer.PostgreSql:
                var settings = new NpgsqlConnectionStringBuilder(appSettings.ConnectionString);
                if (!settings.NoResetOnClose)
                {
                    throw new ArgumentException("No Reset On Close=true must be specified for Npgsql");
                }
                if (settings.Enlist)
                {
                    throw new ArgumentException("Enlist=false must be specified for Npgsql");
                }

                services.AddDbContextPool <ApplicationDbContext>(options => options.UseNpgsql(appSettings.ConnectionString));

                if (Scenarios.Any("Raw") || Scenarios.Any("Dapper"))
                {
                    services.AddSingleton <DbProviderFactory>(NpgsqlFactory.Instance);
                }
                break;

            case DatabaseServer.SqlServer:
                services.AddDbContextPool <ApplicationDbContext>(options => options.UseSqlServer(appSettings.ConnectionString));

                if (Scenarios.Any("Raw") || Scenarios.Any("Dapper"))
                {
                    services.AddSingleton <DbProviderFactory>(SqlClientFactory.Instance);
                }
                break;

            case DatabaseServer.MySql:
                services.AddDbContextPool <ApplicationDbContext>(options => options.UseMySql(appSettings.ConnectionString));

                if (Scenarios.Any("Raw") || Scenarios.Any("Dapper"))
                {
                    services.AddSingleton <DbProviderFactory>(MySql.Data.MySqlClient.MySqlClientFactory.Instance);
                }
                break;

            case DatabaseServer.MongoDb:

                var mongoClient   = new MongoClient(appSettings.ConnectionString);
                var mongoDatabase = mongoClient.GetDatabase("hello_world");
                services.AddSingleton(mongoClient);
                services.AddSingleton(mongoDatabase);
                services.AddSingleton(sp => mongoDatabase.GetCollection <Fortune>("fortune"));
                services.AddSingleton(sp => mongoDatabase.GetCollection <World>("world"));

                break;
            }

            if (Scenarios.Any("Ef"))
            {
                services.AddScoped <EfDb>();
            }

            if (Scenarios.Any("Raw"))
            {
                services.AddScoped <RawDb>();
            }

            if (Scenarios.Any("Dapper"))
            {
                services.AddScoped <DapperDb>();
            }

            if (Scenarios.Any("Mongo"))
            {
                services.AddScoped <MongoDb>();
            }

            if (Scenarios.Any("Fortunes"))
            {
                var settings = new TextEncoderSettings(UnicodeRanges.BasicLatin, UnicodeRanges.Katakana, UnicodeRanges.Hiragana);
                settings.AllowCharacter('\u2014');  // allow EM DASH through
                services.AddWebEncoders((options) =>
                {
                    options.TextEncoderSettings = settings;
                });
            }

            if (Scenarios.Any("Mvc"))
            {
                var mvcBuilder = services
                                 .AddMvcCore()
                                 .AddControllersAsServices();

                if (Scenarios.MvcJson || Scenarios.Any("MvcDbSingle") || Scenarios.Any("MvcDbMulti"))
                {
                    mvcBuilder.AddJsonFormatters();
                }

                if (Scenarios.MvcViews || Scenarios.Any("MvcDbFortunes"))
                {
                    mvcBuilder
                    .AddViews()
                    .AddRazorViewEngine();
                }
            }

            if (Scenarios.Any("MemoryCache"))
            {
                services.AddMemoryCache();
            }

            if (Scenarios.Any("ResponseCaching"))
            {
                services.AddResponseCaching();
            }
        }
Example #5
0
        static void Main(string[] args)
        {
            // Activate Gnostice product
            Framework.ActivateLicense("4AF4-263D-70A5-F5C8-57E6-045C-ED92-5369");

            // Instantiate DocumentConverter
            DocumentConverter docConverter = new DocumentConverter();

            // Subscribe to Error event
            docConverter.Error += docConverter_Error;

            // Input Directory
            string inputPath = @"../../../../../03. Sample Files/";

            // Output Directory
            string outputPath = @"../../../../../04. Output/";

            // Output Format
            string outputFormat = "txt";

            // List of files as input for the document Converter
            List<string> inputFiles = Directory.GetFiles(inputPath).ToList();

            // Single input file
            string inputFile = inputPath + "input.docx";

            // Single output file
            string outputFile = outputPath + "output." + outputFormat;

            #region Simple Conversion

            // Converting sample input file to TXT format
            docConverter.ConvertToFile(inputFile, outputFile);

            #endregion

            // public List<string> ConvertToFile(
            // object input, => accepts string (file name) or Stream (file stream) or List<string> or List<Stream>
            // string outputFileFormat,  => expected output file format
            // string outputDir, => directory in which the output files are to be stored
            // string baseFileName = "", => name of the output converted file
            // ConversionMode conversionmode, => ConversionMode.ConvertToSeparateFiles to create a separated file for each converted input file
            // ConverterSettings converterSettings = null, => specifiy the range of pages to be converted
            // EncoderSettings encoderSettings = null, => set the information for encoding the document
            // string inputDocPassword = "" => password for the input document
            // );

            #region One to One Conversion

            // Converts all 
            //ConversionMode.ConvertToSeparateFiles=>Many to many conversion
            //Convert list of files in inputFiles into a single output file by specifying Conversion mode as ConversionMode.ConvertToSeperateFiles

            docConverter.ConvertToFile(inputFiles, outputFormat, outputPath, "ConvertToTXT_OneToOne_Multiple", ConversionMode.ConvertToSeperateFiles);
            #endregion

            #region Convert to single file

            //ConversionMode.ConverToSingleFile => Convert all the input files and merge it to a single file
            //Converts list of files in inputFiles into a single output file by specifying Conversion mode as ConversionMode.ConvertToSingleFile

            docConverter.ConvertToFile(inputFiles, outputFormat, outputPath, "ConvertToTXT_ManyToOne", ConversionMode.ConvertToSingleFile);

            #endregion

            #region Converting file using ConverterSettings

            // Instantiate ConverterSettings
            ConverterSettings cp = new ConverterSettings();

            // Converter Parameter : PageRange
            // 4 different types of page ranges
            // PageRange.All => Converts all pages in input file  
            // PageRange.Even => Converts Pages with even page number 
            // PageRange.Odd => Converts Pages with odd page number
            // PageRange.Custom => Converts set of pages from input file. ** page range should be specified in CustomPageRange

            // Convert all even pages in input file
            cp.PageRange = PageRange.Even;

            docConverter.ConvertToFile(inputFile, outputFormat, outputPath, "ConvertToTXT_WithConverterSettings_Even", ConversionMode.ConvertToSeperateFiles, null, cp);

            // Convert specific pages from input file, say one needs to convert  pages 1,4,8,9,10,11,12 from input file
            cp.PageRange = PageRange.Custom;
            cp.CustomPageRange = "1,4,8-12"; // **PageRange should be set to PageRange.Custom

            docConverter.ConvertToFile(inputFile, outputFormat, outputPath, "ConvertToTXT_WithConverterSettings_Custom", ConversionMode.ConvertToSeperateFiles, null, cp);
            #endregion

            #region TXT Encoder Parameters

            // For encoding file into TXT textEncoderParams have to be specified
            TextEncoderSettings txtEncoderParams = new TextEncoderSettings();

            txtEncoderParams.ByteOrderMarkBytes = new byte[0];

            // Types of file Encoding Files 'FileEncoding'
            // FileEncoding.ISO_8859_1=> encoding files in ISO 8859-1
            // FileEncoding.US_ASCII=>Encoding files in US ASCII
            // FileEncoding.UTF_16BE=> Encoding files in UTF 16BE
            // FileEncoding.UTF_16LE=> Encoding files in UTF 16LE
            // FileEncoding.UTF_8=> Encoding files in UTF 8 (default file encoding)
            txtEncoderParams.FileEncoding = FileEncoding.UTF_8;

            // 6 members of TextFormatter
            // TextFormatter.BreakLines=> break point at every line
            // TextFormatter.BreakPages=>break point at every page
            // TextFormatter.BreakParagraphs=>break point at every paragraph
            // TextFormatter.CustomPageBreak=>to enable  cutom break point
            // TextFormatter.CustomPageBreakText=>set the custom break point
            // TextFormatter.FILE_SEPARATOR_CHAR=>set the file separator character
            // TextFormatter.PageBreakText=>set the page break text
            // For setting break point to every line
            txtEncoderParams.TextFormatter.CustomPageBreak = true;
            txtEncoderParams.TextFormatter.CustomPageBreakText = "<<Page Break>>";

            // txtEncoderParams.UseByteOrderMark=>to use byte order mark
            txtEncoderParams.UseByteOrderMark = true;

            docConverter.ConvertToFile(inputFile, "txt", outputPath, "ConvertToTXT_WithEncoderSettings", ConversionMode.ConvertToSeperateFiles, txtEncoderParams, cp);

            #endregion
        }
Example #6
0
        public void ForbidRanges_Null()
        {
            TextEncoderSettings filter = new TextEncoderSettings(new OddTextEncoderSettings());

            Assert.Throws <ArgumentNullException>("ranges", () => filter.ForbidRanges(null));
        }
Example #7
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <AppSettings>(Configuration);

            // We re-register the Scenarios as an instance singleton here to avoid it being created again due to the
            // registration done in Program.Main
            services.AddSingleton(Scenarios);

            // Common DB services
            services.AddSingleton <IRandom, DefaultRandom>();
            services.AddEntityFrameworkSqlServer();

            var appSettings = Configuration.Get <AppSettings>();

            Console.WriteLine($"Database: {appSettings.Database}");

            if (appSettings.Database == DatabaseServer.PostgreSql)
            {
                if (Scenarios.Any("Ef"))
                {
                    services.AddDbContextPool <ApplicationDbContext>(options => options.UseNpgsql(appSettings.ConnectionString));
                }

                if (Scenarios.Any("Raw") || Scenarios.Any("Dapper"))
                {
                    services.AddSingleton <DbProviderFactory>(NpgsqlFactory.Instance);
                }
            }
            else if (appSettings.Database == DatabaseServer.MySql)
            {
                if (Scenarios.Any("Raw") || Scenarios.Any("Dapper"))
                {
                    services.AddSingleton <DbProviderFactory>(MySqlClientFactory.Instance);
                }
            }

            if (Scenarios.Any("Ef"))
            {
                services.AddScoped <EfDb>();
            }

            if (Scenarios.Any("Raw"))
            {
                services.AddScoped <RawDb>();
            }

            if (Scenarios.Any("Dapper"))
            {
                services.AddScoped <DapperDb>();
            }

            if (Scenarios.Any("Fortunes"))
            {
                var settings = new TextEncoderSettings(UnicodeRanges.BasicLatin, UnicodeRanges.Katakana, UnicodeRanges.Hiragana);
                settings.AllowCharacter('\u2014');  // allow EM DASH through
                services.AddWebEncoders((options) =>
                {
                    options.TextEncoderSettings = settings;
                });
            }

            if (Scenarios.Any("Mvc"))
            {
                var mvcBuilder = services
                                 .AddMvcCore()
                                 .AddControllersAsServices();

                if (Scenarios.MvcJson || Scenarios.Any("MvcDbSingle") || Scenarios.Any("MvcDbMulti"))
                {
                    mvcBuilder.AddJsonFormatters();
                }

                if (Scenarios.MvcViews || Scenarios.Any("MvcDbFortunes"))
                {
                    mvcBuilder
                    .AddViews()
                    .AddRazorViewEngine();
                }
            }
        }
Example #8
0
        public void AllowRanges_NullRange()
        {
            TextEncoderSettings filter = new TextEncoderSettings();

            Assert.Throws <ArgumentNullException>("ranges", () => filter.AllowRanges(null));
        }
Example #9
0
        public void ForbidChars_Null()
        {
            TextEncoderSettings filter = new TextEncoderSettings(UnicodeRanges.BasicLatin);

            Assert.Throws <ArgumentNullException>("characters", () => filter.ForbidCharacters(null));
        }
Example #10
0
        public void AllowFilter_NullCodePoints()
        {
            TextEncoderSettings filter = new TextEncoderSettings(UnicodeRanges.BasicLatin);

            Assert.Throws <ArgumentNullException>("codePoints", () => filter.AllowCodePoints(null));
        }
Example #11
0
        public void Ctor_Parameterless_CreatesEmptyFilter()
        {
            var filter = new TextEncoderSettings();

            Assert.Equal(0, filter.GetAllowedCodePoints().Count());
        }
Example #12
0
        public void AllowChars_Null()
        {
            TextEncoderSettings filter = new TextEncoderSettings();

            Assert.Throws <ArgumentNullException>("characters", () => filter.AllowCharacters(null));
        }
Example #13
0
        public static bool IsCharacterAllowed(this TextEncoderSettings settings, char character)
        {
            var bitmap = settings.GetAllowedCharacters();

            return(bitmap.IsCharacterAllowed(character));
        }
Example #14
0
 public HtmlEncoder(TextEncoderSettings filter)
 {
     _encoder = System.Text.Encodings.Web.HtmlEncoder.Create(filter);
 }
Example #15
0
 public JavaScriptStringEncoder(TextEncoderSettings filter)
 {
     _encoder = System.Text.Encodings.Web.JavaScriptEncoder.Create(filter);
 }
        public void GenerateCorrectJson()
        {
            // Arrange
            Room room = new Room {
                Id = 1, Capacity = 2, Rows = 2
            };
            ReservedSeat rS = new ReservedSeat {
                Id = 1, RowId = 1, SeatId = 1, SeatState = SeatState.Reserved
            };
            List <ReservedSeat> seats = new List <ReservedSeat> {
                rS
            };

            // Arrange
            List <ObjRow> ObjRowList = new List <ObjRow>();

            for (var j = 1; j <= room.Rows; j++)
            {
                List <ObjSeat> objSeatList = new List <ObjSeat>();
                for (var i = 1; i <= (room.Capacity / room.Rows); i++)
                {
                    ObjSeat ObjSeat = new ObjSeat {
                        GridSeatNum = i, seatNumber = i, SeatStatus = "0"
                    };
                    var seatTaken = 0;
                    seats.ForEach(s =>
                    {
                        if (s.SeatId == i & s.RowId == j & s.SeatState == SeatState.Reserved)
                        {
                            seatTaken = 1;
                        }
                        if (s.SeatId == i & s.RowId == j & s.SeatState == SeatState.Disabled)
                        {
                            seatTaken = 2;
                        }
                    });
                    if (seatTaken > 0)
                    {
                        ObjSeat.SeatStatus = seatTaken.ToString();
                        seatTaken          = 0;
                    }

                    objSeatList.Add(ObjSeat);
                }
                ObjRow ObjRow = new ObjRow {
                    GridRowId = j, PhyRowId = j.ToString(), objSeat = objSeatList
                };
                ObjRowList.Add(ObjRow);
            }

            ObjArea ObjArea = new ObjArea {
                AreaDesc = "EXECUTIVE", AreaCode = "0000000003", AreaNum = "1", HasCurrentOrder = true, objRow = ObjRowList
            };
            List <ObjArea> ObjAreaList = new List <ObjArea>();

            ObjAreaList.Add(ObjArea);


            ColAreas ColAreas = new ColAreas {
                Count = 1, intMaxSeatId = 21, intMinSeatId = 2, objArea = ObjAreaList
            };
            SeatLayout SeatLayout = new SeatLayout {
                colAreas = ColAreas
            };
            List <object> areaList         = new List <object>();
            List <object> groupedSeatsList = new List <object>();

            Root Root = new Root
            {
                product_id   = 46539040,
                freeSeating  = false,
                tempTransId  = "1ecae165f2d86315fea19963d0ded41a",
                seatLayout   = SeatLayout,
                areas        = areaList,
                groupedSeats = groupedSeatsList
            };

            var encoderSettings = new TextEncoderSettings();

            encoderSettings.AllowCharacters('\u0022');
            encoderSettings.AllowRange(UnicodeRanges.BasicLatin);
            var options = new JsonSerializerOptions
            {
                Encoder       = JavaScriptEncoder.Create(encoderSettings),
                WriteIndented = true
            };
            string jsonString = JsonSerializer.Serialize(Root, options);

            // Act
            string sut = JSONSeatingHelper.JSONSeating(room, seats);

            // Assert
            Assert.Equal(sut, jsonString);
        }