using CollaborativePlatformMain.DFEntity.MessageSubUtil; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace CollaborativePlatformMain.Form.MessageSubPage.Project { /// /// NewProjrctPage.xaml 的交互逻辑 /// public partial class NewProjrctPage : Page { /// /// 父级窗体 /// public SeconProjectPage SeconProjectPage; public NewProjrctPage(SeconProjectPage seconProjectPage) { InitializeComponent(); SeconProjectPage = seconProjectPage; } /// /// 青蓝小助手提示关闭事件 /// /// /// private void close_Click(object sender, RoutedEventArgs e) { gd_top.Visibility = Visibility.Collapsed; } /// /// 新增楼栋 /// /// /// private void bt_build_Click(object sender, RoutedEventArgs e) { string buildName = tb_buildName.Text.ToString(); if (buildName == null || buildName == "") { MessageBox.Show("请输入新增楼栋名称"); return; } TextBox textBox = new TextBox(); textBox.Width = 100; textBox.Text = buildName; DockPanel dockPanel = new DockPanel(); dockPanel.Margin = new Thickness(30, 10, 0, 0); dockPanel.HorizontalAlignment = HorizontalAlignment.Left; dockPanel.Children.Add(textBox); sp_buildNames.Children.Add(dockPanel); tb_buildName.Text = ""; } /// /// 提交项目 /// /// /// private void bt_addPorject_Click(object sender, RoutedEventArgs e) { //项目名称 string projectName = tb_projectName.Text.ToString(); if (projectName == null || projectName == "") { MessageBox.Show("请输入项目名称"); return; } //项目业态 string businessName = tb_staus.Text.ToString(); if (businessName == null || businessName == "") { MessageBox.Show("请输入项目业态"); return; } //项目地址 string pathName = tb_Path.Text.ToString(); if (pathName == null || pathName == "") { MessageBox.Show("请输入项目地址"); return; } //楼栋名称 BuildNames = new List(); GetBuildNames(sp_buildNames); //项目信息 ProjectEntity projectEntity = new ProjectEntity(projectName, businessName, pathName); List buildDatas = new List(); foreach (var buildName in BuildNames) { //项目信息 ProjectEntity subData1 = new ProjectEntity("项目信息", projectEntity); //团队成员 Dictionary keyValuePairs = new Dictionary(); keyValuePairs.Add("主管", ""); keyValuePairs.Add("建筑", ""); keyValuePairs.Add("结构", ""); keyValuePairs.Add("给排水", ""); keyValuePairs.Add("暖通", ""); keyValuePairs.Add("电气", ""); ProjectEntity subData2 = new ProjectEntity("团队成员", keyValuePairs); //工作台 OperatingFloorData operatingFloorData = new OperatingFloorData(projectName); ProjectEntity subData3 = new ProjectEntity("工作台", operatingFloorData); //自定义 ProjectEntity subData4 = new ProjectEntity("自定义", new List()); //添加数据 buildDatas.Add(new ProjectEntity(buildName, new List() { subData1, subData2, subData3, subData4 })); } ProjectEntity projectInfo = new ProjectEntity(projectName, buildDatas); //存储消息数据 if (!projectName.Contains("项目")) projectName = projectName + " 项目"; //二级菜单 string seconNode = projectName + "建筑" + "图纸更新"; bool isExisteSecon = false; for (int i = 0; i < SeconMessagePage.MessageDatas.Count; i++) { MessageData existMessageData = SeconMessagePage.MessageDatas[i]; if (existMessageData.SeconNode.Equals(seconNode)) { foreach (var item in BuildNames) { SeconMessagePage.MessageDatas[i].ThreeNodes.Add(projectName + item + "更新"); } isExisteSecon = true; break; } } if (!isExisteSecon) { MessageData newMessageData = new MessageData(); newMessageData.SeconNode = seconNode; foreach (var item in BuildNames) { newMessageData.ThreeNodes.Add(projectName + "建筑" + item + "更新"); } SeconMessagePage.MessageDatas.Add(newMessageData); } //messageData SeconProjectPage.ProjectEntities.Add(projectInfo); SeconProjectPage.FlushData(); } /// /// 所有的楼栋名称 /// public List BuildNames = new List(); /// /// 获取所有的楼栋名称 /// /// public void GetBuildNames(DependencyObject obj) { for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++) { DependencyObject child = VisualTreeHelper.GetChild(obj, i); if (child is TextBox textBox) { BuildNames.Add(textBox.Text.ToString()); } GetBuildNames(child); } } } }