添加项目文件。

This commit is contained in:
GG Z
2026-02-23 14:58:05 +08:00
parent ce96926220
commit 771d780d6c
342 changed files with 33470 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
namespace Sai.Common.Shared.WBSCoder
{
public partial class ProjectCodeAddedCheckerViewModel : ObservableObject
{
public ProjectCodeAddedCheckerViewModel(CheckCodeViewModel viewModel)
{
allElements = viewModel.AllElements;
LastTaskItems = viewModel.LastTaskItems;
handler = new CodingEventHandler();
codingEvent = ExternalEvent.Create(handler);
}
private readonly IList<Element> allElements;
private readonly ExternalEvent codingEvent;
private readonly CodingEventHandler handler;
public ObservableCollection<TaskItem> LastTaskItems { get; set; }
/// <summary>
/// 添加WBS编码
/// </summary>
/// <param name="obj"></param>
[RelayCommand]
private void AddWbsCode(object obj)
{
try
{
handler.TaskItem = obj as TaskItem;
codingEvent.Raise();
}
catch (Exception ex)
{
TaskDialog.Show("添加失败", $"{ex.Message}");
}
}
/// <summary>
/// 检查mpp文件是否都赋予到模型
/// </summary>
[RelayCommand]
private void CheckCode()
{
foreach (var ele in allElements)
{
var temp = ele.get_Parameter(BuiltInParameter.ALL_MODEL_MARK)?.AsString();
if (temp == null)
{
continue;
}
string code = WbsCoderUtils.FormatWbsCode(temp);
foreach (var task in LastTaskItems)
{
if (task.WBSCode == code)
{
task.HasCoded = true;
break;
}
}
}
TaskDialog.Show("提示", "校验完成");
}
}
}