public void CanConvertFrom()
        {
            StringArrayConverter vrt = new StringArrayConverter();

            Assert.IsTrue(vrt.CanConvertFrom(typeof(string)), "Conversion from a string instance must be supported.");
            Assert.IsFalse(vrt.CanConvertFrom(null));
        }
Exemple #2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (base.Request["types"] == null)
     {
         throw new BadQueryParameterException("types");
     }
     try
     {
         StringArrayConverter stringArrayConverter = new StringArrayConverter();
         this.Value = (string[])stringArrayConverter.ConvertFrom(base.Request["types"]);
     }
     catch (NotSupportedException innerException)
     {
         throw new BadQueryParameterException("types", innerException);
     }
     try
     {
         foreach (string value2 in this.Value)
         {
             Enum.Parse(typeof(KindKeyword), value2, true);
         }
     }
     catch (ArgumentException innerException2)
     {
         throw new BadQueryParameterException("types", innerException2);
     }
 }
Exemple #3
0
        protected internal virtual void verifyStringParameterQueryInvocations()
        {
            IDictionary <string, string> stringQueryParameters = CompleteStringQueryParameters;
            StringArrayConverter         stringArrayConverter  = new StringArrayConverter();

            verify(mockedQuery).decisionInstanceId(stringQueryParameters["decisionInstanceId"]);
            verify(mockedQuery).decisionInstanceIdIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters["decisionInstanceIdIn"]));
            verify(mockedQuery).decisionDefinitionId(stringQueryParameters["decisionDefinitionId"]);
            verify(mockedQuery).decisionDefinitionIdIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters["decisionDefinitionIdIn"]));
            verify(mockedQuery).decisionDefinitionKey(stringQueryParameters["decisionDefinitionKey"]);
            verify(mockedQuery).decisionDefinitionKeyIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters["decisionDefinitionKeyIn"]));
            verify(mockedQuery).decisionDefinitionName(stringQueryParameters["decisionDefinitionName"]);
            verify(mockedQuery).decisionDefinitionNameLike(stringQueryParameters["decisionDefinitionNameLike"]);
            verify(mockedQuery).processDefinitionId(stringQueryParameters["processDefinitionId"]);
            verify(mockedQuery).processDefinitionKey(stringQueryParameters["processDefinitionKey"]);
            verify(mockedQuery).processInstanceId(stringQueryParameters["processInstanceId"]);
            verify(mockedQuery).caseDefinitionId(stringQueryParameters["caseDefinitionId"]);
            verify(mockedQuery).caseDefinitionKey(stringQueryParameters["caseDefinitionKey"]);
            verify(mockedQuery).caseInstanceId(stringQueryParameters["caseInstanceId"]);
            verify(mockedQuery).activityIdIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters["activityIdIn"]));
            verify(mockedQuery).activityInstanceIdIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters["activityInstanceIdIn"]));
            verify(mockedQuery).evaluatedBefore(DateTimeUtil.parseDate(stringQueryParameters["evaluatedBefore"]));
            verify(mockedQuery).evaluatedAfter(DateTimeUtil.parseDate(stringQueryParameters["evaluatedAfter"]));
            verify(mockedQuery).userId(stringQueryParameters["userId"]);
            verify(mockedQuery).rootDecisionInstanceId(stringQueryParameters["rootDecisionInstanceId"]);
            verify(mockedQuery).decisionRequirementsDefinitionId(stringQueryParameters["decisionRequirementsDefinitionId"]);
            verify(mockedQuery).decisionRequirementsDefinitionKey(stringQueryParameters["decisionRequirementsDefinitionKey"]);

            verify(mockedQuery).list();
        }
        public void SplitsStringBySemicolon()
        {
            var target = new StringArrayConverter();

            var output = target.ConvertFrom("foo;bar  ;  baz");

            var array = Assert.IsType <string[]>(output);

            Assert.Equal(new[] { "foo", "bar  ", "  baz" }, array);
        }
        public void ReturnsSingleStringWhenThereIsNoDelimeter(string input)
        {
            var target = new StringArrayConverter();

            var output = target.ConvertFrom(input);

            var array = Assert.IsType <string[]>(output);

            Assert.Equal(new[] { input }, array);
        }
        public void ReturnsEmptyArrayWithEmpty()
        {
            var target = new StringArrayConverter();

            var output = target.ConvertFrom(string.Empty);

            var array = Assert.IsType <string[]>(output);

            Assert.Empty(array);
        }
        public void ConvertFromPreservesExtraneousWhitespace()
        {
            object[]             expected = new object[] { "1 ", " Foo ", " 3" };
            StringArrayConverter vrt      = new StringArrayConverter();
            object actual = vrt.ConvertFrom("1 , Foo , 3");

            Assert.IsNotNull(actual);
            Assert.AreEqual(typeof(string[]), actual.GetType());
            Assert.IsTrue(ArrayUtils.AreEqual(expected, (string[])actual),
                          "Individual array elements not correctly converted (check the whitespace?).");
        }
