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);
}
}
}
}