private void MenuItem_创建数据库_Click_1(object sender, RoutedEventArgs e) { MenuItem item = (MenuItem)sender; ContextMenu menu = (ContextMenu)item.Parent; var obj = (StackPanel)menu.PlacementTarget; ProjectNode projectNode = (ProjectNode)obj.Tag; Forms.DatabaseEditor form = new Forms.DatabaseEditor(projectNode.Project.id.Value); form.Title = "新建数据库"; form.Owner = this; if (form.ShowDialog() == true) { DatabaseNode dbnode = (DatabaseNode)projectNode.Children.Where(m => m is TreeNode.DatabaseNode).FirstOrDefault(); dbnode.ReBindItems(); } }
private async void MenuItem_cs文件还原设计模型_Click_1(object sender, RoutedEventArgs e) { MenuItem item = (MenuItem)sender; ContextMenu menu = (ContextMenu)item.Parent; var obj = (StackPanel)menu.PlacementTarget; ProjectNode projectNode = (ProjectNode)obj.Tag; using (System.Windows.Forms.OpenFileDialog f = new System.Windows.Forms.OpenFileDialog()) { f.Filter = "*.cs|*.cs"; if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.Cursor = Cursors.Wait; try { var bs = System.IO.File.ReadAllBytes(f.FileName); string url = $"POST /ImportCSFileHandler.aspx?projectid={projectNode.Project.id}"; var host = $"{Helper.WebSite}/"; host = host.Substring(host.IndexOf("://") + 3); host = host.Substring(0, host.IndexOf("/")); int port = 80; if (host.Contains(":")) { port = Convert.ToInt32(host.Split(':')[1]); host = host.Split(':')[0]; } string result = null; await Task.Run(() => { Way.Lib.NetStream client = new Way.Lib.NetStream(host, port); client.AsSSLClient(System.Security.Authentication.SslProtocols.None); System.IO.StreamWriter stream = new System.IO.StreamWriter(client); stream.WriteLine(url); stream.WriteLine($"Cookie: WayScriptRemoting={Net.RemotingClient.SessionID}"); stream.WriteLine($"Content-Type: import"); stream.WriteLine($"Content-Length: {bs.Length}"); stream.WriteLine(""); stream.Flush(); client.Write(bs, 0, bs.Length); while (true) { if (client.ReadLine().Length == 0) { break; } } result = client.ReadLine(); client.Close(); }); if (result != "ok") { Helper.ShowError(this, result); return; } DatabaseNode dbnode = (DatabaseNode)projectNode.Children.Where(m => m is TreeNode.DatabaseNode).FirstOrDefault(); dbnode.ReBindItems(); MessageBox.Show(this, "成功导入!"); } catch (Exception ex) { MessageBox.Show(this, ex.GetBaseException().Message); } finally { this.Cursor = null; } } } }