public static void Main()
        {
            GlobalInitializationOps.InitStatics(new GlobalInitializer(), "Tester", false);

            EwlStatics.RunStandardLibraryTests();

            Console.WriteLine(new TimeSpan(0, 0, 0, 0, 4861000).ToHourMinuteSecondString());
            Console.WriteLine(new TimeSpan(0, 0, 0, 0, 4861000).ToHourMinuteString());
            Console.WriteLine(new TimeSpan(0, 0, 0, 0, 104861000).ToHourMinuteSecondString());
            Console.WriteLine(new TimeSpan(0, 0, 0, 0, 104861000).ToHourMinuteString());
            Console.WriteLine(new TimeSpan(1, 2, 3, 4, 0).ToHourMinuteSecondString());
            Console.WriteLine(new TimeSpan(1, 2, 3, 4, 0).ToHourMinuteString());
            Console.WriteLine(new TimeSpan(0, 1, 32).ToHourMinuteSecondString());

            Console.WriteLine(FormattingMethods.GetFormattedBytes(64));
            Console.WriteLine(FormattingMethods.GetFormattedBytes(64000));
            Console.WriteLine(FormattingMethods.GetFormattedBytes(64000000));
            Console.WriteLine(FormattingMethods.GetFormattedBytes(64500000000));

            Console.WriteLine("fred".CapitalizeString());
            Console.WriteLine("".CapitalizeString());
            Console.WriteLine("\n".CapitalizeString());
            Console.WriteLine("f".CapitalizeString());
            Console.WriteLine("1234f".CapitalizeString());
            Console.WriteLine("1234".CapitalizeString());
            Console.WriteLine("       f".CapitalizeString());
            Console.WriteLine("       ".CapitalizeString());
            Console.WriteLine(" fred".CapitalizeString());
            Console.WriteLine(" fred died.".CapitalizeString());
            Console.WriteLine(".".CapitalizeString());
            Console.WriteLine(" .".CapitalizeString());
            Console.WriteLine(" .fred died.".CapitalizeString());
            Console.WriteLine(" . fred died.".CapitalizeString());
            Console.WriteLine("\nfred".CapitalizeString());
            Console.WriteLine(" \n fred".CapitalizeString());
            Console.WriteLine("\n------\nfred".CapitalizeString());

            Console.WriteLine("one two three.csv".ToSafeFileName());

            Console.WriteLine("One {one one } two {two}".RemoveTextBetweenStrings("{", "}"));
            Console.WriteLine("This 'quoted text'.".RemoveTextBetweenStrings("'", "'"));
            Console.WriteLine("A comments looks like /*A comment.*/.".RemoveTextBetweenStrings("/*", "*/"));
            Console.WriteLine("body.ewf div.ewfIeWarningBanner table a { font-size:1.5em; }".RemoveTextBetweenStrings("{", "}"));

            Console.WriteLine("one".ConcatenateWithSpace("two"));
            Console.WriteLine(EnterpriseWebLibrary.StringTools.ConcatenateWithDelimiter(", ", "one", "two", "three"));
            Console.WriteLine(EnterpriseWebLibrary.StringTools.ConcatenateWithDelimiter("|", "", "one", "", "", "two", "", "three ", "   "));

            Console.WriteLine("abcde".Truncate(4));
            Console.WriteLine("abcde".TruncateStart(4));
            Console.WriteLine(NetTools.CombineUrls(@"http://www.redstapler.biz", "/Files", "Carriers", "Hancock/", "blabla.pdf"));
            Console.WriteLine(NetTools.CombineUrls(@"http://www.redstapler.biz", "//Files", "Carriers", "Hancock//", "blabla.pdf//"));
            Console.WriteLine(NetTools.CombineUrls(@"///http://www.redstapler.biz//", "/Files/", "Carriers/", "Hancock/", "/blabla.pdf/"));
            Console.WriteLine(NetTools.CombineUrls(@"http://localhost/ToddPublicWebSite/", "Carriers", "UP", "ComparisonLogo.jpg"));

            Console.WriteLine(EwlStatics.CombinePaths(@"C:\Inetpub\", "Files", "orgs", "box.txt"));
            Console.WriteLine(EwlStatics.CombinePaths(@"C:\Inetpub\", "Files", "orgs", "anotherFolder", "box.txt"));
            Console.WriteLine(EwlStatics.CombinePaths(@"C:\Inetpub\", "Files", @"orgs\"));
            Console.WriteLine(EwlStatics.CombinePaths(@"C:\Inetpub", @"\Files\", @"\orgs", "box.txt"));
            Console.WriteLine(EwlStatics.CombinePaths(@"Inetpub", @"Files"));
            Console.WriteLine(EwlStatics.CombinePaths(@"D:\Source Control Repository\Charette", @"", @"\Aspose.Words.lic"));

            Console.WriteLine(EnterpriseWebLibrary.StringTools.CamelToEnglish(null));
            Console.WriteLine("".CamelToEnglish());
            Console.WriteLine("L".CamelToEnglish());
            Console.WriteLine("l".CamelToEnglish());
            Console.WriteLine("LeftLeg".CamelToEnglish());
            Console.WriteLine("hits you in the Head and the LeftLeg!  That hurts.".CamelToEnglish());

            var mySet = new HashSet <string> {
                "a", "c", "", "b", "fred"
            };

            var list = new List <string>(mySet);

            foreach (var item in mySet)
            {
                list.Add(item);
            }

            //	mySet = new Set( list );

            var ls = new ListSet <string> {
                "one", "two", "one", "two"
            };

            foreach (var item in ls)
            {
                Console.WriteLine(item);
            }

            var validator = new Validator();
            var vp        = new ValidationErrorHandler(errorWriter);

            Console.WriteLine(validator.GetUrl(vp, "hTTp://RedStapler.biZ/fRed", false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine(validator.GetUrl(vp, "fred", true));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.Write(validator.GetNullableSqlSmallDateTimeExact(vp, "fred", "MM/dd/yyy", false));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine(validator.GetInt(vp, "fred"));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);               // "myGoodInt" );
            Console.WriteLine(validator.GetInt(vp, "-342"));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);               // "myBadDate" );
            Console.WriteLine(validator.GetSqlSmallDateTimeFromParts(vp, "3", "", ""));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);               // "myBadDate" );
            Console.WriteLine(validator.GetSqlSmallDateTimeFromParts(vp, "", "", ""));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);               // "zip" );
            Console.WriteLine(validator.GetZipCode(vp, "14580", true).FullZipCode);
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);               // "zip" );
            Console.WriteLine(validator.GetZipCode(vp, "14580-1234", true).FullZipCode);
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);               // "badZip" );
            Console.WriteLine(validator.GetZipCode(vp, "123", false).FullZipCode);
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            Console.WriteLine("---------------------------------\nPhone Numbers:\n------------------------------------\n");
            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine(validator.GetPhoneNumber(vp, "5854556476", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);


            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine(validator.GetPhoneNumber(vp, "585 4556476", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine(validator.GetPhoneNumber(vp, "( 585 )455-6476", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine(validator.GetPhoneNumber(vp, "(585)455-6476", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine(validator.GetPhoneNumber(vp, "585-455-6476", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("With lots of spaces: " + validator.GetPhoneNumber(vp, "585   872   0291  ", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("With x: " + validator.GetPhoneNumber(vp, "5854556476   x   12345", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("With space ext. allowed: " + validator.GetPhoneNumber(vp, "5854556476 12345", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("Toni example 1: " + validator.GetPhoneNumber(vp, "321-663-4810", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("Toni example 2: " + validator.GetPhoneNumber(vp, "585-336-7600 ext 65361", true, true, false));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("Gibberish, should fail^ " + validator.GetPhoneNumber(vp, "sodifuoisafdoiu", true, true, true));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("With space no ext. allowed, should fail^ " + validator.GetPhoneNumber(vp, "5854556476 12345", false, false, true));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("With extension and no delimeters, should fail^ " + validator.GetPhoneNumber(vp, "585455647612345", true, true, false));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine(
                "With extension and no delimeters, should succeed since allowGarbage is on. " + validator.GetPhoneNumber(vp, "585455647612345", true, true, true));
            Assert.IsFalse(vp.LastResult != ErrorCondition.NoError);

            vp = new ValidationErrorHandler(errorWriter);
            Console.WriteLine("Should fail^ " + validator.GetPhoneNumber(vp, "02934", true, true, false));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            Console.WriteLine("------------------------\nEnd phone numbers.\n-------------------------------\n");

            vp = new ValidationErrorHandler(errorWriter);               // "badByte" );
            Console.WriteLine(validator.GetByte(vp, "234987234"));
            Assert.IsFalse(vp.LastResult == ErrorCondition.NoError);

            var key = Rijndael.Create().Key;

            Console.Write("Encryption Key: { ");
            foreach (var b in key)
            {
                Console.Write(b + ", ");
            }
            Console.WriteLine();

            Console.WriteLine("SSN length: " + EncryptionOps.EncryptString(EncryptionOps.GenerateInitVector(), "987654321").Length);
        }
예제 #2
0
        void ControlTreeDataLoader.LoadData()
        {
            Attributes.Add(uniqueIdentifierAttribute, UniqueUdentifier);
            Attributes.Add(parmetersAttribute, Parameters);
            // This gives us some ability to be slightly more strongly typed, allowing us to change the actual attribute names here while not breaking script.
            EwfPage.Instance.ClientScript.RegisterClientScriptBlock(GetType(),
                                                                    uniqueIdentifierAttribute,
                                                                    @"uniqueIdentifierAttribute = '{0}';".FormatWith(uniqueIdentifierAttribute),
                                                                    true);

            EwfPage.Instance.ClientScript.RegisterClientScriptBlock(GetType(), parmetersAttribute, @"parameters = '{0}';".FormatWith(parmetersAttribute), true);
            // Provides a handle to the upload service for the script.
            EwfPage.Instance.ClientScript.RegisterClientScriptBlock(GetType(),
                                                                    "uploadServicePath",
                                                                    @"uploadServicePath = '{0}';".FormatWith(ResolveClientUrl("~/Ewf/FileUploader/Upload.aspx")),
                                                                    true);
            // Handle to the path of the progress image. jquery.progressbar needs to know where the images are to be used.
            // Just because this appears above the definition of jquery.progressbar doesn't mean it appears before
            // it in the resulting document, which causes the progressbar file to consider it undefined. To fix this,
            // I wrapped the jquery.progressbar file in a $(document).ready() call so that it is not defined until the
            // entire document loads, where imagesPath will be already defined, no matter its position.
            EwfPage.Instance.ClientScript.RegisterClientScriptBlock(GetType(),
                                                                    "imagesPath",
                                                                    @"imagesPath = '{0}';".FormatWith(ResolveClientUrl("~/Ewf/FileUploader/")),
                                                                    true);

            // NOTE: So this won't work if this control is used in a user control...
            var encryptedFullyQualifiedName = EncryptionOps.GetEncryptedString(EncryptionOps.GenerateInitVector(), EwfPage.Instance.GetType().BaseType.FullName);

            EwfPage.Instance.ClientScript.RegisterClientScriptBlock(GetType(), "pageHandle", @"pageHandle = '{0}';".FormatWith(encryptedFullyQualifiedName), true);

            EwfPage.Instance.ClientScript.RegisterClientScriptInclude(GetType(), "ClientSide", this.GetClientUrl("~/Ewf/FileUploader/ClientSide.js"));
            EwfPage.Instance.ClientScript.RegisterClientScriptInclude(GetType(),
                                                                      "jquery.progressbar",
                                                                      this.GetClientUrl("~/Ewf/FileUploader/jquery.progressbar.min.js"));

            // Choose between dropping files onto the page or browse for them.
            var chooseUploadMethod = SelectList.CreateRadioList(SelectList.GetTrueFalseItems("Drag and drop files", "Browse for files"),
                                                                true,
                                                                useHorizontalLayout: true);

            var dragFilesHerePanel = new Panel {
                CssClass = "dropZone"
            }.AddControlsReturnThis(new Paragraph("Drop files here")
            {
                CssClass = "dropFilesHereMessage"
            });

            // Not using an ASP.NET control because I want full control without any magic.
            var browseForFiles = new WebControl(HtmlTextWriterTag.Input);

            browseForFiles.Attributes.Add("type", "file");
            browseForFiles.Attributes.Add("multiple", "multiple");
            browseForFiles.Attributes.Add("onchange", @"inputChanged(this);");

            chooseUploadMethod.AddDisplayLink((true as bool?).ToSingleElementArray(), true, dragFilesHerePanel.ToSingleElementArray());
            chooseUploadMethod.AddDisplayLink((false as bool?).ToSingleElementArray(), true, browseForFiles.ToSingleElementArray());

            var uploadPending = new Box("Files to be uploaded",
                                        new Control[]
            {
                new Panel {
                    CssClass = "queuedFilesContentArea"
                }.AddControlsReturnThis(new Paragraph("No files are currently in the queue."))
                , new Heading {
                    CssClass = "upload-count"
                }
            })
            {
                CssClass = "queuedFiles"
            };

            Controls.Add(
                new Box(new Control[]
            {
                new Panel {
                    CssClass = "ewfErrorMessageListBlock"
                }, chooseUploadMethod,
                new Panel {
                    CssClass = "dropWrapper"
                }.AddControlsReturnThis(dragFilesHerePanel), browseForFiles, uploadPending,
                new CustomButton(() => @"uploadButtonClicked(this);")
                {
                    ActionControlStyle = new ButtonActionControlStyle("Begin upload"),
                    CssClass           = "beginUploadButton"
                }
            })
            {
                CssClass = "upload-box"
            });
        }