ATMLCommonLibrary.forms.ATMLXslTranslationForm.ProcessSubmit C# (CSharp) Method

ProcessSubmit() private method

private ProcessSubmit ( WebBrowserDocumentCompletedEventArgs e ) : void
e WebBrowserDocumentCompletedEventArgs
return void
        private void ProcessSubmit(WebBrowserDocumentCompletedEventArgs e)
        {
            NameValueCollection urlParameters = HttpUtility.ParseQueryString( e.Url.ToString() );
            if (urlParameters.Count > 0 && XmlData != null)
            {
                bool processedParams = false;
                var xml = new XmlDocument();
                xml.LoadXml( Encoding.UTF8.GetString( XmlData ) );
                foreach (string k in urlParameters.AllKeys)
                {
                    string key = k;
                    if (!string.IsNullOrEmpty( key ))
                    {
                        string value = urlParameters.Get( key );
                        processedParams = true;
                        if (key.Contains( "?" ))
                            key = key.Substring( key.IndexOf( "?", StringComparison.Ordinal ) + 1 );
                        string[] parts = key.Split( ':' );
                        if (parts.Length > 1)
                        {
                            string id = "RES-" + parts[1];
                            XmlNodeList nl = xml.SelectNodes( string.Format( "//result[@id='{0}']", id ) );
                            if (nl.Count > 0)
                            {
                                var element = nl[0] as XmlElement;
                                if (element != null)
                                {
                                    if ("text".Equals( parts[0] ))
                                    {
                                        element.AppendChild( xml.CreateTextNode( value ) );
                                    }
                                    else
                                    {
                                        element.SetAttribute( parts[0], value );
                                    }
                                }
                            }
                        }
                        LogManager.Trace( "{0}={1}", key, urlParameters.Get( key ) );
                    }
                    if (processedParams)
                    {
                        var sw = new StringWriter();
                        XmlWriter writer = new UTRSXmlWriter( sw );
                        xml.WriteTo( writer );
                        _xmlData = Encoding.UTF8.GetBytes( sw.ToString() );
                        string html = XmlUtils.Transform( _xslData, XmlData );
                        _translatedData = Encoding.UTF8.GetBytes( html );
                        File.WriteAllText( _tempFileName, html );
                        webBrowser.Navigate( _tempFileName );
                    }
                }
            }
        }