Exemple #8
0
        public static string[] ToArrayOfStrings(this string commaSeparatedString)
        {
            if (commaSeparatedString == null)
            {
                return(null);
            }
            StringArrayConverter stringArrayConverter = new StringArrayConverter();

            return((from stringValue in ((string[])stringArrayConverter.ConvertFrom(commaSeparatedString)).AsEnumerable <string>()
                    where stringValue != null && stringValue != string.Empty
                    select stringValue).ToArray <string>());
        }
        public void ConvertFrom()
        {
            object[]             expected = new object[] { "1", "Foo", "3" };
            StringArrayConverter vrt      = new StringArrayConverter();
            object actual = vrt.ConvertFrom("1,Foo,3");

            Assert.IsNotNull(actual);
            Assert.AreEqual(typeof(string[]), actual.GetType());
            Assert.AreEqual(3, ((string[])actual).Length, "Wrong number of elements in the resulting array.");
            Assert.IsTrue(ArrayUtils.AreEqual(expected, (string[])actual),
                          "Individual array elements not correctly converted.");
        }
        public void NullingTheListSeparatorMakesItRevertToTheDefault()
        {
            object[]             expected = new object[] { "1", "Foo", "3" };
            StringArrayConverter vrt      = new StringArrayConverter();

            vrt.ListSeparator = null;
            object actual = vrt.ConvertFrom("1,Foo,3");

            Assert.IsNotNull(actual);
            Assert.AreEqual(typeof(string[]), actual.GetType());
            Assert.IsTrue(ArrayUtils.AreEqual(expected, (string[])actual),
                          "Individual array elements not correctly converted.");
        }
        public void CustomListSeparator()
        {
            object[]             expected        = new object[] { "1", "Foo", "3" };
            StringArrayConverter vrt             = new StringArrayConverter();
            const string         customSeparator = "#";

            vrt.ListSeparator = customSeparator;
            object actual = vrt.ConvertFrom(string.Format("1{0}Foo{0}3", customSeparator));

            Assert.IsNotNull(actual);
            Assert.AreEqual(typeof(string[]), actual.GetType());
            Assert.IsTrue(ArrayUtils.AreEqual(expected, (string[])actual),
                          "Individual array elements not correctly converted.");
        }
Exemple #12
0
        public override void SaveSettingsToStorage()
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            base.SaveSettingsToStorage();

            var settingsManager   = new ShellSettingsManager(ServiceProvider.GlobalProvider);
            var userSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);

            if (!userSettingsStore.CollectionExists(GeneralOptionsCollection))
            {
                userSettingsStore.CreateCollection(GeneralOptionsCollection);
            }

            var converter = new StringArrayConverter();

            userSettingsStore.SetString(
                GeneralOptionsCollection,
                nameof(LibraryPackFiles),
                converter.ConvertTo(this.LibraryPackFiles, typeof(string)) as string);
        }
        public void EnsureCultureListSeparatorIsIgnored()
        {
            CultureInfo originalCulture = Thread.CurrentThread.CurrentCulture;

            try
            {
                CultureInfo frenchCulture = new CultureInfo("fr-FR");
                Thread.CurrentThread.CurrentCulture = frenchCulture;
                object[]             expected = new object[] { "1", "Foo", "3" };
                StringArrayConverter vrt      = new StringArrayConverter();
                // France uses the ';' (semi-colon) to separate list items...
                object actual = vrt.ConvertFrom("1,Foo,3");
                Assert.IsNotNull(actual);
                Assert.AreEqual(typeof(string[]), actual.GetType());
                Assert.IsTrue(ArrayUtils.AreEqual(expected, (string[])actual),
                              "Individual array elements not correctly converted.");
            }
            finally
            {
                Thread.CurrentThread.CurrentCulture = originalCulture;
            }
        }
Exemple #14
0
        public override void LoadSettingsFromStorage()
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            base.LoadSettingsFromStorage();

            var settingsManager   = new ShellSettingsManager(ServiceProvider.GlobalProvider);
            var userSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);

            if (!userSettingsStore.PropertyExists(GeneralOptionsCollection, nameof(LibraryPackFiles)))
            {
                _page.LibraryPackFiles = new List <string>();
                return;
            }

            var converter = new StringArrayConverter();

            this.LibraryPackFiles = converter.ConvertFrom(
                userSettingsStore.GetString(GeneralOptionsCollection, nameof(LibraryPackFiles))) as List <string>;
            // for debug
            //LibraryPackFiles.Add("C:\\Users\\Username\\Projects\\lib_hl\\libraries.xml");

            _page.LibraryPackFiles = LibraryPackFiles;
        }
Exemple #15
0
        public void TryConvertTo_returns_true_if_value_is_null(StringArrayConverter sut)
        {
            var canConvert = sut.TryConvertTo(null, out _);

            Assert.IsTrue(canConvert);
        }
Exemple #16
0
        new private void SaveFormEntry(FormDescription description)
        {
            FormsManager manager         = FormsManager.GetManager();
            FormEntry    userHostAddress = null;

            if (_isProgressiveForm && _priorFormEntry == null)
            {
                FieldControl keyField = this.FieldControls.Where(fc => ((IFormFieldControl)fc).MetaField.FieldName == _progressiveKeyFieldName).FirstOrDefault() as FieldControl;

                if (keyField != null && !String.IsNullOrWhiteSpace((string)keyField.Value))
                {
                    _priorFormEntry = GetPriorFormEntryByKeyField((string)keyField.Value);
                }
            }

            if (_isProgressiveForm && _priorFormEntry != null)
            {
                string entryType = String.Format("{0}.{1}", manager.Provider.FormsNamespace, this.FormData.Name);

                userHostAddress = manager.GetFormEntry(entryType, _priorFormEntry.Id);
            }
            else
            {
                userHostAddress = manager.CreateFormEntry(string.Format("{0}.{1}", manager.Provider.FormsNamespace, description.Name));
            }

            foreach (IFormFieldControl formFieldControl in this.FieldControls)
            {
                FieldControl fieldControl = formFieldControl as FieldControl;
                object       value        = fieldControl.Value;

                if (fieldControl.GetType().Name == "FormFileUpload")
                {
                    if (formFieldControl.MetaField.FieldName != "")
                    {
                        var uploadValue = value as UploadedFileCollection;
                        var files       = new Dictionary <string, List <FormHttpPostedFile> >();
                        List <FormHttpPostedFile> formHttpPostedFileList = new List <FormHttpPostedFile>();
                        foreach (UploadedFile uploadedFile in uploadValue)
                        {
                            if (uploadedFile != null)
                            {
                                formHttpPostedFileList.Add(new FormHttpPostedFile()
                                {
                                    FileName      = uploadedFile.FileName,
                                    InputStream   = uploadedFile.InputStream,
                                    ContentType   = uploadedFile.ContentType,
                                    ContentLength = uploadedFile.ContentLength
                                });
                            }
                        }

                        files.Add(formFieldControl.MetaField.FieldName, formHttpPostedFileList);
                        var type       = Type.GetType("Telerik.Sitefinity.Modules.Forms.Web.FormsHelper,Telerik.Sitefinity");
                        var method     = type.GetMethod("SaveFiles", BindingFlags.Static | BindingFlags.NonPublic);
                        var updateMode = _priorFormEntry != null;
                        method.Invoke(null, new object[] { files, description, userHostAddress, updateMode });
                    }
                }
                else if (!(value is List <string>))
                {
                    userHostAddress.SetValue(formFieldControl.MetaField.FieldName, value);
                }
                else
                {
                    StringArrayConverter stringArrayConverter = new StringArrayConverter();
                    object obj = stringArrayConverter.ConvertTo((value as List <string>).ToArray(), typeof(string));

                    userHostAddress.SetValue(formFieldControl.MetaField.FieldName, obj);
                }
            }
            userHostAddress.IpAddress   = this.Page.Request.UserHostAddress;
            userHostAddress.SubmittedOn = DateTime.UtcNow;

            Guid userId = ClaimsManager.GetCurrentUserId();

            userHostAddress.UserId = userId == Guid.Empty ? Guid.Parse(_sfTrackingCookie.Value) : userId;

            if (userHostAddress.UserId == userId)
            {
                userHostAddress.Owner = userId;
            }

            if (SystemManager.CurrentContext.AppSettings.Multilingual)
            {
                userHostAddress.Language = CultureInfo.CurrentUICulture.Name;
            }

            FormDescription formData = this.FormData;

            formData.FormEntriesSeed     = formData.FormEntriesSeed + (long)1;
            userHostAddress.ReferralCode = this.FormData.FormEntriesSeed.ToString();

            manager.SaveChanges();
        }
        public void EmptyListSeparator()
        {
            StringArrayConverter vrt = new StringArrayConverter();

            vrt.ListSeparator = string.Empty;
        }
        public void CanConvertFromString()
        {
            var target = new StringArrayConverter();

            Assert.True(target.CanConvertFrom(typeof(string)));
        }
Exemple #19
0
        static void Run(string[] args)
        {
            var methodName = args[0];

            switch (methodName.ToLower())
            {
            case "get-domaingpouserlocalgroupmapping":
                methodName = "Get_DomainGPOUserLocalGroupMapping";
                break;

            case "find-gpolocation":
                methodName = "Find_GPOLocation";
                break;

            case "get-domaingpocomputerlocalgroupmapping":
                methodName = "Get_DomainGPOComputerLocalGroupMapping";
                break;

            case "find-gpocomputeradmin":
                methodName = "Find_GPOComputerAdmin";
                break;

            case "get-domainobjectacl":
                methodName = "Get_DomainObjectAcl";
                break;

            case "get-objectacl":
                methodName = "Get_ObjectAcl";
                break;

            case "add-domainobjectacl":
                methodName = "Add_DomainObjectAcl";
                break;

            case "add-objectacl":
                methodName = "Add_ObjectAcl";
                break;

            case "remove-domainobjectacl":
                methodName = "Remove_DomainObjectAcl";
                break;

            case "get-regloggedon":
                methodName = "Get_RegLoggedOn";
                break;

            case "get-loggedonlocal":
                methodName = "Get_LoggedOnLocal";
                break;

            case "get-netrdpsession":
                methodName = "Get_NetRDPSession";
                break;

            case "test-adminaccess":
                methodName = "Test_AdminAccess";
                break;

            case "invoke-checklocaladminaccess":
                methodName = "Invoke_CheckLocalAdminAccess";
                break;

            case "get-wmiprocess":
                methodName = "Get_WMIProcess";
                break;

            case "get-netprocess":
                methodName = "Get_NetProcess";
                break;

            case "get-wmiregproxy":
                methodName = "Get_WMIRegProxy";
                break;

            case "get-proxy":
                methodName = "Get_Proxy";
                break;

            case "get-wmireglastloggedon":
                methodName = "Get_WMIRegLastLoggedOn";
                break;

            case "get-lastloggedon":
                methodName = "Get_LastLoggedOn";
                break;

            case "get-wmiregcachedrdpconnection":
                methodName = "Get_WMIRegCachedRDPConnection";
                break;

            case "get-cachedrdpconnection":
                methodName = "Get_CachedRDPConnection";
                break;

            case "get-wmiregmounteddrive":
                methodName = "Get_WMIRegMountedDrive";
                break;

            case "get-registrymounteddrive":
                methodName = "Get_RegistryMountedDrive";
                break;

            case "find-interestingdomainacl":
                methodName = "Find_InterestingDomainAcl";
                break;

            case "invoke-aclscanner":
                methodName = "Invoke_ACLScanner";
                break;

            case "get-netshare":
                methodName = "Get_NetShare";
                break;

            case "get-netloggedon":
                methodName = "Get_NetLoggedon";
                break;

            case "get-netlocalgroup":
                methodName = "Get_NetLocalGroup";
                break;

            case "get-netlocalgroupmember":
                methodName = "Get_NetLocalGroupMember";
                break;

            case "get-netsession":
                methodName = "Get_NetSession";
                break;

            case "get-pathacl":
                methodName = "Get_PathAcl";
                break;

            case "convertfrom-uacvalue":
                methodName = "ConvertFrom_UACValue";
                break;

            case "get-principalcontext":
                methodName = "Get_PrincipalContext";
                break;

            case "new-domaingroup":
                methodName = "New_DomainGroup";
                break;

            case "new-domainuser":
                methodName = "New_DomainUser";
                break;

            case "add-domaingroupmember":
                methodName = "Add_DomainGroupMember";
                break;

            case "set-domainuserpassword":
                methodName = "Set_DomainUserPassword";
                break;

            case "invoke-kerberoast":
                methodName = "Invoke_Kerberoast";
                break;

            case "export-powerviewcsv":
                methodName = "Export_PowerViewCSV";
                break;

            case "find-localadminaccess":
                methodName = "Find_LocalAdminAccess";
                break;

            case "find-domainlocalgroupmember":
                methodName = "Find_DomainLocalGroupMember";
                break;

            case "find-domainshare":
                methodName = "Find_DomainShare";
                break;

            case "find-domainuserevent":
                methodName = "Find_DomainUserEvent";
                break;

            case "find-domainprocess":
                methodName = "Find_DomainProcess";
                break;

            case "find-domainuserlocation":
                methodName = "Find_DomainUserLocation";
                break;

            case "find-interestingfile":
                methodName = "Find_InterestingFile";
                break;

            case "find-interestingdomainsharefile":
                methodName = "Find_InterestingDomainShareFile";
                break;

            case "find-domainobjectpropertyoutlier":
                methodName = "Find_DomainObjectPropertyOutlier";
                break;

            case "testmethod":
                methodName = "TestMethod";
                break;

            case "get-domain":
                methodName = "Get_Domain";
                break;

            case "get-netdomain":
                methodName = "Get_NetDomain";
                break;

            case "get-domaincomputer":
                methodName = "Get_DomainComputer";
                break;

            case "get-netcomputer":
                methodName = "Get_NetComputer";
                break;

            case "get-domaincontroller":
                methodName = "Get_DomainController";
                break;

            case "get-netdomaincontroller":
                methodName = "Get_NetDomainController";
                break;

            case "get-domainfileserver":
                methodName = "Get_DomainFileServer";
                break;

            case "get-netfileserver":
                methodName = "Get_NetFileServer";
                break;

            case "convert-adname":
                methodName = "Convert_ADName";
                break;

            case "get-domainobject":
                methodName = "Get_DomainObject";
                break;

            case "get-adobject":
                methodName = "Get_ADObject";
                break;

            case "get-domainuser":
                methodName = "Get_DomainUser";
                break;

            case "get-netuser":
                methodName = "Get_NetUser";
                break;

            case "get-domaingroup":
                methodName = "Get_DomainGroup";
                break;

            case "get-netgroup":
                methodName = "Get_NetGroup";
                break;

            case "get-domaindfsshare":
                methodName = "Get_DomainDFSShare";
                break;

            case "get-dfsshare":
                methodName = "Get_DFSshare";
                break;

            case "get-domaindnsrecord":
                methodName = "Get_DomainDNSRecord";
                break;

            case "get-dnsrecord":
                methodName = "Get_DNSRecord";
                break;

            case "get-domaindnszone":
                methodName = "Get_DomainDNSZone";
                break;

            case "get-dnszone":
                methodName = "Get_DNSZone";
                break;

            case "get-domainforeigngroupmember":
                methodName = "Get_DomainForeignGroupMember";
                break;

            case "find-foreigngroup":
                methodName = "Find_ForeignGroup";
                break;

            case "get-domainforeignuser":
                methodName = "Get_DomainForeignUser";
                break;

            case "find-foreignuser":
                methodName = "Find_ForeignUser";
                break;

            case "convertfrom-sid":
                methodName = "ConvertFrom_SID";
                break;

            case "convert-sidtoname":
                methodName = "Convert_SidToName";
                break;

            case "get-domaingroupmember":
                methodName = "Get_DomainGroupMember";
                break;

            case "get-netgroupmember":
                methodName = "Get_NetGroupMember";
                break;

            case "get-domainmanagedsecuritygroup":
                methodName = "Get_DomainManagedSecurityGroup";
                break;

            case "find-managedsecuritygroups":
                methodName = "Find_ManagedSecurityGroups";
                break;

            case "get-domainou":
                methodName = "Get_DomainOU";
                break;

            case "get-netou":
                methodName = "Get_NetOU";
                break;

            case "get-domainsid":
                methodName = "Get_DomainSID";
                break;

            case "get-forest":
                methodName = "Get_Forest";
                break;

            case "get-netforest":
                methodName = "Get_NetForest";
                break;

            case "get-foresttrust":
                methodName = "Get_ForestTrust";
                break;

            case "get-netforesttrust":
                methodName = "Get_NetForestTrust";
                break;

            case "get-domaintrust":
                methodName = "Get_DomainTrust";
                break;

            case "get-netdomaintrust":
                methodName = "Get_NetDomainTrust";
                break;

            case "get-forestdomain":
                methodName = "Get_ForestDomain";
                break;

            case "get-netforestdomain":
                methodName = "Get_NetForestDomain";
                break;

            case "get-domainsite":
                methodName = "Get_DomainSite";
                break;

            case "get-netsite":
                methodName = "Get_NetSite";
                break;

            case "get-domainsubnet":
                methodName = "Get_DomainSubnet";
                break;

            case "get-netsubnet":
                methodName = "Get_NetSubnet";
                break;

            case "get-domaintrustmapping":
                methodName = "Get_DomainTrustMapping";
                break;

            case "invoke-mapdomaintrust":
                methodName = "Invoke_MapDomainTrust";
                break;

            case "get-forestglobalcatalog":
                methodName = "Get_ForestGlobalCatalog";
                break;

            case "get-netforestcatalog":
                methodName = "Get_NetForestCatalog";
                break;

            case "get-domainuserevent":
                methodName = "Get_DomainUserEvent";
                break;

            case "get-userevent":
                methodName = "Get_UserEvent";
                break;

            case "get-domainguidmap":
                methodName = "Get_DomainGUIDMap";
                break;

            case "get-guidmap":
                methodName = "Get_GUIDMap";
                break;

            case "resolve-ipaddress":
                methodName = "Resolve_IPAddress";
                break;

            case "get-ipaddress":
                methodName = "Get_IPAddress";
                break;

            case "convertto-sid":
                methodName = "ConvertTo_SID";
                break;

            case "invoke-userimpersonation":
                methodName = "Invoke_UserImpersonation";
                break;

            case "invoke-reverttoself":
                methodName = "Invoke_RevertToSelf";
                break;

            case "get-domainspnticket":
                methodName = "Get_DomainSPNTicket";
                break;

            case "request-spnticket":
                methodName = "Request_SPNTicket";
                break;

            case "get-netcomputersitename":
                methodName = "Get_NetComputerSiteName";
                break;

            case "get-sitename":
                methodName = "Get_SiteName";
                break;

            case "get-domaingpo":
                methodName = "Get_DomainGPO";
                break;

            case "get-netgpo":
                methodName = "Get_NetGPO";
                break;

            case "set-domainobject":
                methodName = "Set_DomainObject";
                break;

            case "set-adobject":
                methodName = "Set_ADObject";
                break;

            case "add-remoteconnection":
                methodName = "Add_RemoteConnection";
                break;

            case "remove-remoteconnection":
                methodName = "Remove_RemoteConnection";
                break;

            case "get-inicontent":
                methodName = "Get_IniContent";
                break;

            case "get-gpttmpl":
                methodName = "Get_GptTmpl";
                break;

            case "get-groupsxml":
                methodName = "Get_GroupsXML";
                break;

            case "get-domainpolicydata":
                methodName = "Get_DomainPolicyData";
                break;

            case "get-domainpolicy":
                methodName = "Get_DomainPolicy";
                break;

            case "get-domaingpolocalgroup":
                methodName = "Get_DomainGPOLocalGroup";
                break;

            case "get-netgpogroup":
                methodName = "Get_NetGPOGroup";
                break;

            // Custom Commands
            case "get-executiongroups":
                methodName = "Get_ExecutionGroups";
                break;

            case "find-entityhasfullcontrol":
                methodName = "Find_EntityHasFullControl";
                break;

            case "get-remotesessions":
                methodName = "Get_RemoteSessions";
                break;

            default:
                Console.WriteLine("No Valid Method entered");
                Environment.Exit(0);
                break;
            }

            var method = typeof(PowerView).GetMethod(methodName);

            if (method == null)
            {
                Logger.Write_Warning($@"There is no method does match with '{methodName}'");
                return;
            }
            if (args.Length > 1 && (args[1].ToLower() == "-help" || args[1].ToLower() == "help"))
            {
                Logger.Write_Output(Environment.NewLine + GetMethodHelp(method));
                Environment.Exit(0);
            }
            ParameterInfo[] parameters = method.GetParameters();
            if (parameters == null || parameters.Length != 1)
            {
                Logger.Write_Warning("The method has no parameter");
                return;
            }
            Type paramType = Type.GetType(parameters[0].ParameterType.FullName);

            if (paramType == null)
            {
                Logger.Write_Warning($@"There is no type for '{parameters[0].ParameterType.FullName}'");
                return;
            }
            object argObject = Activator.CreateInstance(paramType, false);

            if (argObject != null)
            {
                for (int i = 1; i < args.Length; i++)
                {
                    var argName = args[i];
                    if (argName.StartsWith("-"))
                    {
                        argName = argName.TrimStart(new[] { '-' });
                        PropertyInfo pinfo = paramType.GetProperty(argName);
                        if (pinfo == null)
                        {
                            continue;
                        }
                        i++;
                        try
                        {
                            var strValue = "";
                            if (i < args.Length)
                            {
                                strValue = args[i];
                            }
                            else
                            {
                                if (pinfo.PropertyType.FullName == "System.Boolean")
                                {
                                    strValue = "true";
                                }
                            }
                            TypeConverter tc = TypeDescriptor.GetConverter(pinfo.PropertyType);
                            if (tc is BooleanConverter)
                            {
                                if (strValue.StartsWith("-"))
                                {
                                    i--;
                                    strValue = "true";
                                }
                            }
                            else if (tc is ArrayConverter)
                            {
                                tc = new StringArrayConverter();
                            }
                            else if (pinfo.PropertyType.FullName == "System.Net.NetworkCredential")
                            {
                                tc = new NetworkCredentialConverter();
                            }
                            var argValue = tc.ConvertFromString(strValue);
                            pinfo.SetValue(argObject, argValue);
                        }
                        catch (Exception ex)
                        {
                            Logger.Write_Warning($@"Parsing Error {argName}: {ex.Message}");
                        }
                    }
                }
            }
            // Leaving out try catch block to see errors for now
            var ret = method.Invoke(null, new[] { argObject });

            ObjectDumper.Write(ret);
        }
        public void TooLongListSeparator()
        {
            StringArrayConverter vrt = new StringArrayConverter();

            vrt.ListSeparator = "  ";
        }
        public void ConvertFromNullReference()
        {
            StringArrayConverter vrt = new StringArrayConverter();

            vrt.ConvertFrom(null);
        }
        public void ConvertFromNonSupportedOptionBails()
        {
            StringArrayConverter vrt = new StringArrayConverter();

            vrt.ConvertFrom(12);
        }
