576 changed files with 0 additions and 11021 deletions
@ -1,33 +0,0 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<configuration> |
|||
<appSettings> |
|||
<!-- Hangfire Dashboard 配置 --> |
|||
<add key="Hangfire:DashboardPath" value="/hangfire" /> |
|||
<add key="Hangfire:RequireAuthorization" value="true" /> |
|||
|
|||
<!-- Hangfire 服务器配置 --> |
|||
<add key="Hangfire:WorkerCount" value="5" /> |
|||
<add key="Hangfire:Queues" value="default,critical,background" /> |
|||
<add key="Hangfire:Url" value="http://localhost:5888" /> |
|||
|
|||
<!-- Hangfire 存储配置 --> |
|||
|
|||
<add key="Hangfire:Storage:Type" value="SqlServer" /> |
|||
<add key="Hangfire:Storage:ConnectionString" value="Server=127.0.0.1;Database=HANGFIRE;User ID=sa;Password=1;TrustServerCertificate=True" /> |
|||
</appSettings> |
|||
|
|||
<connectionStrings> |
|||
<!-- 也可以使用 connectionStrings 节点存储连接字符串 --> |
|||
<add name="HangfireDb" connectionString="Server=127.0.0.1;Database=HANGFIRE;User ID=sa;Password=1;TrustServerCertificate=True" providerName="System.Data.SqlClient" /> |
|||
</connectionStrings> |
|||
|
|||
<!-- 程序集绑定重定向 --> |
|||
<runtime> |
|||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |
|||
<dependentAssembly> |
|||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> |
|||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" /> |
|||
</dependentAssembly> |
|||
</assemblyBinding> |
|||
</runtime> |
|||
</configuration> |
@ -1,19 +0,0 @@ |
|||
<Application x:Class="WpfApp4.App" |
|||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|||
xmlns:local="clr-namespace:WpfApp4" |
|||
StartupUri="MainWindow.xaml" |
|||
xmlns:ui="http://schemas.modernwpf.com/2019"> |
|||
<Application.Resources> |
|||
<ResourceDictionary> |
|||
<ResourceDictionary.MergedDictionaries> |
|||
<ui:ThemeResources /> |
|||
<ui:XamlControlsResources /> |
|||
<!-- Other merged dictionaries here --> |
|||
</ResourceDictionary.MergedDictionaries> |
|||
<!-- Other app resources here --> |
|||
</ResourceDictionary> |
|||
</Application.Resources> |
|||
|
|||
|
|||
</Application> |
@ -1,132 +0,0 @@ |
|||
using Hangfire.Common; |
|||
using Hangfire.SqlServer; |
|||
using Hangfire; |
|||
using System.Configuration; |
|||
using System.Data; |
|||
using System.Windows; |
|||
using System.Data.SqlClient; |
|||
using System; |
|||
using Hangfire.Server; |
|||
using Autofac; |
|||
using System.IO; |
|||
using System.Reflection; |
|||
using System.Collections.ObjectModel; |
|||
using Microsoft.Extensions.Hosting; |
|||
using Microsoft.AspNetCore.Hosting; |
|||
using Microsoft.Extensions.Logging; |
|||
|
|||
|
|||
namespace WpfApp4 |
|||
{ |
|||
/// <summary>
|
|||
/// Interaction logic for App.xaml
|
|||
/// </summary>
|
|||
public partial class App : Application |
|||
{ |
|||
|
|||
private BackgroundJobServer _backgroundJobServer; |
|||
//private IContainer _container;
|
|||
protected override void OnStartup(StartupEventArgs e) |
|||
{ |
|||
|
|||
base.OnStartup(e); |
|||
#region 动态加载插件需要
|
|||
//var startup = new Startup();
|
|||
//_container = startup.ConfigureContainer();
|
|||
//// 启动Hangfire服务器
|
|||
//startup.StartHangfireServer(_container);
|
|||
#endregion
|
|||
// 配置 Hangfire
|
|||
ConfigureHangfire(); |
|||
// 启动作业服务器
|
|||
StartHangfireServer(); |
|||
|
|||
BuilderHost(); |
|||
|
|||
|
|||
} |
|||
#region 动态加载插件需要
|
|||
//protected override void OnExit(ExitEventArgs e)
|
|||
//{
|
|||
// // 应用程序关闭时停止 Hangfire 服务器
|
|||
// _container?.Dispose();
|
|||
// base.OnExit(e);
|
|||
//}
|
|||
|
|||
#endregion
|
|||
|
|||
public static class HangfireConfig |
|||
{ |
|||
public static string DashboardPath => ConfigurationManager.AppSettings["Hangfire:DashboardPath"] ?? "/hangfire"; |
|||
public static bool RequireAuthorization => bool.Parse(ConfigurationManager.AppSettings["Hangfire:RequireAuthorization"] ?? "true"); |
|||
public static int WorkerCount => int.Parse(ConfigurationManager.AppSettings["Hangfire:WorkerCount"] ?? Environment.ProcessorCount.ToString()); |
|||
public static string[] Queues => (ConfigurationManager.AppSettings["Hangfire:Queues"] ?? "default").Split(','); |
|||
|
|||
public static string StorageType => ConfigurationManager.AppSettings["Hangfire:Storage:Type"] ?? "SqlServer"; |
|||
|
|||
public static string Url => ConfigurationManager.AppSettings["Hangfire:Url"] ?? "http://localhost:58886"; |
|||
|
|||
|
|||
public static string ConnectionString => |
|||
ConfigurationManager.AppSettings["Hangfire:Storage:ConnectionString"] ?? |
|||
ConfigurationManager.ConnectionStrings["HangfireDb"]?.ConnectionString; |
|||
} |
|||
|
|||
private void BuilderHost() |
|||
{ |
|||
var host = CreateHostBuilder().Build(); |
|||
// 启动WebHost
|
|||
host.Start(); |
|||
// 应用程序退出时停止WebHost
|
|||
App.Current.Exit += (s, e) => host.StopAsync(); |
|||
} |
|||
public static IHostBuilder CreateHostBuilder() => |
|||
Host.CreateDefaultBuilder() |
|||
.ConfigureWebHostDefaults(webBuilder => |
|||
{ |
|||
webBuilder.UseUrls("http://localhost:5645"); |
|||
webBuilder.UseStartup<WebStartup>(); |
|||
}); |
|||
private void ConfigureHangfire() |
|||
{ |
|||
// 设置作业存储
|
|||
GlobalConfiguration.Configuration |
|||
.SetDataCompatibilityLevel(CompatibilityLevel.Version_170) |
|||
.UseSimpleAssemblyNameTypeSerializer() |
|||
.UseRecommendedSerializerSettings() |
|||
.UseSqlServerStorage( |
|||
"Server=127.0.0.1;Database=HangFire;User ID=sa;Password=1;TrustServerCertificate=True", |
|||
new SqlServerStorageOptions |
|||
{ |
|||
CommandBatchMaxTimeout = TimeSpan.FromMinutes(5), |
|||
SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5), |
|||
QueuePollInterval = TimeSpan.Zero, |
|||
UseRecommendedIsolationLevel = true, |
|||
DisableGlobalLocks = true |
|||
}); |
|||
} |
|||
|
|||
private void StartHangfireServer() |
|||
{ |
|||
// 创建并启动后台作业服务器
|
|||
_backgroundJobServer = new BackgroundJobServer(); |
|||
} |
|||
|
|||
|
|||
protected override void OnExit(ExitEventArgs e) |
|||
{ |
|||
// 应用程序关闭时停止 Hangfire 服务器
|
|||
_backgroundJobServer?.Dispose(); |
|||
base.OnExit(e); |
|||
} |
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
@ -1,10 +0,0 @@ |
|||
using System.Windows; |
|||
|
|||
[assembly: ThemeInfo( |
|||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
|||
//(used if a resource is not found in the page,
|
|||
// or application resource dictionaries)
|
|||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
|||
//(used if a resource is not found in the page,
|
|||
// app, or any theme specific resource dictionaries)
|
|||
)] |
@ -1,163 +0,0 @@ |
|||
|
|||
using Microsoft.Extensions.Options; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Net.Http; |
|||
using System.Security.Cryptography; |
|||
using System.Text; |
|||
using System.Text.Json; |
|||
using System.Text.Json.Serialization; |
|||
using System.Text.RegularExpressions; |
|||
using System.Threading.Tasks; |
|||
using WpfApp4; |
|||
|
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class BaseController:IDoExecute { |
|||
|
|||
protected string appKey = "8EG566b9bedd2bf46d"; |
|||
protected string appSecret = "48edc4425647425d87f806a1ba492580"; |
|||
protected string baseNo = "13"; |
|||
protected string DomainUrl = App.HangfireConfig.Url; // 正式环境
|
|||
protected HttpClient _httpClient; |
|||
|
|||
public BaseController() |
|||
{ |
|||
_httpClient =new HttpClient(); |
|||
} |
|||
/// <summary>
|
|||
///
|
|||
/// </summary>
|
|||
/// <param name="url">全路径调用</param>
|
|||
/// <param name="jsonData"></param>
|
|||
/// <param name=""></param>
|
|||
/// <returns></returns>
|
|||
protected async Task<string> Post(string url, string jsonData,string route) |
|||
{ |
|||
//error = string.Empty;
|
|||
try |
|||
{ |
|||
// 生成签名参数
|
|||
string timeStamp = GetCurrentTimestamp(); |
|||
string nonce = GenerateNonce(); |
|||
|
|||
var sign = GenerateSign(HttpMethod.Post.Method, route, appKey, appSecret, timeStamp, nonce, jsonData); |
|||
|
|||
// 构建请求
|
|||
var request = new HttpRequestMessage(HttpMethod.Post, url); |
|||
request.Content = new StringContent(jsonData, Encoding.UTF8, "application/json"); |
|||
request.Headers.Add("appKey", appKey); |
|||
request.Headers.Add("appSecret", appSecret); |
|||
request.Headers.Add("timestamp", timeStamp); |
|||
request.Headers.Add("sign", sign); |
|||
request.Headers.Add("nonce", nonce); |
|||
// 发送请求
|
|||
var response = await _httpClient.SendAsync(request); |
|||
response.EnsureSuccessStatusCode(); // 抛出异常处理状态码
|
|||
return await response.Content.ReadAsStringAsync(); |
|||
} |
|||
catch (HttpRequestException ex) |
|||
{ |
|||
//error = ex.Message;
|
|||
return string.Empty; |
|||
} |
|||
} |
|||
private string GenerateSign(string method, string path, string appKey, string appSecret, string timestamp, string nonce, string jsonBody) |
|||
{ |
|||
// 按照规则拼接参数
|
|||
string paramStr = $"method={method.ToUpper()}&path={path}&appKey={appKey}&appSecret={appSecret}×tamp={timestamp}&nonce={nonce}&jsonBody={jsonBody}"; |
|||
return ComputeSHA512(paramStr); |
|||
|
|||
} |
|||
private string ComputeSHA512(string input) |
|||
{ |
|||
using (SHA512 sha512 = SHA512.Create()) |
|||
{ |
|||
byte[] bytes = Encoding.UTF8.GetBytes(input); |
|||
byte[] hash = sha512.ComputeHash(bytes); |
|||
|
|||
StringBuilder builder = new StringBuilder(); |
|||
for (int i = 0; i < hash.Length; i++) |
|||
{ |
|||
builder.Append(hash[i].ToString("x2")); // "x2" 表示小写十六进制
|
|||
} |
|||
return builder.ToString(); |
|||
} |
|||
} |
|||
private static string RemoveWhitespace(string input) |
|||
{ |
|||
if (string.IsNullOrEmpty(input)) |
|||
return input; |
|||
// 使用正则表达式移除空格和换行
|
|||
return Regex.Replace(input, @"[\s]+", ""); |
|||
} |
|||
|
|||
private string GetCurrentTimestamp() |
|||
{ |
|||
return ((long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds).ToString(); |
|||
} |
|||
|
|||
private string GenerateNonce() |
|||
{ |
|||
const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; |
|||
Random random = new Random(); |
|||
int length = random.Next(10, 51); |
|||
return new string(Enumerable.Repeat(chars, length) |
|||
.Select(s => s[random.Next(s.Length)]).ToArray()); |
|||
} |
|||
|
|||
public async Task ExecuteAsync() |
|||
{ |
|||
var str=JsonSerializer.Serialize(new SupplierPlanRequest(), |
|||
new JsonSerializerOptions |
|||
{ |
|||
PropertyNamingPolicy = JsonNamingPolicy.CamelCase, |
|||
WriteIndented = true // 可选,用于格式化输出
|
|||
} |
|||
); |
|||
str = RemoveWhitespace(str); |
|||
var ret =await Post("https://ediuat.mychery.com/prod-api/api-apply/v2/get/supplierProPlaning",str, "/v2/get/supplierProPlaning"); |
|||
} |
|||
} |
|||
|
|||
public class SupplierPlanRequest |
|||
{ |
|||
|
|||
public string Date { get; set; } = DateTime.Today.ToString("yyyy-MM-dd"); // 默认当前日期
|
|||
|
|||
public int PageSize { get; set; } = 1000; // 最大值 1000
|
|||
|
|||
public int PageNum { get; set; } = 1; // 从 1 开始
|
|||
|
|||
public bool IsForce { get; set; } = false; // 默认非强制获取
|
|||
} |
|||
|
|||
// 响应数据模型(根据文档示例响应定义)
|
|||
public class SupplierPlanResponse |
|||
{ |
|||
public int Total { get; set; } |
|||
public int PageNum { get; set; } |
|||
public int PageSize { get; set; } |
|||
public List<PlanData> Rows { get; set; } = new List<PlanData>(); |
|||
} |
|||
|
|||
public class PlanData |
|||
{ |
|||
public int Id { get; set; } |
|||
public string ReleaseEdition { get; set; } |
|||
public string Models { get; set; } |
|||
public string SalseDepartment { get; set; } |
|||
public string Type { get; set; } |
|||
public string Assembly { get; set; } |
|||
// 按文档响应示例补充其他字段...
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
@ -1,71 +0,0 @@ |
|||
using Newtonsoft.Json; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Net.Http; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
using System; |
|||
using System.Net.Http; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Newtonsoft.Json; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class CheryRDCSharedInventoryController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
// 需安装 Newtonsoft.Json 包
|
|||
|
|||
public class TokenService |
|||
{ |
|||
private readonly HttpClient _httpClient; |
|||
private readonly string _appKey; |
|||
private readonly string _appSecret; // 若有密钥需传入
|
|||
|
|||
public TokenService(string appKey, string appSecret) |
|||
{ |
|||
_httpClient = new HttpClient(); |
|||
_appKey = appKey; |
|||
_appSecret = appSecret; |
|||
} |
|||
|
|||
public async Task<string> GetTokenAsync(string tokenUrl) |
|||
{ |
|||
var parameters = new |
|||
{ |
|||
app_key = _appKey, |
|||
app_secret = _appSecret, // 按需传参
|
|||
// 其他参数如 grant_type、scope 等根据接口要求调整
|
|||
}; |
|||
|
|||
var content = new StringContent( |
|||
JsonConvert.SerializeObject(parameters), |
|||
Encoding.UTF8, |
|||
"application/json" |
|||
); |
|||
|
|||
var response = await _httpClient.PostAsync(tokenUrl, content); |
|||
response.EnsureSuccessStatusCode(); // 抛异常处理错误
|
|||
|
|||
var responseBody = await response.Content.ReadAsStringAsync(); |
|||
var result = JsonConvert.DeserializeObject<dynamic>(responseBody); |
|||
return result.access_token; // 假设返回字段为 access_token
|
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class DailyMRPStatusMonitoringController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class DailyMRPWarningTrendController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class DailyMaterialRequirementPlanController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class DefectBusinessDataController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class EnvironmentalBusinessDataController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class EquipmentOEEController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class FirstPassYieldController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class IncomingInspectionDataController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class KanbanDeliveryNoteController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,29 +0,0 @@ |
|||
using Dapper; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Models; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace WpfApp4.Controllers |
|||
{ |
|||
public class LogController |
|||
{ |
|||
//private readonly IServiceProvider _serviceProvider;
|
|||
//public LogController(IServiceProvider serviceProvider)
|
|||
//{
|
|||
// _serviceProvider = serviceProvider;
|
|||
//}
|
|||
//public async Task<IEnumerable<Logs>> GetLogs()
|
|||
//{
|
|||
// var dbcontext= _serviceProvider.GetRequiredService<JobDbContext>();
|
|||
// var connection=dbcontext.Database.GetDbConnection();
|
|||
// connection.Query<Logs>("select top 10 * from logs");
|
|||
//}
|
|||
|
|||
|
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class MaterialMasterDataContoller : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class MaterialRequirementPlanM6Controller : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class MonthlyProductionPlanController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class OEETimeDetailsController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class OMMasterDataController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class PaintingToAssemblyVehiclesController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class PersonnelQualificationInfoController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class PlanningAgreementController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class ProcessControlQualityDataControll : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class ProcessEquipmentController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class ProcessTechnologyController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class ProductionProcessDataController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class ProductionSchedulingDataController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class PurchaseOrderController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class ReturnGoodsNoteController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class SequencedSupplyController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,241 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Newtonsoft.Json; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.IO; |
|||
using System.Linq; |
|||
using System.Net.Http; |
|||
using System.Security.Cryptography; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
/// <summary>
|
|||
/// 常熟安通林奇瑞的Http接口
|
|||
///// </summary>
|
|||
//public static class HttpCheryMOMController
|
|||
//{
|
|||
// private static string appKey = "8EG";
|
|||
// private static string appSecret = "3tdmkx&v%TJqTM@GA3Va";
|
|||
// private static string baseNo = "13";
|
|||
// public static string DomainUrl = "https://api-mom.mychery.com:8443"; // 正式环境地址
|
|||
|
|||
// private static readonly HttpClient httpClient = new HttpClient
|
|||
// {
|
|||
// Timeout = TimeSpan.FromSeconds(30)
|
|||
// };
|
|||
|
|||
// /// <summary>
|
|||
// /// 通用POST请求方法
|
|||
// /// </summary>
|
|||
// /// <param name="url">请求地址</param>
|
|||
// /// <param name="jsonData">JSON请求体</param>
|
|||
// /// <param name="error">错误信息</param>
|
|||
// /// <returns>响应结果</returns>
|
|||
// public static async Task<string> PostAsync(string url, string jsonData, out string error)
|
|||
// {
|
|||
// error = string.Empty;
|
|||
// try
|
|||
// {
|
|||
// // 生成时间戳和签名
|
|||
// string timeStamp = HttpUtilityAnTongLin.GetCurrentTimestampMillis().ToString();
|
|||
// string original = $"{appKey}{timeStamp}{appSecret}";
|
|||
// string sign = HttpUtilityAnTongLin.StringEncryMD5(original);
|
|||
|
|||
// // 构造请求
|
|||
// var request = new HttpRequestMessage(HttpMethod.Post, url)
|
|||
// {
|
|||
// Content = new StringContent(jsonData, Encoding.UTF8, "application/json")
|
|||
// };
|
|||
// request.Headers.Add("appKey", appKey);
|
|||
// request.Headers.Add("timeStamp", timeStamp);
|
|||
// request.Headers.Add("sign", sign);
|
|||
// request.Headers.Add("signType", "MD5");
|
|||
// request.Headers.Add("baseNo", baseNo);
|
|||
|
|||
// // 发送请求
|
|||
// var response = await httpClient.SendAsync(request);
|
|||
// response.EnsureSuccessStatusCode();
|
|||
// return await response.Content.ReadAsStringAsync();
|
|||
// }
|
|||
// catch (HttpRequestException ex)
|
|||
// {
|
|||
// error = ex.Message;
|
|||
// return string.Empty;
|
|||
// }
|
|||
// }
|
|||
|
|||
// #region 配送单接口(看板发货)
|
|||
// private static string delivebillUrl = $"{DomainUrl}/api-gateway/common-api/map/info";
|
|||
|
|||
// /// <summary>
|
|||
// /// 配送单接口
|
|||
// /// </summary>
|
|||
// /// <param name="mapSheetNoList">配送单号列表</param>
|
|||
// /// <param name="type">1=待入库配送单信息,2=待出库配送单信息(默认)</param>
|
|||
// /// <returns>接口响应结果</returns>
|
|||
// public static async Task<string> DeliveBillInfoAsync(List<string> mapSheetNoList, int type = 2)
|
|||
// {
|
|||
// string error = string.Empty;
|
|||
// var req = new SortInputPara
|
|||
// {
|
|||
// base_no = baseNo,
|
|||
// s_datetime = DateTime.Now.AddDays(-30).ToString("yyyy-MM-dd HH:mm:ss"),
|
|||
// e_datetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
|||
// map_sheet_no = mapSheetNoList.ToArray(),
|
|||
// type = type
|
|||
// };
|
|||
|
|||
// try
|
|||
// {
|
|||
// string jsonData = JsonConvert.SerializeObject(req);
|
|||
// string result = await PostAsync(delivebillUrl, jsonData, out error);
|
|||
// WebLogbHelper.WriteLog($"接口DeliveBillInfo入参:{jsonData}, 返回:{result}");
|
|||
// return result;
|
|||
// }
|
|||
// catch (Exception ex)
|
|||
// {
|
|||
// WebLogbHelper.WriteLog($"接口DeliveBillInfo异常:{ex}");
|
|||
// error = ex.Message;
|
|||
// return string.Empty;
|
|||
// }
|
|||
// }
|
|||
// #endregion
|
|||
|
|||
// #region 外排配送单接口(排序发货)
|
|||
// private static string jisSheetUrl = $"{DomainUrl}/api-gateway/common-api/map/jisSheet";
|
|||
|
|||
// /// <summary>
|
|||
// /// 外排配送单接口
|
|||
// /// </summary>
|
|||
// /// <param name="mapSheetNoList">单号列表</param>
|
|||
// /// <returns>接口响应结果</returns>
|
|||
// public static async Task<string> JisSheetAsync(List<string> mapSheetNoList)
|
|||
// {
|
|||
// string error = string.Empty;
|
|||
// var req = new InputPara
|
|||
// {
|
|||
// base_no = baseNo,
|
|||
// s_datetime = DateTime.Now.AddDays(-30).ToString("yyyy-MM-dd HH:mm:ss"),
|
|||
// e_datetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
|||
// map_sheet_no = mapSheetNoList.ToArray()
|
|||
// };
|
|||
|
|||
// try
|
|||
// {
|
|||
// string jsonData = JsonConvert.SerializeObject(req);
|
|||
// string result = await PostAsync(jisSheetUrl, jsonData, out error);
|
|||
// WebLogbHelper.WriteLog($"接口JisSheet入参:{jsonData}, 返回:{result}");
|
|||
// return result;
|
|||
// }
|
|||
// catch (Exception ex)
|
|||
// {
|
|||
// WebLogbHelper.WriteLog($"接口JisSheet异常:{ex}");
|
|||
// error = ex.Message;
|
|||
// return string.Empty;
|
|||
// }
|
|||
// }
|
|||
// #endregion
|
|||
|
|||
// /// <summary>
|
|||
// /// 对象转JSON字符串
|
|||
// /// </summary>
|
|||
// public static string ObjectToJson(object obj)
|
|||
// {
|
|||
// return JsonConvert.SerializeObject(obj, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
|
|||
// }
|
|||
|
|||
// /// <summary>
|
|||
// /// JSON字符串转对象
|
|||
// /// </summary>
|
|||
// public static T JsonToObject<T>(string json)
|
|||
// {
|
|||
// return JsonConvert.DeserializeObject<T>(json);
|
|||
// }
|
|||
//}
|
|||
|
|||
///// <summary>
|
|||
///// 时间戳和MD5加密工具类
|
|||
///// </summary>
|
|||
//public static class HttpUtilityAnTongLin
|
|||
//{
|
|||
// /// <summary>
|
|||
// /// MD5加密
|
|||
// /// </summary>
|
|||
// public static string StringEncryMD5(string input)
|
|||
// {
|
|||
// using var md5 = MD5.Create();
|
|||
// byte[] hashBytes = md5.ComputeHash(Encoding.UTF8.GetBytes(input));
|
|||
// return BitConverter.ToString(hashBytes).Replace("-", "").ToUpper();
|
|||
// }
|
|||
|
|||
// /// <summary>
|
|||
// /// 获取当前时间戳(毫秒)
|
|||
// /// </summary>
|
|||
// public static long GetCurrentTimestampMillis()
|
|||
// {
|
|||
// return (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
|
|||
// }
|
|||
//}
|
|||
|
|||
///// <summary>
|
|||
///// 接口响应基类
|
|||
///// </summary>
|
|||
///// <typeparam name="T">数据类型</typeparam>
|
|||
//public class Res<T> where T : class
|
|||
//{
|
|||
// public int code { get; set; } = -1;
|
|||
// public string message { get; set; } = string.Empty;
|
|||
// public T data { get; set; } = default!;
|
|||
//}
|
|||
|
|||
//#region 接口请求参数类
|
|||
//public class InputPara
|
|||
//{
|
|||
// public string base_no { get; set; } = string.Empty;
|
|||
// public string s_datetime { get; set; } = string.Empty;
|
|||
// public string e_datetime { get; set; } = string.Empty;
|
|||
// public string[] map_sheet_no { get; set; } = Array.Empty<string>();
|
|||
//}
|
|||
|
|||
//public class SortInputPara : InputPara
|
|||
//{
|
|||
// public int type { get; set; }
|
|||
//}
|
|||
//#endregion
|
|||
|
|||
//#region 日志帮助类
|
|||
//public static class WebLogbHelper
|
|||
//{
|
|||
// private static readonly string LogDirectory = Path.Combine(AppContext.BaseDirectory, "logs");
|
|||
|
|||
// static WebLogbHelper()
|
|||
// {
|
|||
// Directory.CreateDirectory(LogDirectory);
|
|||
// }
|
|||
|
|||
// /// <summary>
|
|||
// /// 写入日志
|
|||
// /// </summary>
|
|||
// /// <param name="message">日志内容</param>
|
|||
// public static void WriteLog(string message)
|
|||
// {
|
|||
// string logPath = Path.Combine(LogDirectory, $"{DateTime.Now:yyyy-MM-dd}.log");
|
|||
// lock (typeof(WebLogbHelper))
|
|||
// {
|
|||
// File.AppendAllText(logPath, $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} >>> {message}{Environment.NewLine}");
|
|||
// }
|
|||
// }
|
|||
//}
|
|||
//#endregion
|
|||
|
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class SupplierBaseInfoController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class SupplierSharedInventoryEveningController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,12 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class SupplierSharedInventoryMorningController |
|||
{ |
|||
} |
|||
} |
@ -1,189 +0,0 @@ |
|||
using Newtonsoft.Json; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Net.Http; |
|||
using System.Net.Http.Headers; |
|||
using System.Text; |
|||
|
|||
using System.Threading.Tasks; |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class TokenServiceController : IDoExecute |
|||
{ |
|||
|
|||
private readonly HttpClient _httpClient; |
|||
private readonly string _appKey = "8EG566b9bedd2bf46d"; |
|||
private readonly string _appSecret = "48edc4425647425d87f806a1ba492580"; // 若有密钥需传入
|
|||
|
|||
public TokenServiceController() |
|||
{ |
|||
_httpClient = new HttpClient(); |
|||
|
|||
|
|||
|
|||
} |
|||
public async Task ExecuteAsync() |
|||
{ |
|||
try |
|||
{ |
|||
var retult = await GetTokenAsync("https://ediuat.mychery.com/prod-api/auth/public/login/appKey"); |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
Console.WriteLine(ex.Message); |
|||
} |
|||
|
|||
} |
|||
|
|||
public async Task<string> GetTokenAsync(string tokenUrl) |
|||
{ |
|||
var parameters = new |
|||
{ |
|||
appKey = _appKey, |
|||
appSecret = _appSecret, // 按需传参
|
|||
// 其他参数如 grant_type、scope 等根据接口要求调整
|
|||
}; |
|||
|
|||
var content = new StringContent( |
|||
JsonConvert.SerializeObject(parameters), |
|||
Encoding.UTF8, |
|||
"application/json" |
|||
); |
|||
var response = await _httpClient.PostAsync(tokenUrl, content); |
|||
response.EnsureSuccessStatusCode(); // 抛异常处理错误
|
|||
var responseBody = await response.Content.ReadAsStringAsync(); |
|||
var result = JsonConvert.DeserializeObject<dynamic>(responseBody); |
|||
return result.data.access_token; // 假设返回字段为 access_token
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
//private readonly string _appKey = "8EG566b9bedd2bf46d";
|
|||
//private readonly string _appSecret = "48edc4425647425d87f806a1ba492580";
|
|||
//private readonly string _tokenEndpoint = "https://ediuat.mychery.com/prod-api/auth/public/login/appKey";
|
|||
|
|||
//private readonly HttpClient _httpClient;
|
|||
//private readonly SemaphoreSlim _refreshLock = new SemaphoreSlim(1, 1);
|
|||
//private string _currentToken;
|
|||
//private DateTime _tokenExpiry;
|
|||
//private bool _disposed;
|
|||
|
|||
//public TokenServiceController()
|
|||
//{
|
|||
// _httpClient = new HttpClient();
|
|||
// _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
|
|||
//}
|
|||
|
|||
//public async Task<string> GetTokenAsync(CancellationToken cancellationToken = default)
|
|||
//{
|
|||
// // 检查令牌是否存在且未过期(提前60秒刷新以防止边缘情况)
|
|||
// if (!string.IsNullOrEmpty(_currentToken) && _tokenExpiry > DateTime.UtcNow.AddSeconds(60))
|
|||
// {
|
|||
// return _currentToken;
|
|||
// }
|
|||
|
|||
// // 等待获取锁,确保只有一个线程刷新令牌
|
|||
// await _refreshLock.WaitAsync(cancellationToken);
|
|||
// try
|
|||
// {
|
|||
// // 再次检查,避免其他线程已经刷新了令牌
|
|||
// if (!string.IsNullOrEmpty(_currentToken) && _tokenExpiry > DateTime.UtcNow.AddSeconds(60))
|
|||
// {
|
|||
// return _currentToken;
|
|||
// }
|
|||
|
|||
// // 调用认证API获取新令牌
|
|||
// var tokenResponse = await FetchNewTokenAsync(cancellationToken);
|
|||
|
|||
// // 更新令牌和过期时间
|
|||
// _currentToken = tokenResponse.AccessToken;
|
|||
// _tokenExpiry = DateTime.UtcNow.AddSeconds(tokenResponse.ExpiresIn);
|
|||
|
|||
// return _currentToken;
|
|||
// }
|
|||
// finally
|
|||
// {
|
|||
// _refreshLock.Release();
|
|||
// }
|
|||
//}
|
|||
|
|||
//private async Task<TokenResponse> FetchNewTokenAsync(CancellationToken cancellationToken)
|
|||
//{
|
|||
// try
|
|||
// {
|
|||
// // 创建请求内容
|
|||
// var requestBody = new
|
|||
// {
|
|||
// appKey = _appKey,
|
|||
// appSecret = _appSecret
|
|||
// };
|
|||
|
|||
// var content = new StringContent(
|
|||
// JsonSerializer.Serialize(requestBody),
|
|||
// Encoding.UTF8,
|
|||
// "application/json");
|
|||
|
|||
// // 发送请求
|
|||
// var response = await _httpClient.PostAsync(_tokenEndpoint, content, cancellationToken);
|
|||
// response.EnsureSuccessStatusCode();
|
|||
|
|||
// // 解析响应
|
|||
// var jsonResponse = await response.Content.ReadAsStringAsync(cancellationToken);
|
|||
// var tokenResponse = JsonSerializer.Deserialize<TokenResponse>(
|
|||
// jsonResponse,
|
|||
// new JsonSerializerOptions { PropertyNameCaseInsensitive = true });
|
|||
|
|||
// if (tokenResponse == null || string.IsNullOrEmpty(tokenResponse.AccessToken))
|
|||
// {
|
|||
// throw new InvalidOperationException("Failed to retrieve access token.");
|
|||
// }
|
|||
|
|||
// return tokenResponse;
|
|||
// }
|
|||
// catch (Exception ex)
|
|||
// {
|
|||
// Console.WriteLine($"Token acquisition failed: {ex.Message}");
|
|||
// throw;
|
|||
// }
|
|||
//}
|
|||
|
|||
//// 令牌响应模型
|
|||
//private class TokenResponse
|
|||
//{
|
|||
// public string AccessToken { get; set; }
|
|||
// public int ExpiresIn { get; set; } = 3600; // 默认1小时
|
|||
//}
|
|||
|
|||
//public void Dispose()
|
|||
//{
|
|||
// Dispose(true);
|
|||
// GC.SuppressFinalize(this);
|
|||
//}
|
|||
|
|||
//protected virtual void Dispose(bool disposing)
|
|||
//{
|
|||
// if (!_disposed)
|
|||
// {
|
|||
// if (disposing)
|
|||
// {
|
|||
// _httpClient?.Dispose();
|
|||
// _refreshLock?.Dispose();
|
|||
// }
|
|||
// _disposed = true;
|
|||
// }
|
|||
//}
|
|||
|
|||
//public Task ExecuteAsync()
|
|||
//{
|
|||
// throw new NotImplementedException();
|
|||
//}
|
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class WeldingToAssemblyVehiclesController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,16 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace TaskManager.Controllers |
|||
{ |
|||
public class WorkstationFirstPassYieldController : IDoExecute |
|||
{ |
|||
public Task ExecuteAsync() |
|||
{ |
|||
throw new NotImplementedException(); |
|||
} |
|||
} |
|||
} |
@ -1,122 +0,0 @@ |
|||
using Autofac; |
|||
using Autofac.Core; |
|||
using Hangfire; |
|||
using PluginSystem; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
|
|||
|
|||
|
|||
namespace JobSystem |
|||
{ |
|||
public class DynamicJobManager |
|||
{ |
|||
private readonly IComponentContext _container; |
|||
private readonly IRecurringJobManager _recurringJobManager; |
|||
|
|||
public DynamicJobManager(IComponentContext container, IRecurringJobManager recurringJobManager) |
|||
{ |
|||
_container = container; |
|||
_recurringJobManager = recurringJobManager; |
|||
} |
|||
|
|||
// 注册所有可用的插件为定期任务
|
|||
public void RegisterAllPluginJobs() |
|||
{ |
|||
var pluginTypes = GetAvailablePluginTypes(); |
|||
|
|||
foreach (var pluginType in pluginTypes) |
|||
{ |
|||
var pluginName = GetPluginName(pluginType); |
|||
var cronExpression = GetCronExpressionForPlugin(pluginType); |
|||
|
|||
RegisterJob(pluginName, pluginType, cronExpression); |
|||
} |
|||
} |
|||
|
|||
// 注册单个动态任务
|
|||
public void RegisterJob(string jobId, Type type, string cronExpression) |
|||
{ |
|||
//var pluginType = Type.GetType(pluginTypeName);
|
|||
var pluginType = type; |
|||
if (pluginType == null || !typeof(IJobPlugin).IsAssignableFrom(pluginType)) |
|||
{ |
|||
throw new ArgumentException($"Invalid plugin type: {
|
|||
|
|||
pluginType.FullName |
|||
//pluginTypeName
|
|||
}");
|
|||
} |
|||
|
|||
// 使用Hangfire注册定期任务
|
|||
_recurringJobManager.AddOrUpdate( |
|||
jobId, |
|||
() => ExecutePluginJob(pluginType), |
|||
cronExpression); |
|||
} |
|||
|
|||
// 执行插件任务的入口点
|
|||
public async Task ExecutePluginJob( |
|||
Type pluginType |
|||
//string pluginTypeName
|
|||
|
|||
|
|||
) |
|||
{ |
|||
//var pluginType = Type.GetType(pluginTypeName);
|
|||
if (pluginType == null) |
|||
{ |
|||
throw new ArgumentException($"Plugin type not found: {pluginType.FullName}"); |
|||
} |
|||
|
|||
try |
|||
{ |
|||
// 从容器中解析插件实例
|
|||
var plugin = _container.Resolve(pluginType) as IJobPlugin; |
|||
if (plugin != null) |
|||
{ |
|||
await plugin.ExecuteAsync(); |
|||
} |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
// 记录任务执行异常
|
|||
Console.WriteLine($"Error executing plugin job: {ex.Message}"); |
|||
throw; |
|||
} |
|||
} |
|||
|
|||
// 获取所有可用的插件类型
|
|||
private IEnumerable<Type> GetAvailablePluginTypes() |
|||
{ |
|||
return _container.ComponentRegistry.Registrations |
|||
.SelectMany(r => r.Services.OfType<TypedService>()) |
|||
.Select(s => s.ServiceType) |
|||
.Where(t => typeof(IJobPlugin).IsAssignableFrom(t) |
|||
&& !t.IsAbstract |
|||
|
|||
); |
|||
} |
|||
|
|||
// 获取插件名称(可以从特性或类型名派生)
|
|||
private string GetPluginName(Type pluginType) |
|||
{ |
|||
return pluginType.Name.Replace("Job", ""); |
|||
} |
|||
|
|||
// 获取插件的Cron表达式(可以从配置或特性获取)
|
|||
private string GetCronExpressionForPlugin(Type pluginType) |
|||
{ |
|||
// 默认每小时执行一次,实际应用中可以从配置读取
|
|||
return Cron.Minutely(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -1,65 +0,0 @@ |
|||
using Hangfire.Client; |
|||
using Hangfire.Common; |
|||
using Hangfire.Server; |
|||
using Hangfire.States; |
|||
|
|||
public class JobCompletionListener : JobFilterAttribute, IElectStateFilter |
|||
{ |
|||
// 任务状态变更时触发
|
|||
public void OnStateElection(ElectStateContext context) |
|||
{ |
|||
// 当任务成功完成时
|
|||
if (context.CandidateState is SucceededState) |
|||
{ |
|||
var jobId = context.BackgroundJob.Id; |
|||
var job = context.BackgroundJob.Job; |
|||
|
|||
|
|||
var completedAt = ((SucceededState)context.CandidateState).SucceededAt; |
|||
|
|||
// 记录完成的 JobId 和相关信息
|
|||
Console.WriteLine($"Job {jobId} 执行完成于 {completedAt}"); |
|||
Console.WriteLine($"任务方法: {job.Type.FullName}.{job.Method.Name}"); |
|||
|
|||
// 可以在这里添加自定义逻辑,如存储到数据库、发送通知等
|
|||
//SaveJobCompletionInfo(jobId, job, completedAt.Value);
|
|||
} |
|||
// 处理任务失败的情况
|
|||
else if (context.CandidateState is FailedState failedState) |
|||
{ |
|||
var jobId = context.BackgroundJob.Id; |
|||
Console.WriteLine($"Job {jobId} 执行失败: {failedState.Exception.Message}"); |
|||
} |
|||
} |
|||
|
|||
// 自定义方法:保存任务完成信息
|
|||
private void SaveJobCompletionInfo(string jobId, Job job, DateTime completedAt) |
|||
{ |
|||
|
|||
|
|||
//job.Arguments
|
|||
//using (var jobContext = new WpfApp4.JobDbContext())
|
|||
//{
|
|||
// jobContext.Log.Add(new Log
|
|||
// {
|
|||
// JobId = jobId,
|
|||
// JobName = job.Type.Name,
|
|||
// CompletedAt = completedAt
|
|||
// });
|
|||
//}
|
|||
|
|||
|
|||
// 实现自定义逻辑,如保存到数据库或发送通知
|
|||
//using (var dbContext = new YourDbContext())
|
|||
//{
|
|||
// dbContext.JobCompletionRecords.Add(new JobCompletionRecord
|
|||
// {
|
|||
// JobId = jobId,
|
|||
// JobType = job.Type.FullName,
|
|||
// MethodName = job.Method.Name,
|
|||
// CompletedAt = completedAt
|
|||
// });
|
|||
// dbContext.SaveChanges();
|
|||
//}
|
|||
} |
|||
} |
@ -1,95 +0,0 @@ |
|||
using Dapper; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.ChangeTracking; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Models; |
|||
using System; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using TaskManager.Controllers; |
|||
|
|||
|
|||
namespace WpfApp4 |
|||
{ |
|||
public class JobDbContext:DbContext |
|||
{ |
|||
public JobDbContext(DbContextOptions<JobDbContext> options) |
|||
: base(options) |
|||
{ |
|||
} |
|||
public JobDbContext() |
|||
{ |
|||
this.Database.SetCommandTimeout(System.TimeSpan.FromMinutes(50)); |
|||
} |
|||
public JobDbContext(string strConn) |
|||
{ |
|||
this.Database.SetCommandTimeout(System.TimeSpan.FromMinutes(50)); |
|||
} |
|||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) |
|||
{ |
|||
// 配置数据库连接字符串
|
|||
optionsBuilder.UseSqlServer(App.HangfireConfig.ConnectionString); |
|||
} |
|||
public DbSet<SupplierBaseInfo> SupplierBaseInfos { get; set; } |
|||
public DbSet<PersonnelQualificationInfo> PersonnelQualificationInfos { get; set; } |
|||
public DbSet<BOMMasterData> BOMMasterDatas { get; set; } |
|||
public DbSet<MaterialMasterData> MaterialMasterDatas { get; set; } |
|||
public DbSet<ProcessEquipment> ProcessEquipments { get; set; } |
|||
public DbSet<ProcessTechnology> ProcessTechnologies { get; set; } |
|||
|
|||
// 计划数据
|
|||
public DbSet<MonthlyProductionPlan> MonthlyProductionPlans { get; set; } |
|||
public DbSet<MaterialRequirementPlanM6> MaterialRequirementPlanM6s { get; set; } |
|||
public DbSet<DailyMaterialRequirementPlan> DailyMaterialRequirementPlans { get; set; } |
|||
public DbSet<PlanningAgreement> PlanningAgreements { get; set; } |
|||
public DbSet<PurchaseOrder> PurchaseOrders { get; set; } |
|||
|
|||
// 生产过程数据
|
|||
public DbSet<IncomingInspectionData> IncomingInspectionDatas { get; set; } |
|||
public DbSet<ProductionSchedulingData> ProductionSchedulingDatas { get; set; } |
|||
public DbSet<ProcessControlQualityData> ProcessControlQualityDatas { get; set; } |
|||
public DbSet<ProductionProcessData> ProductionProcessDatas { get; set; } |
|||
public DbSet<FirstPassYield> FirstPassYields { get; set; } |
|||
public DbSet<WorkstationFirstPassYield> WorkstationFirstPassYields { get; set; } |
|||
public DbSet<DefectBusinessData> DefectBusinessDatas { get; set; } |
|||
public DbSet<EnvironmentalBusinessData> EnvironmentalBusinessDatas { get; set; } |
|||
public DbSet<EquipmentOEE> EquipmentOEEs { get; set; } |
|||
public DbSet<OEETimeDetails> OEETimeDetailses { get; set; } |
|||
|
|||
// 物流配送数据
|
|||
public DbSet<WeldingToAssemblyVehicles> WeldingToAssemblyVehicleses { get; set; } |
|||
public DbSet<PaintingToAssemblyVehicles> PaintingToAssemblyVehicleses { get; set; } |
|||
public DbSet<SequencedSupply> SequencedSupplies { get; set; } |
|||
public DbSet<KanbanDeliveryNote> KanbanDeliveryNotes { get; set; } |
|||
public DbSet<ReturnGoodsNote> ReturnGoodsNotes { get; set; } |
|||
public DbSet<CheryRDCSharedInventory> CheryRDCSharedInventories { get; set; } |
|||
public DbSet<DailyMRPStatusMonitoring> DailyMRPStatusMonitorings { get; set; } |
|||
public DbSet<DailyMRPWarningTrend> DailyMRPWarningTrends { get; set; } |
|||
public DbSet<SupplierSharedInventoryMorning> SupplierSharedInventoryMornings { get; set; } |
|||
public DbSet<SupplierSharedInventoryEvening> SupplierSharedInventoryEvenings { get; set; } |
|||
|
|||
// 其他数据
|
|||
public DbSet<AttachmentData> AttachmentDatas { get; set; } |
|||
// 配置实体映射
|
|||
protected override void OnModelCreating(ModelBuilder modelBuilder) |
|||
{ |
|||
base.OnModelCreating(modelBuilder); |
|||
|
|||
|
|||
// 配置表名
|
|||
|
|||
|
|||
// 其他配置...
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
} |
@ -1,33 +0,0 @@ |
|||
<Window x:Class="WpfApp4.MainWindow" |
|||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
|||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
|||
xmlns:local="clr-namespace:WpfApp4" |
|||
mc:Ignorable="d" |
|||
Title="MainWindow" Height="450" Width="800" |
|||
xmlns:ui="http://schemas.modernwpf.com/2019" |
|||
ui:WindowHelper.UseModernWindowStyle="True" |
|||
|
|||
|
|||
> |
|||
<Grid> |
|||
<Grid.RowDefinitions> |
|||
<RowDefinition Height="Auto"/> |
|||
<RowDefinition Height="*"/> |
|||
</Grid.RowDefinitions> |
|||
<Grid.ColumnDefinitions> |
|||
<ColumnDefinition Width="*"/> |
|||
<ColumnDefinition Width="Auto"/> |
|||
</Grid.ColumnDefinitions> |
|||
<DataGrid x:Uid="dataGrid1" Name="dataGrid1"> |
|||
<DataGrid.Columns> |
|||
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/> |
|||
<DataGridTextColumn Header="INFO" Binding="{Binding Info}"/> |
|||
</DataGrid.Columns> |
|||
</DataGrid> |
|||
|
|||
|
|||
|
|||
</Grid> |
|||
</Window> |
@ -1,57 +0,0 @@ |
|||
using Dapper; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Models; |
|||
using System.Collections.ObjectModel; |
|||
using System.Configuration; |
|||
using System.Text; |
|||
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.Navigation; |
|||
using System.Windows.Shapes; |
|||
using System.Windows.Threading; |
|||
|
|||
namespace WpfApp4 |
|||
{ |
|||
|
|||
/// <summary>
|
|||
/// Interaction logic for MainWindow.xaml
|
|||
/// </summary>
|
|||
public partial class MainWindow : Window |
|||
{ |
|||
DispatcherTimer PutTimer; |
|||
public MainWindow() |
|||
{ |
|||
InitializeComponent(); |
|||
PutTimer = new DispatcherTimer(); |
|||
PutTimer.Tick += new EventHandler(PutTimer_Tick); |
|||
PutTimer.Interval = TimeSpan.FromSeconds(60); //设置刷新的间隔时间
|
|||
PutTimer.Start(); |
|||
} |
|||
private void PutTimer_Tick(object sender, EventArgs e) |
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
this.Dispatcher.BeginInvoke(new Action(() => |
|||
{ |
|||
//using (var context = new JobDbContext())
|
|||
//{
|
|||
// var connection = context.Database.GetDbConnection();
|
|||
// var logs = connection.Query<Logs>("select top 500 * from Logs");
|
|||
// this.dataGrid1.ItemsSource = logs;
|
|||
|
|||
//}
|
|||
|
|||
|
|||
|
|||
})); |
|||
} |
|||
} |
|||
|
|||
} |
@ -1,58 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using System.IO; |
|||
using System.Linq; |
|||
using System.Reflection; |
|||
using Autofac; |
|||
using PluginSystem; |
|||
|
|||
namespace WpfApp4 |
|||
{ |
|||
|
|||
public class PluginLoader |
|||
{ |
|||
private readonly string _pluginDirectory; |
|||
|
|||
public PluginLoader(string pluginDirectory) |
|||
{ |
|||
_pluginDirectory = pluginDirectory; |
|||
} |
|||
|
|||
// 加载插件并注册到Autofac容器
|
|||
public void LoadPlugins(ContainerBuilder builder) |
|||
{ |
|||
if (!Directory.Exists(_pluginDirectory)) |
|||
{ |
|||
Directory.CreateDirectory(_pluginDirectory); |
|||
return; |
|||
} |
|||
|
|||
// 加载插件程序集
|
|||
var pluginAssemblies = Directory.GetFiles(_pluginDirectory, "*.dll") |
|||
.Select(Assembly.LoadFrom) |
|||
.ToList(); |
|||
|
|||
// 注册所有实现IJobPlugin接口的类型
|
|||
builder.RegisterAssemblyTypes(pluginAssemblies.ToArray()) |
|||
.Where(t => typeof(IJobPlugin).IsAssignableFrom(t) && !t.IsAbstract) |
|||
//.As<IJobPlugin>()--错误加上就查不出来插件
|
|||
.InstancePerDependency(); |
|||
|
|||
// 注册插件元数据
|
|||
foreach (var assembly in pluginAssemblies) |
|||
{ |
|||
var pluginTypes = assembly.GetTypes() |
|||
.Where(t => typeof(IJobPlugin).IsAssignableFrom(t) && !t.IsAbstract); |
|||
|
|||
foreach (var type in pluginTypes) |
|||
{ |
|||
// 可以存储插件元数据,如类型名称等
|
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
@ -1,71 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Reflection.PortableExecutable; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using System.IO; |
|||
using Autofac; |
|||
using Hangfire; |
|||
using Hangfire.SqlServer; |
|||
using PluginSystem; |
|||
using JobSystem; |
|||
|
|||
|
|||
namespace WpfApp4 |
|||
{ |
|||
|
|||
public class Startup |
|||
{ |
|||
private const string PluginDirectory = "Plugins"; |
|||
private const string ConnectionString = "Server=127.0.0.1;Database=HANGFIRE;User ID=sa;Password=1;"; |
|||
|
|||
public IContainer ConfigureContainer() |
|||
{ |
|||
var builder = new ContainerBuilder(); |
|||
|
|||
// 配置Hangfire存储
|
|||
builder.Register(c => new SqlServerStorage(ConnectionString)) |
|||
.As<JobStorage>() |
|||
.SingleInstance(); |
|||
|
|||
// 注册Hangfire服务
|
|||
builder.RegisterType<BackgroundJobServer>() |
|||
.AsSelf() |
|||
.SingleInstance(); |
|||
|
|||
builder.RegisterType<RecurringJobManager>() |
|||
.As<IRecurringJobManager>() |
|||
.SingleInstance(); |
|||
|
|||
// 注册插件加载器
|
|||
builder.RegisterType<PluginLoader>() |
|||
.WithParameter("pluginDirectory", Path.Combine(Directory.GetCurrentDirectory(), PluginDirectory)) |
|||
.AsSelf() |
|||
.SingleInstance(); |
|||
|
|||
// 注册动态任务管理器
|
|||
builder.RegisterType<DynamicJobManager>() |
|||
.AsSelf() |
|||
.SingleInstance(); |
|||
|
|||
// 加载并注册插件
|
|||
var pluginLoader = new PluginLoader(Path.Combine(Directory.GetCurrentDirectory(), PluginDirectory)); |
|||
pluginLoader.LoadPlugins(builder); |
|||
|
|||
return builder.Build(); |
|||
} |
|||
|
|||
public void StartHangfireServer(IContainer container) |
|||
{ |
|||
// 启动Hangfire服务器
|
|||
var server = container.Resolve<BackgroundJobServer>(); |
|||
server.Start(); |
|||
|
|||
// 注册所有插件任务
|
|||
var jobManager = container.Resolve<DynamicJobManager>(); |
|||
jobManager.RegisterAllPluginJobs(); |
|||
} |
|||
} |
|||
|
|||
} |
@ -1,34 +0,0 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<PropertyGroup> |
|||
<OutputType>WinExe</OutputType> |
|||
<TargetFramework>net8.0-windows</TargetFramework> |
|||
<Nullable>enable</Nullable> |
|||
<ImplicitUsings>enable</ImplicitUsings> |
|||
<UseWPF>true</UseWPF> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<Compile Remove="DynamicJobManager.cs" /> |
|||
<Compile Remove="PluginLoader.cs" /> |
|||
<Compile Remove="Startup.cs" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Autofac" Version="8.3.0" /> |
|||
<PackageReference Include="Autofac.Extras.CommonServiceLocator" Version="6.1.0" /> |
|||
<PackageReference Include="Autofac.Mef" Version="7.0.0" /> |
|||
<PackageReference Include="Dapper" Version="2.1.66" /> |
|||
<PackageReference Include="Hangfire" Version="1.8.18" /> |
|||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.5" /> |
|||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.5" /> |
|||
<PackageReference Include="ModernWpfUI" Version="0.9.6" /> |
|||
<PackageReference Include="System.Data.SqlClient" Version="4.9.0" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\ILifeTimeService\ILifeTimeService.csproj" /> |
|||
<ProjectReference Include="..\Models\Models.csproj" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
@ -1,14 +0,0 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<PropertyGroup /> |
|||
<ItemGroup> |
|||
<ApplicationDefinition Update="App.xaml"> |
|||
<SubType>Designer</SubType> |
|||
</ApplicationDefinition> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<Page Update="MainWindow.xaml"> |
|||
<SubType>Designer</SubType> |
|||
</Page> |
|||
</ItemGroup> |
|||
</Project> |
@ -1,166 +0,0 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using System.Data.SqlClient; |
|||
using Hangfire; |
|||
using Microsoft.AspNetCore.Builder; |
|||
using Microsoft.AspNetCore.Hosting; |
|||
using Microsoft.Extensions.Configuration; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Microsoft.Extensions.Hosting; |
|||
using Hangfire.Common; |
|||
using Hangfire.SqlServer; |
|||
using System.Configuration; |
|||
using Microsoft.Extensions.Logging; |
|||
|
|||
|
|||
|
|||
using static WpfApp4.App; |
|||
using Hangfire.Server; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using TaskManager.Controllers; |
|||
using Microsoft.VisualBasic; |
|||
|
|||
|
|||
namespace WpfApp4 |
|||
{ |
|||
public class WebStartup |
|||
{ |
|||
public IConfiguration Configuration { get; } |
|||
|
|||
public WebStartup(IConfiguration configuration) |
|||
{ |
|||
Configuration = configuration; |
|||
} |
|||
public void ConfigureServices(IServiceCollection services) |
|||
{ |
|||
services.AddControllers(); |
|||
|
|||
services.AddDbContext<JobDbContext>(options => |
|||
options.UseSqlServer("Server=127.0.0.1;Database=HANGFIRE;User ID=sa;Password=1;TrustServerCertificate=True")); |
|||
// 添加 Hangfire 服务
|
|||
services.AddHangfire(configuration => configuration |
|||
.UseSqlServerStorage( |
|||
"Server=127.0.0.1;Database=Hangfire;User ID=sa;Password=1;TrustServerCertificate=True") |
|||
); |
|||
|
|||
// 添加 Hangfire 服务器
|
|||
services.AddHangfireServer(); |
|||
services.AddControllersWithViews(); |
|||
RegisterRecurringJobs(); |
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
private void RegisterRecurringJobs() |
|||
{ |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
RecurringJob.AddOrUpdate<TokenServiceController>( |
|||
"reader", |
|||
x => x.ExecuteAsync(), |
|||
Cron.Minutely |
|||
//,
|
|||
// JobFilterAttribute.AddFilter(new JobCompletionListener())
|
|||
); |
|||
|
|||
RecurringJob.AddOrUpdate<MyJob>( |
|||
"writer", |
|||
x => x.ExecuteWriterAsync(), |
|||
Cron.Minutely); |
|||
} |
|||
|
|||
|
|||
|
|||
public class MyJob |
|||
{ |
|||
//private readonly ILogger<MyJob> _logger;
|
|||
// private readonly JobDbContext _dbContext;
|
|||
public MyJob( |
|||
//ILogger<MyJob> _logger
|
|||
//, JobDbContext dbContext
|
|||
) |
|||
{ |
|||
//this._logger = _logger;
|
|||
// _dbContext = dbContext;
|
|||
} |
|||
public void Execute() |
|||
{ |
|||
|
|||
// 这里是你的作业逻辑
|
|||
Console.WriteLine("定时任务执行中: " + DateTime.Now); |
|||
|
|||
// 如果需要访问 UI 元素,需要使用 Dispatcher
|
|||
//Application.Current.Dispatcher.Invoke(() =>
|
|||
//{
|
|||
// // 更新 UI 的代码
|
|||
|
|||
//});
|
|||
} |
|||
|
|||
public void ExecuteReaderAsync() |
|||
{ |
|||
//_logger.LogInformation("开始读取!");
|
|||
|
|||
//Application.Current.Dispatcher.Invoke(() =>
|
|||
//{
|
|||
// App.AddLog(new logModel() { Name = "读取", Info = "读取成功!" });
|
|||
// // 更新 UI 的代码
|
|||
|
|||
//});
|
|||
|
|||
//string jobId = context.BackgroundJob.Id;
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
public void ExecuteWriterAsync() |
|||
{ |
|||
//_logger.LogInformation("开始读取!");
|
|||
//Application.Current.Dispatcher.Invoke(() =>
|
|||
//{
|
|||
// App.AddLog(new logModel() { Name = "写入", Info = "写入成功!" });// 更新 UI 的代码
|
|||
|
|||
//});
|
|||
///string jobId = context.BackgroundJob.Id;
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
} |
|||
public class logModel |
|||
{ |
|||
public string Name { get; set; } |
|||
public string Info { get; set; } |
|||
} |
|||
|
|||
|
|||
|
|||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) |
|||
{ |
|||
if (env.IsDevelopment()) |
|||
{ |
|||
app.UseDeveloperExceptionPage(); |
|||
} |
|||
app.UseHangfireServer(); |
|||
app.UseHangfireDashboard(); |
|||
|
|||
|
|||
app.UseRouting(); |
|||
app.UseEndpoints(endpoints => |
|||
{ |
|||
endpoints.MapControllers(); |
|||
}); |
|||
} |
|||
} |
|||
} |
@ -1,42 +0,0 @@ |
|||
{ |
|||
"App": { |
|||
"CorsOrigins": "https://*.abc.com,http://localhost:9528,http://149.223.116.5:8088" |
|||
}, |
|||
|
|||
"ConnectionStrings": { |
|||
"Default": "Server=127.0.0.1;Database=HANGFIRE;User ID=sa;Password=1;" |
|||
|
|||
}, |
|||
"Hangfire": { |
|||
"Dashboard": { |
|||
"Path": "/hangfire", // Dashboard 访问路径 |
|||
"RequireAuthorization": false // 是否需要授权 |
|||
}, |
|||
"Server": { |
|||
"WorkerCount": 5, // 工作线程数量 |
|||
"Queues": [ "default", "critical", "background" ], // 队列优先级 |
|||
"SchedulePollingInterval": 15000, // 调度轮询间隔(毫秒) |
|||
"HeartbeatInterval": "00:00:15", // 服务器心跳间隔 |
|||
"ServerTimeout": "00:05:00", // 服务器超时时间 |
|||
"ServerCheckInterval": "00:01:00" // 服务器状态检查间隔 |
|||
}, |
|||
"Storage": { |
|||
"JobExpirationCheckInterval": "00:01:00", // 作业过期检查间隔 |
|||
"CountersAggregateInterval": "00:05:00", // 计数器聚合间隔 |
|||
"QueuePollInterval": "00:00:15", // 队列轮询间隔 |
|||
"PrepareSchemaIfNecessary": true, // 自动创建表结构 |
|||
"SlidingInvisibilityTimeout": "00:30:00", // 作业处理超时时间 |
|||
"UseRecommendedIsolationLevel": true, // 使用推荐的事务隔离级别 |
|||
"EnableHeavyMigrations": false // 是否启用重量级迁移 |
|||
}, |
|||
"Logging": { |
|||
"LogLevel": { |
|||
"Default": "Information", |
|||
"Hangfire": "Information" |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
} |
@ -1,4 +0,0 @@ |
|||
// <autogenerated />
|
|||
using System; |
|||
using System.Reflection; |
|||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] |
@ -1,90 +0,0 @@ |
|||
#pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "3FCFA1394BC59320647D403ACD7AACCAE04F51F9"
|
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using ModernWpf; |
|||
using ModernWpf.Controls; |
|||
using ModernWpf.Controls.Primitives; |
|||
using ModernWpf.DesignTime; |
|||
using ModernWpf.Markup; |
|||
using ModernWpf.Media.Animation; |
|||
using System; |
|||
using System.Diagnostics; |
|||
using System.Windows; |
|||
using System.Windows.Automation; |
|||
using System.Windows.Controls; |
|||
using System.Windows.Controls.Primitives; |
|||
using System.Windows.Controls.Ribbon; |
|||
using System.Windows.Data; |
|||
using System.Windows.Documents; |
|||
using System.Windows.Ink; |
|||
using System.Windows.Input; |
|||
using System.Windows.Markup; |
|||
using System.Windows.Media; |
|||
using System.Windows.Media.Animation; |
|||
using System.Windows.Media.Effects; |
|||
using System.Windows.Media.Imaging; |
|||
using System.Windows.Media.Media3D; |
|||
using System.Windows.Media.TextFormatting; |
|||
using System.Windows.Navigation; |
|||
using System.Windows.Shapes; |
|||
using System.Windows.Shell; |
|||
using WpfApp4; |
|||
|
|||
|
|||
namespace WpfApp4 { |
|||
|
|||
|
|||
/// <summary>
|
|||
/// App
|
|||
/// </summary>
|
|||
public partial class App : System.Windows.Application { |
|||
|
|||
private bool _contentLoaded; |
|||
|
|||
/// <summary>
|
|||
/// InitializeComponent
|
|||
/// </summary>
|
|||
[System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")] |
|||
public void InitializeComponent() { |
|||
if (_contentLoaded) { |
|||
return; |
|||
} |
|||
_contentLoaded = true; |
|||
|
|||
#line 5 "..\..\..\App.xaml"
|
|||
this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); |
|||
|
|||
#line default
|
|||
#line hidden
|
|||
System.Uri resourceLocater = new System.Uri("/TaskManager;component/app.xaml", System.UriKind.Relative); |
|||
|
|||
#line 1 "..\..\..\App.xaml"
|
|||
System.Windows.Application.LoadComponent(this, resourceLocater); |
|||
|
|||
#line default
|
|||
#line hidden
|
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Application Entry Point.
|
|||
/// </summary>
|
|||
[System.STAThreadAttribute()] |
|||
[System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")] |
|||
public static void Main() { |
|||
WpfApp4.App app = new WpfApp4.App(); |
|||
app.InitializeComponent(); |
|||
app.Run(); |
|||
} |
|||
} |
|||
} |
|||
|
@ -1,96 +0,0 @@ |
|||
#pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "8D8305491C1D7E74CEB2A5A4751C39114343B39A"
|
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using ModernWpf; |
|||
using ModernWpf.Controls; |
|||
using ModernWpf.Controls.Primitives; |
|||
using ModernWpf.DesignTime; |
|||
using ModernWpf.Markup; |
|||
using ModernWpf.Media.Animation; |
|||
using System; |
|||
using System.Diagnostics; |
|||
using System.Windows; |
|||
using System.Windows.Automation; |
|||
using System.Windows.Controls; |
|||
using System.Windows.Controls.Primitives; |
|||
using System.Windows.Controls.Ribbon; |
|||
using System.Windows.Data; |
|||
using System.Windows.Documents; |
|||
using System.Windows.Ink; |
|||
using System.Windows.Input; |
|||
using System.Windows.Markup; |
|||
using System.Windows.Media; |
|||
using System.Windows.Media.Animation; |
|||
using System.Windows.Media.Effects; |
|||
using System.Windows.Media.Imaging; |
|||
using System.Windows.Media.Media3D; |
|||
using System.Windows.Media.TextFormatting; |
|||
using System.Windows.Navigation; |
|||
using System.Windows.Shapes; |
|||
using System.Windows.Shell; |
|||
using WpfApp4; |
|||
|
|||
|
|||
namespace WpfApp4 { |
|||
|
|||
|
|||
/// <summary>
|
|||
/// MainWindow
|
|||
/// </summary>
|
|||
public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { |
|||
|
|||
|
|||
#line 23 "..\..\..\MainWindow.xaml"
|
|||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] |
|||
internal System.Windows.Controls.DataGrid dataGrid1; |
|||
|
|||
#line default
|
|||
#line hidden
|
|||
|
|||
private bool _contentLoaded; |
|||
|
|||
/// <summary>
|
|||
/// InitializeComponent
|
|||
/// </summary>
|
|||
[System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")] |
|||
public void InitializeComponent() { |
|||
if (_contentLoaded) { |
|||
return; |
|||
} |
|||
_contentLoaded = true; |
|||
System.Uri resourceLocater = new System.Uri("/TaskManager;component/mainwindow.xaml", System.UriKind.Relative); |
|||
|
|||
#line 1 "..\..\..\MainWindow.xaml"
|
|||
System.Windows.Application.LoadComponent(this, resourceLocater); |
|||
|
|||
#line default
|
|||
#line hidden
|
|||
} |
|||
|
|||
[System.Diagnostics.DebuggerNonUserCodeAttribute()] |
|||
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "9.0.5.0")] |
|||
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] |
|||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] |
|||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] |
|||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] |
|||
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { |
|||
switch (connectionId) |
|||
{ |
|||
case 1: |
|||
this.dataGrid1 = ((System.Windows.Controls.DataGrid)(target)); |
|||
return; |
|||
} |
|||
this._contentLoaded = true; |
|||
} |
|||
} |
|||
} |
|||
|
@ -1,25 +0,0 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using System; |
|||
using System.Reflection; |
|||
|
|||
[assembly: System.Reflection.AssemblyCompanyAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|||
[assembly: System.Reflection.AssemblyProductAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyTitleAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] |
|||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] |
|||
|
|||
// 由 MSBuild WriteCodeFragment 类生成。
|
|||
|
@ -1 +0,0 @@ |
|||
4e59d66bf5d432c9035efdc2b79fe7d5abd1f109 |
@ -1,8 +0,0 @@ |
|||
is_global = true |
|||
build_property.TargetFramework = net8.0-windows |
|||
build_property.TargetPlatformMinVersion = 7.0 |
|||
build_property.UsingMicrosoftNETSdkWeb = |
|||
build_property.ProjectTypeGuids = |
|||
build_property.PublishSingleFile = |
|||
build_property.IncludeAllContentForSelfExtract = |
|||
build_property._SupportedPlatformList = Android,iOS,Linux,macOS,Windows |
@ -1,6 +0,0 @@ |
|||
// <auto-generated/>
|
|||
global using global::System; |
|||
global using global::System.Collections.Generic; |
|||
global using global::System.Linq; |
|||
global using global::System.Threading; |
|||
global using global::System.Threading.Tasks; |
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@ |
|||
d02616684f81eb8682d5dbd89d081cca26e1de2d46f1ac0667dc4c0be4ad42f3 |
@ -1,232 +0,0 @@ |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.csproj.AssemblyReference.cache |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\MainWindow.g.cs |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\App.g.cs |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager_MarkupCompile.cache |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager_MarkupCompile.lref |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\TaskManager.exe |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\TaskManager.dll.config |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\TaskManager.deps.json |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\TaskManager.runtimeconfig.json |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\TaskManager.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\TaskManager.pdb |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Autofac.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Autofac.Extras.CommonServiceLocator.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Autofac.Integration.Mef.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Azure.Core.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Azure.Identity.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\CommonServiceLocator.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Dapper.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Hangfire.AspNetCore.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Hangfire.Core.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Hangfire.NetCore.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Hangfire.SqlServer.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Bcl.AsyncInterfaces.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Data.SqlClient.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.EntityFrameworkCore.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.EntityFrameworkCore.Abstractions.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.EntityFrameworkCore.Relational.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.EntityFrameworkCore.SqlServer.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.Caching.Abstractions.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.Caching.Memory.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.Configuration.Abstractions.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.DependencyInjection.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.DependencyInjection.Abstractions.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.Logging.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.Logging.Abstractions.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.Options.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Extensions.Primitives.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Identity.Client.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.Identity.Client.Extensions.Msal.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.IdentityModel.Abstractions.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.IdentityModel.JsonWebTokens.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.IdentityModel.Logging.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.IdentityModel.Protocols.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.IdentityModel.Tokens.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Microsoft.SqlServer.Server.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ModernWpf.Controls.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ModernWpf.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Newtonsoft.Json.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.ClientModel.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.ComponentModel.Composition.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Data.SqlClient.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Diagnostics.DiagnosticSource.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Formats.Asn1.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.IdentityModel.Tokens.Jwt.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.IO.Pipelines.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Memory.Data.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Runtime.Caching.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Text.Encodings.Web.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\System.Text.Json.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ca\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\de\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\es\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fa\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fr\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\nb\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\nl\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pt-BR\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pt-PT\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pt\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sv\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\tr-TR\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\zh-TW\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\zh\Hangfire.Core.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\af-ZA\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\af-ZA\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\am-ET\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\am-ET\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ar-SA\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ar-SA\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\az-Latn-AZ\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\az-Latn-AZ\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\be-BY\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\be-BY\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\bg-BG\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\bg-BG\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\bn-BD\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\bn-BD\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\bs-Latn-BA\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\bs-Latn-BA\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ca-ES\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ca-ES\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\cs-CZ\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\cs-CZ\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\da-DK\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\da-DK\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\de-DE\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\de-DE\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\el-GR\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\el-GR\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\en-GB\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\en-GB\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\es-ES\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\es-ES\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\es-MX\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\es-MX\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\et-EE\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\et-EE\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\eu-ES\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\eu-ES\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fa-IR\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fa-IR\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fi-FI\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fi-FI\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fil-PH\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fil-PH\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fr-CA\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fr-CA\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fr-FR\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\fr-FR\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\gl-ES\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\gl-ES\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\he-IL\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\he-IL\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\hi-IN\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\hi-IN\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\hr-HR\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\hr-HR\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\hu-HU\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\hu-HU\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\id-ID\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\id-ID\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\is-IS\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\is-IS\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\it-IT\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\it-IT\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ja-JP\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ja-JP\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ka-GE\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ka-GE\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\kk-KZ\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\kk-KZ\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\km-KH\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\km-KH\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\kn-IN\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\kn-IN\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ko-KR\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ko-KR\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\lo-LA\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\lo-LA\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\lt-LT\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\lt-LT\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\lv-LV\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\lv-LV\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\mk-MK\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\mk-MK\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ml-IN\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ml-IN\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ms-MY\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ms-MY\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\nb-NO\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\nb-NO\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\nl-NL\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\nl-NL\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\nn-NO\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\nn-NO\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pl-PL\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pl-PL\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pt-BR\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pt-BR\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pt-PT\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\pt-PT\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ro-RO\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ro-RO\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ru-RU\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ru-RU\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sk-SK\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sk-SK\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sl-SI\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sl-SI\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sq-AL\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sq-AL\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sr-Latn-RS\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sr-Latn-RS\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sv-SE\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sv-SE\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sw-KE\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\sw-KE\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ta-IN\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ta-IN\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\te-IN\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\te-IN\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\th-TH\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\th-TH\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\tr-TR\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\tr-TR\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\uk-UA\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\uk-UA\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\uz-Latn-UZ\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\uz-Latn-UZ\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\vi-VN\ModernWpf.Controls.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\vi-VN\ModernWpf.resources.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\unix\lib\net6.0\Microsoft.Data.SqlClient.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win\lib\net6.0\Microsoft.Data.SqlClient.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-arm\native\Microsoft.Data.SqlClient.SNI.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-arm64\native\Microsoft.Data.SqlClient.SNI.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-x86\native\Microsoft.Data.SqlClient.SNI.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-arm64\native\sni.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-x64\native\sni.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win-x86\native\sni.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\unix\lib\net8.0\System.Data.SqlClient.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win\lib\net8.0\System.Data.SqlClient.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\win\lib\net6.0\System.Runtime.Caching.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\runtimes\browser\lib\net8.0\System.Text.Encodings.Web.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ILifeTimeService.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Models.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\ILifeTimeService.pdb |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\bin\Debug\net8.0-windows\Models.pdb |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\App.baml |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\MainWindow.baml |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.g.resources |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.GeneratedMSBuildEditorConfig.editorconfig |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.AssemblyInfoInputs.cache |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.AssemblyInfo.cs |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.csproj.CoreCompileInputs.cache |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskMana.F3FB485A.Up2Date |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\refint\TaskManager.dll |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.pdb |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\TaskManager.genruntimeconfig.cache |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\ref\TaskManager.dll |
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@ |
|||
3656f6d15f51d7d24810786a0128c30a184d6c9b47f8450655b16336e1531251 |
Binary file not shown.
@ -1,20 +0,0 @@ |
|||
TaskManager |
|||
1.0.0.0 |
|||
|
|||
winexe |
|||
C# |
|||
.cs |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\obj\Debug\net8.0-windows\ |
|||
TaskManager |
|||
none |
|||
false |
|||
TRACE;DEBUG;NET;NET8_0;NETCOREAPP;WINDOWS;WINDOWS7_0;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER;WINDOWS7_0_OR_GREATER |
|||
C:\Users\89237\source\repos\WpfApp4\WpfApp4\App.xaml |
|||
11407045341 |
|||
|
|||
43-1113591971 |
|||
3701168259763 |
|||
MainWindow.xaml; |
|||
|
|||
False |
|||
|
@ -1,25 +0,0 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using System; |
|||
using System.Reflection; |
|||
|
|||
[assembly: System.Reflection.AssemblyCompanyAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|||
[assembly: System.Reflection.AssemblyProductAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyTitleAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] |
|||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] |
|||
|
|||
// 由 MSBuild WriteCodeFragment 类生成。
|
|||
|
@ -1 +0,0 @@ |
|||
709b027263c3eebb0b63f2f32c573210c0f93651276f16a3c63436300d0ba951 |
@ -1,16 +0,0 @@ |
|||
is_global = true |
|||
build_property.TargetFramework = net8.0-windows |
|||
build_property.TargetPlatformMinVersion = 7.0 |
|||
build_property.UsingMicrosoftNETSdkWeb = |
|||
build_property.ProjectTypeGuids = |
|||
build_property.InvariantGlobalization = |
|||
build_property.PlatformNeutralAssembly = |
|||
build_property.EnforceExtendedAnalyzerRules = |
|||
build_property._SupportedPlatformList = Linux,macOS,Windows |
|||
build_property.RootNamespace = TaskManager |
|||
build_property.ProjectDir = C:\Users\89237\source\repos\WpfApp4\WpfApp4\ |
|||
build_property.EnableComHosting = |
|||
build_property.EnableGeneratedComInterfaceComImportInterop = |
|||
build_property.CsWinRTUseWindowsUIXamlProjections = false |
|||
build_property.EffectiveAnalysisLevelStyle = 8.0 |
|||
build_property.EnableCodeStyleSeverity = |
@ -1,6 +0,0 @@ |
|||
// <auto-generated/>
|
|||
global using global::System; |
|||
global using global::System.Collections.Generic; |
|||
global using global::System.Linq; |
|||
global using global::System.Threading; |
|||
global using global::System.Threading.Tasks; |
Binary file not shown.
@ -1,25 +0,0 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using System; |
|||
using System.Reflection; |
|||
|
|||
[assembly: System.Reflection.AssemblyCompanyAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|||
[assembly: System.Reflection.AssemblyProductAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyTitleAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] |
|||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] |
|||
|
|||
// 由 MSBuild WriteCodeFragment 类生成。
|
|||
|
@ -1 +0,0 @@ |
|||
709b027263c3eebb0b63f2f32c573210c0f93651276f16a3c63436300d0ba951 |
@ -1,16 +0,0 @@ |
|||
is_global = true |
|||
build_property.TargetFramework = net8.0-windows |
|||
build_property.TargetPlatformMinVersion = 7.0 |
|||
build_property.UsingMicrosoftNETSdkWeb = |
|||
build_property.ProjectTypeGuids = |
|||
build_property.InvariantGlobalization = |
|||
build_property.PlatformNeutralAssembly = |
|||
build_property.EnforceExtendedAnalyzerRules = |
|||
build_property._SupportedPlatformList = Linux,macOS,Windows |
|||
build_property.RootNamespace = TaskManager |
|||
build_property.ProjectDir = C:\Users\89237\source\repos\WpfApp4\WpfApp4\ |
|||
build_property.EnableComHosting = |
|||
build_property.EnableGeneratedComInterfaceComImportInterop = |
|||
build_property.CsWinRTUseWindowsUIXamlProjections = false |
|||
build_property.EffectiveAnalysisLevelStyle = 8.0 |
|||
build_property.EnableCodeStyleSeverity = |
@ -1,6 +0,0 @@ |
|||
// <auto-generated/>
|
|||
global using global::System; |
|||
global using global::System.Collections.Generic; |
|||
global using global::System.Linq; |
|||
global using global::System.Threading; |
|||
global using global::System.Threading.Tasks; |
Binary file not shown.
@ -1,25 +0,0 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using System; |
|||
using System.Reflection; |
|||
|
|||
[assembly: System.Reflection.AssemblyCompanyAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|||
[assembly: System.Reflection.AssemblyProductAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyTitleAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] |
|||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] |
|||
|
|||
// 由 MSBuild WriteCodeFragment 类生成。
|
|||
|
@ -1 +0,0 @@ |
|||
709b027263c3eebb0b63f2f32c573210c0f93651276f16a3c63436300d0ba951 |
@ -1,16 +0,0 @@ |
|||
is_global = true |
|||
build_property.TargetFramework = net8.0-windows |
|||
build_property.TargetPlatformMinVersion = 7.0 |
|||
build_property.UsingMicrosoftNETSdkWeb = |
|||
build_property.ProjectTypeGuids = |
|||
build_property.InvariantGlobalization = |
|||
build_property.PlatformNeutralAssembly = |
|||
build_property.EnforceExtendedAnalyzerRules = |
|||
build_property._SupportedPlatformList = Linux,macOS,Windows |
|||
build_property.RootNamespace = TaskManager |
|||
build_property.ProjectDir = C:\Users\89237\source\repos\WpfApp4\WpfApp4\ |
|||
build_property.EnableComHosting = |
|||
build_property.EnableGeneratedComInterfaceComImportInterop = |
|||
build_property.CsWinRTUseWindowsUIXamlProjections = false |
|||
build_property.EffectiveAnalysisLevelStyle = 8.0 |
|||
build_property.EnableCodeStyleSeverity = |
@ -1,6 +0,0 @@ |
|||
// <auto-generated/>
|
|||
global using global::System; |
|||
global using global::System.Collections.Generic; |
|||
global using global::System.Linq; |
|||
global using global::System.Threading; |
|||
global using global::System.Threading.Tasks; |
Binary file not shown.
@ -1,25 +0,0 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using System; |
|||
using System.Reflection; |
|||
|
|||
[assembly: System.Reflection.AssemblyCompanyAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|||
[assembly: System.Reflection.AssemblyProductAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyTitleAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] |
|||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] |
|||
|
|||
// 由 MSBuild WriteCodeFragment 类生成。
|
|||
|
@ -1 +0,0 @@ |
|||
709b027263c3eebb0b63f2f32c573210c0f93651276f16a3c63436300d0ba951 |
@ -1,16 +0,0 @@ |
|||
is_global = true |
|||
build_property.TargetFramework = net8.0-windows |
|||
build_property.TargetPlatformMinVersion = 7.0 |
|||
build_property.UsingMicrosoftNETSdkWeb = |
|||
build_property.ProjectTypeGuids = |
|||
build_property.InvariantGlobalization = |
|||
build_property.PlatformNeutralAssembly = |
|||
build_property.EnforceExtendedAnalyzerRules = |
|||
build_property._SupportedPlatformList = Linux,macOS,Windows |
|||
build_property.RootNamespace = TaskManager |
|||
build_property.ProjectDir = C:\Users\89237\source\repos\WpfApp4\WpfApp4\ |
|||
build_property.EnableComHosting = |
|||
build_property.EnableGeneratedComInterfaceComImportInterop = |
|||
build_property.CsWinRTUseWindowsUIXamlProjections = false |
|||
build_property.EffectiveAnalysisLevelStyle = 8.0 |
|||
build_property.EnableCodeStyleSeverity = |
@ -1,6 +0,0 @@ |
|||
// <auto-generated/>
|
|||
global using global::System; |
|||
global using global::System.Collections.Generic; |
|||
global using global::System.Linq; |
|||
global using global::System.Threading; |
|||
global using global::System.Threading.Tasks; |
Binary file not shown.
@ -1,25 +0,0 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using System; |
|||
using System.Reflection; |
|||
|
|||
[assembly: System.Reflection.AssemblyCompanyAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|||
[assembly: System.Reflection.AssemblyProductAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyTitleAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] |
|||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] |
|||
|
|||
// 由 MSBuild WriteCodeFragment 类生成。
|
|||
|
@ -1 +0,0 @@ |
|||
709b027263c3eebb0b63f2f32c573210c0f93651276f16a3c63436300d0ba951 |
@ -1,16 +0,0 @@ |
|||
is_global = true |
|||
build_property.TargetFramework = net8.0-windows |
|||
build_property.TargetPlatformMinVersion = 7.0 |
|||
build_property.UsingMicrosoftNETSdkWeb = |
|||
build_property.ProjectTypeGuids = |
|||
build_property.InvariantGlobalization = |
|||
build_property.PlatformNeutralAssembly = |
|||
build_property.EnforceExtendedAnalyzerRules = |
|||
build_property._SupportedPlatformList = Linux,macOS,Windows |
|||
build_property.RootNamespace = TaskManager |
|||
build_property.ProjectDir = C:\Users\89237\source\repos\WpfApp4\WpfApp4\ |
|||
build_property.EnableComHosting = |
|||
build_property.EnableGeneratedComInterfaceComImportInterop = |
|||
build_property.CsWinRTUseWindowsUIXamlProjections = false |
|||
build_property.EffectiveAnalysisLevelStyle = 8.0 |
|||
build_property.EnableCodeStyleSeverity = |
@ -1,6 +0,0 @@ |
|||
// <auto-generated/>
|
|||
global using global::System; |
|||
global using global::System.Collections.Generic; |
|||
global using global::System.Linq; |
|||
global using global::System.Threading; |
|||
global using global::System.Threading.Tasks; |
Binary file not shown.
@ -1,25 +0,0 @@ |
|||
//------------------------------------------------------------------------------
|
|||
// <auto-generated>
|
|||
// 此代码由工具生成。
|
|||
// 运行时版本:4.0.30319.42000
|
|||
//
|
|||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
|||
// 重新生成代码,这些更改将会丢失。
|
|||
// </auto-generated>
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
using System; |
|||
using System.Reflection; |
|||
|
|||
[assembly: System.Reflection.AssemblyCompanyAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] |
|||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] |
|||
[assembly: System.Reflection.AssemblyProductAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyTitleAttribute("TaskManager")] |
|||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] |
|||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] |
|||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] |
|||
|
|||
// 由 MSBuild WriteCodeFragment 类生成。
|
|||
|
@ -1 +0,0 @@ |
|||
709b027263c3eebb0b63f2f32c573210c0f93651276f16a3c63436300d0ba951 |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue