- 在HttpServer中实现了新的API端点:/api/project/open和/api/model/shrinkwrap - 添加了ShrinkwrapModel和OpenProject命令的处理逻辑 - 在PdmsManager中实现了ShrinkwrapModel和OpenProject方法,支持相应请求的处理 - 更新了项目文件以包含新的命令和模型请求类 此更新增强了插件的功能,允许用户通过API进行模型缩减和项目打开操作。
68 lines
1.5 KiB
C#
68 lines
1.5 KiB
C#
using System;
|
|
|
|
namespace TellmePdmsPluging.Models
|
|
{
|
|
public class OpenProjectRequest
|
|
{
|
|
/// <summary>
|
|
/// PDMS Project name
|
|
/// </summary>
|
|
public string ProjectName { get; set; }
|
|
|
|
/// <summary>
|
|
/// PDMS login user name
|
|
/// </summary>
|
|
public string UserName { get; set; }
|
|
|
|
/// <summary>
|
|
/// PDMS login password
|
|
/// </summary>
|
|
public string Password { get; set; }
|
|
|
|
public void ApplyDefaults()
|
|
{
|
|
ProjectName = Normalize(ProjectName);
|
|
UserName = Normalize(UserName);
|
|
Password = Password ?? string.Empty;
|
|
}
|
|
|
|
private static string Normalize(string value)
|
|
{
|
|
if (IsNullOrWhiteSpace(value))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return value.Trim();
|
|
}
|
|
|
|
private static bool IsNullOrWhiteSpace(string value)
|
|
{
|
|
if (value == null)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
for (int i = 0; i < value.Length; i++)
|
|
{
|
|
if (!char.IsWhiteSpace(value[i]))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public class OpenProjectResult
|
|
{
|
|
public bool Success { get; set; }
|
|
public string Message { get; set; }
|
|
public string ProjectName { get; set; }
|
|
public bool WasAlreadyOpen { get; set; }
|
|
public DateTime CompletedAt { get; set; }
|
|
}
|
|
}
|
|
|