Exemple #23
0
        public void TryConvertTo_result_is_default_if_value_is_null(StringArrayConverter sut)
        {
            _ = sut.TryConvertTo(null, out object result);

            Assert.That(result, Is.EqualTo(default));
Exemple #24
0
        new private void SaveFormEntry(FormDescription description)
        {
            FormsManager manager         = FormsManager.GetManager();
            FormEntry    userHostAddress = null;

            if (_isProgressiveForm && _priorFormEntry == null)
            {
                FieldControl keyField = this.FieldControls.Where(fc => ((IFormFieldControl)fc).MetaField.FieldName == _progressiveKeyFieldName).FirstOrDefault() as FieldControl;

                if (keyField != null && !String.IsNullOrWhiteSpace((string)keyField.Value))
                {
                    _priorFormEntry = GetPriorFormEntryByKeyField((string)keyField.Value);
                }
            }

            if (_isProgressiveForm && _priorFormEntry != null)
            {
                string entryType = String.Format("{0}.{1}", manager.Provider.FormsNamespace, this.FormData.Name);

                userHostAddress = manager.GetFormEntry(entryType, _priorFormEntry.Id);
            }
            else
            {
                userHostAddress = manager.CreateFormEntry(string.Format("{0}.{1}", manager.Provider.FormsNamespace, description.Name));
            }

            foreach (IFormFieldControl formFieldControl in this.FieldControls)
            {
                FieldControl fieldControl = formFieldControl as FieldControl;
                object       value        = fieldControl.Value;

                if (fieldControl.GetType().Name == "FormFileUpload")
                {
                    typeof(FormsControl)
                    .GetMethod("SaveFiles", BindingFlags.Static | BindingFlags.NonPublic)
                    .Invoke(null, new object[] { value as UploadedFileCollection, manager, description, userHostAddress, formFieldControl.MetaField.FieldName });
                }
                else if (!(value is List <string>))
                {
                    userHostAddress.SetValue(formFieldControl.MetaField.FieldName, value);
                }
                else
                {
                    StringArrayConverter stringArrayConverter = new StringArrayConverter();
                    object obj = stringArrayConverter.ConvertTo((value as List <string>).ToArray(), typeof(string));

                    userHostAddress.SetValue(formFieldControl.MetaField.FieldName, obj);
                }
            }
            userHostAddress.IpAddress   = this.Page.Request.UserHostAddress;
            userHostAddress.SubmittedOn = DateTime.UtcNow;

            Guid userId = ClaimsManager.GetCurrentUserId();

            userHostAddress.UserId = userId == Guid.Empty ? Guid.Parse(_sfTrackingCookie.Value) : userId;

            if (userHostAddress.UserId == userId)
            {
                userHostAddress.Owner = userId;
            }

            if (SystemManager.CurrentContext.AppSettings.Multilingual)
            {
                userHostAddress.Language = CultureInfo.CurrentUICulture.Name;
            }

            FormDescription formData = this.FormData;

            formData.FormEntriesSeed     = formData.FormEntriesSeed + (long)1;
            userHostAddress.ReferralCode = this.FormData.FormEntriesSeed.ToString();

            manager.SaveChanges();
        }