20 changed files with 548 additions and 0 deletions
@ -0,0 +1,16 @@ |
|||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Controllers |
||||
|
{ |
||||
|
[ApiController, Route("api/[controller]")]
|
||||
|
public class IsAliveController : ControllerBase |
||||
|
{ |
||||
|
|
||||
|
[HttpGet] |
||||
|
public bool SendWmsStatus() |
||||
|
{ |
||||
|
|
||||
|
return true; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,45 @@ |
|||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
using WMS_GIRAF_Interface.Models; |
||||
|
using WMS_GIRAF_Interface.Repositories.Implement; |
||||
|
using WMS_GIRAF_Interface.Repositories.Interface; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Controllers |
||||
|
{ |
||||
|
|
||||
|
[ApiController, Route("api/[controller]")]
|
||||
|
public class SendInputStorageLinePathStateController :ControllerBase |
||||
|
{ |
||||
|
private readonly IdestinationIdRepository _destinationIdRepository; |
||||
|
|
||||
|
public SendInputStorageLinePathStateController(IdestinationIdRepository destinationIdRepository) |
||||
|
{ |
||||
|
_destinationIdRepository = destinationIdRepository; |
||||
|
} |
||||
|
/// <summary>
|
||||
|
/// 更新入库路径状态
|
||||
|
/// </summary>
|
||||
|
[HttpPost] |
||||
|
public void GetInputStatusFromGiraf(InputStorageLinePathState.Rootobject inputStorageLinePathState ) |
||||
|
{ |
||||
|
//根据LineNumber获取巷道信息
|
||||
|
if (inputStorageLinePathState.LineNumber!=0) |
||||
|
{ |
||||
|
var LaneWayInfo = _destinationIdRepository.GetDestinationId(inputStorageLinePathState.LineNumber); |
||||
|
if (LaneWayInfo!=null) |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
//tlt:line number不可以为0
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,33 @@ |
|||||
|
using Microsoft.AspNetCore.Mvc; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Controllers |
||||
|
{ |
||||
|
[ApiController] |
||||
|
[Route("[controller]")]
|
||||
|
public class WeatherForecastController : ControllerBase |
||||
|
{ |
||||
|
private static readonly string[] Summaries = new[] |
||||
|
{ |
||||
|
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" |
||||
|
}; |
||||
|
|
||||
|
private readonly ILogger<WeatherForecastController> _logger; |
||||
|
|
||||
|
public WeatherForecastController(ILogger<WeatherForecastController> logger) |
||||
|
{ |
||||
|
_logger = logger; |
||||
|
} |
||||
|
|
||||
|
[HttpGet(Name = "GetWeatherForecast")] |
||||
|
public IEnumerable<WeatherForecast> Get() |
||||
|
{ |
||||
|
return Enumerable.Range(1, 5).Select(index => new WeatherForecast |
||||
|
{ |
||||
|
Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), |
||||
|
TemperatureC = Random.Shared.Next(-20, 55), |
||||
|
Summary = Summaries[Random.Shared.Next(Summaries.Length)] |
||||
|
}) |
||||
|
.ToArray(); |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,22 @@ |
|||||
|
using Microsoft.EntityFrameworkCore; |
||||
|
using WMS_GIRAF_Interface.Entities; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Data; |
||||
|
|
||||
|
public class MichelinDbContext : DbContext |
||||
|
{ |
||||
|
public MichelinDbContext(DbContextOptions<MichelinDbContext> options) |
||||
|
: base(options) |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public DbSet<destinationId> DestinationId { get; set; } |
||||
|
|
||||
|
protected override void OnModelCreating(ModelBuilder modelBuilder) |
||||
|
{ |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,74 @@ |
|||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.ComponentModel.DataAnnotations.Schema; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Entities |
||||
|
{ |
||||
|
[Table("IO_CONTROL")] |
||||
|
public class IO_CONTROL |
||||
|
{ |
||||
|
[Column("CONTROL_ID")] |
||||
|
[Key] |
||||
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] |
||||
|
public int? CONTROL_ID { get; set; } |
||||
|
[Column("RELATIVE_CONTROL_ID")] |
||||
|
public int? RELATIVE_CONTROL_ID { get; set; } |
||||
|
|
||||
|
[Column("MANAGE_ID")] |
||||
|
public int? MANAGE_ID { get; set; } |
||||
|
|
||||
|
[Column("STOCK_BARCODE")] |
||||
|
public string? STOCK_BARCODE { get; set; } |
||||
|
|
||||
|
[Column("PRE_CONTROL_STATUS")] |
||||
|
public string? PRE_CONTROL_STATUS { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_TASK_TYPE")] |
||||
|
public int? CONTROL_TASK_TYPE { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_TASK_LEVEL")] |
||||
|
public string? CONTROL_TASK_LEVEL { get; set; } |
||||
|
|
||||
|
[Column("START_WAREHOUSE_CODE")] |
||||
|
public string? START_WAREHOUSE_CODE { get; set; } |
||||
|
|
||||
|
[Column("END_WAREHOUSE_CODE")] |
||||
|
public string? END_WAREHOUSE_CODE { get; set; } |
||||
|
|
||||
|
[Column("START_DEVICE_CODE")] |
||||
|
public string START_DEVICE_CODE { get; set; } |
||||
|
|
||||
|
[Column("END_DEVICE_CODE")] |
||||
|
public string? END_DEVICE_CODE { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_STATUS")] |
||||
|
public int CONTROL_STATUS { get; set; } |
||||
|
|
||||
|
[Column("ERROR_TEXT")] |
||||
|
public string? ERROR_TEXT { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_BEGIN_TIME")] |
||||
|
public string CONTROL_BEGIN_TIME { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_END_TIME")] |
||||
|
public string? CONTROL_END_TIME { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_REMARK")] |
||||
|
public string? CONTROL_REMARK { get; set; } |
||||
|
|
||||
|
[Column("targetOutputDateInUtc")] |
||||
|
public string targetOutputDateInUtc { get; set; } |
||||
|
|
||||
|
[Column("keepRequestInMemoryEvenIfMechanicalIssue")] |
||||
|
public string? keepRequestInMemoryEvenIfMechanicalIssue { get; set; } |
||||
|
|
||||
|
[Column("keepRequestInMemoryEvenIfLackOfProductIssue")] |
||||
|
public string keepRequestInMemoryEvenIfLackOfProductIssue { get; set; } |
||||
|
|
||||
|
[Column("requestNumber")] |
||||
|
public string? requestNumber { get; set; } |
||||
|
|
||||
|
[Column("POPULATION")] |
||||
|
public string? POPULATION { get; set; } |
||||
|
|
||||
|
} |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
using System.ComponentModel.DataAnnotations.Schema; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Entities; |
||||
|
|
||||
|
[Table("IO_CONTROL_ROUTE")] |
||||
|
public class IO_CONTROL_ROUTE |
||||
|
{ |
||||
|
[Column("CONTROL_ROUTE_ID")] |
||||
|
[Key] |
||||
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] |
||||
|
public int CONTROL_ROUTE_ID { get; set; } |
||||
|
[Column("CONTROL_ROUTE_TYPE")] |
||||
|
public int CONTROL_ROUTE_TYPE { get; set; } |
||||
|
[Column("CONTROL_ROUTE_CODE")] |
||||
|
public string CONTROL_ROUTE_CODE { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_ROUTE_NAME")] |
||||
|
public string CONTROL_ROUTE_NAME { get; set; } |
||||
|
[Column("START_DEVICE")] |
||||
|
public string START_DEVICE { get; set; } |
||||
|
[Column("END_DEVICE")] |
||||
|
public string END_DEVICE { get; set; } |
||||
|
[Column("CONTROL_ROUTE_STATUS")] |
||||
|
public int CONTROL_ROUTE_STATUS { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_ROUTE_REMARK")] |
||||
|
public string CONTROL_ROUTE_REMARK { get; set; } |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
using System.ComponentModel.DataAnnotations.Schema; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Entities; |
||||
|
|
||||
|
[Table("IO_CONTROL_ROUTE_OUT")] |
||||
|
public class IO_CONTROL_ROUTE_OUT |
||||
|
{ |
||||
|
[Column("CONTROL_ROUTE_ID")] |
||||
|
[Key] |
||||
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] |
||||
|
public int CONTROL_ROUTE_ID { get; set; } |
||||
|
[Column("CONTROL_ROUTE_TYPE")] |
||||
|
public int CONTROL_ROUTE_TYPE { get; set; } |
||||
|
[Column("CONTROL_ROUTE_CODE")] |
||||
|
public string CONTROL_ROUTE_CODE { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_ROUTE_NAME")] |
||||
|
public string CONTROL_ROUTE_NAME { get; set; } |
||||
|
[Column("START_DEVICE")] |
||||
|
public string START_DEVICE { get; set; } |
||||
|
[Column("END_DEVICE")] |
||||
|
public string END_DEVICE { get; set; } |
||||
|
[Column("CONTROL_ROUTE_STATUS")] |
||||
|
public int CONTROL_ROUTE_STATUS { get; set; } |
||||
|
|
||||
|
[Column("CONTROL_ROUTE_REMARK")] |
||||
|
public string CONTROL_ROUTE_REMARK { get; set; } |
||||
|
} |
@ -0,0 +1,20 @@ |
|||||
|
using System.ComponentModel.DataAnnotations.Schema; |
||||
|
using System.ComponentModel.DataAnnotations; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Entities; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// 数据表:destinationId
|
||||
|
/// </summary>
|
||||
|
[Table("destinationId")] |
||||
|
public class destinationId |
||||
|
{ |
||||
|
|
||||
|
[Column("ID")] |
||||
|
public int? ID { get; set; } |
||||
|
[Column("AREA")] |
||||
|
public string? AREA { get; set; } |
||||
|
[Column("DEVICE_CODE")] |
||||
|
public string? DEVICE_CODE { get; set; } |
||||
|
|
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
namespace WMS_GIRAF_Interface.Models; |
||||
|
|
||||
|
public class InputStorageLinePathState |
||||
|
{ |
||||
|
|
||||
|
public class Rootobject |
||||
|
{ |
||||
|
public string? PathState { get; set; } |
||||
|
public int? LineNumber { get; set; } |
||||
|
public string? SourceId { get; set; } |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,25 @@ |
|||||
|
var builder = WebApplication.CreateBuilder(args); |
||||
|
|
||||
|
// Add services to the container.
|
||||
|
|
||||
|
builder.Services.AddControllers(); |
||||
|
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
||||
|
builder.Services.AddEndpointsApiExplorer(); |
||||
|
builder.Services.AddSwaggerGen(); |
||||
|
|
||||
|
var app = builder.Build(); |
||||
|
|
||||
|
// Configure the HTTP request pipeline.
|
||||
|
if (app.Environment.IsDevelopment()) |
||||
|
{ |
||||
|
app.UseSwagger(); |
||||
|
app.UseSwaggerUI(); |
||||
|
} |
||||
|
|
||||
|
app.UseHttpsRedirection(); |
||||
|
|
||||
|
app.UseAuthorization(); |
||||
|
|
||||
|
app.MapControllers(); |
||||
|
|
||||
|
app.Run(); |
@ -0,0 +1,41 @@ |
|||||
|
{ |
||||
|
"$schema": "http://json.schemastore.org/launchsettings.json", |
||||
|
"iisSettings": { |
||||
|
"windowsAuthentication": false, |
||||
|
"anonymousAuthentication": true, |
||||
|
"iisExpress": { |
||||
|
"applicationUrl": "http://localhost:5608", |
||||
|
"sslPort": 44380 |
||||
|
} |
||||
|
}, |
||||
|
"profiles": { |
||||
|
"http": { |
||||
|
"commandName": "Project", |
||||
|
"dotnetRunMessages": true, |
||||
|
"launchBrowser": true, |
||||
|
"launchUrl": "swagger", |
||||
|
"applicationUrl": "http://localhost:5146", |
||||
|
"environmentVariables": { |
||||
|
"ASPNETCORE_ENVIRONMENT": "Development" |
||||
|
} |
||||
|
}, |
||||
|
"https": { |
||||
|
"commandName": "Project", |
||||
|
"dotnetRunMessages": true, |
||||
|
"launchBrowser": true, |
||||
|
"launchUrl": "swagger", |
||||
|
"applicationUrl": "https://localhost:7087;http://localhost:5146", |
||||
|
"environmentVariables": { |
||||
|
"ASPNETCORE_ENVIRONMENT": "Development" |
||||
|
} |
||||
|
}, |
||||
|
"IIS Express": { |
||||
|
"commandName": "IISExpress", |
||||
|
"launchBrowser": true, |
||||
|
"launchUrl": "swagger", |
||||
|
"environmentVariables": { |
||||
|
"ASPNETCORE_ENVIRONMENT": "Development" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
using WMS_GIRAF_Interface.Data; |
||||
|
using WMS_GIRAF_Interface.Entities; |
||||
|
using WMS_GIRAF_Interface.Repositories.Interface; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Repositories.Implement; |
||||
|
|
||||
|
public class destinationIdRepository : IdestinationIdRepository |
||||
|
{ |
||||
|
private readonly MichelinDbContext _context; |
||||
|
private readonly ILogger<destinationIdRepository> _logger; |
||||
|
public destinationIdRepository(MichelinDbContext context, ILogger<destinationIdRepository> logger) |
||||
|
{ |
||||
|
_context = context; |
||||
|
_logger = logger; |
||||
|
} |
||||
|
|
||||
|
public destinationId? GetDestinationId(int? lineNumber) |
||||
|
{ |
||||
|
if (lineNumber!=0) |
||||
|
{ |
||||
|
throw new ArgumentException(nameof(GetDestinationId)); |
||||
|
} |
||||
|
|
||||
|
var destinationIdInfo = _context.DestinationId.FirstOrDefault(x => x.ID == lineNumber); |
||||
|
|
||||
|
return destinationIdInfo; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,8 @@ |
|||||
|
using WMS_GIRAF_Interface.Entities; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface.Repositories.Interface; |
||||
|
|
||||
|
public interface IdestinationIdRepository |
||||
|
{ |
||||
|
public destinationId? GetDestinationId(int? lineNumber); |
||||
|
} |
@ -0,0 +1,80 @@ |
|||||
|
using Serilog; |
||||
|
using System.Collections.ObjectModel; |
||||
|
using System.Net; |
||||
|
using Serilog.Sinks.MSSqlServer; |
||||
|
|
||||
|
namespace WMS_GIRAF_Interface |
||||
|
{ |
||||
|
|
||||
|
public static class SerilogConfig |
||||
|
{ |
||||
|
public static void CreateLogger() |
||||
|
{ |
||||
|
var filePath = Path.Combine(AppContext.BaseDirectory, "Logs/Serilog/log.txt"); |
||||
|
#if DEBUG
|
||||
|
var logDB = @"Server=JIAN_PC;database=CAN_Lucid_ASRS;uid=sa;pwd=Siasun;TrustServerCertificate=true"; |
||||
|
#else
|
||||
|
var logDB = @"Server=LUCID-ASRS-A01;database=CAN_Lucid_ASRS;uid=sa;pwd=Siasun123;TrustServerCertificate=true"; |
||||
|
#endif
|
||||
|
var sinkOpts = new MSSqlServerSinkOptions(); |
||||
|
sinkOpts.TableName = "Logs_Serilog"; |
||||
|
sinkOpts.AutoCreateSqlTable = true; |
||||
|
sinkOpts.BatchPostingLimit = 1; |
||||
|
sinkOpts.BatchPeriod = TimeSpan.FromSeconds(1); |
||||
|
var columnOpts = new ColumnOptions(); |
||||
|
//columnOpts.Store.Remove(StandardColumn.Properties);
|
||||
|
//columnOpts.Store.Add(StandardColumn.LogEvent);
|
||||
|
//columnOpts.LogEvent.DataLength = 2048;
|
||||
|
//columnOpts.PrimaryKey = columnOpts.TimeStamp;
|
||||
|
//columnOpts.TimeStamp.NonClusteredIndex = true;
|
||||
|
columnOpts.Store.Remove(StandardColumn.MessageTemplate); |
||||
|
columnOpts.Properties.ExcludeAdditionalProperties = true; |
||||
|
columnOpts.AdditionalColumns = new Collection<SqlColumn> |
||||
|
{ |
||||
|
new SqlColumn{DataType = System.Data.SqlDbType.NVarChar, DataLength = 32, ColumnName = "IP"} |
||||
|
}; |
||||
|
|
||||
|
Log.Logger = new LoggerConfiguration() |
||||
|
.MinimumLevel.Information() |
||||
|
.WriteTo.Console( |
||||
|
outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] ({ThreadId}) {Message}{NewLine}{Exception}") |
||||
|
.WriteTo.File(filePath, |
||||
|
outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] ({ThreadId}) {Message:lj}{NewLine}{Exception}", |
||||
|
rollingInterval: RollingInterval.Day, |
||||
|
fileSizeLimitBytes: 1073741824).MinimumLevel.Information() //1GB
|
||||
|
.Enrich.FromLogContext() |
||||
|
.Enrich.WithProperty("IP", GetIpAddress()) |
||||
|
.WriteTo.MSSqlServer( |
||||
|
connectionString: logDB, |
||||
|
sinkOptions: sinkOpts, |
||||
|
columnOptions: columnOpts |
||||
|
).MinimumLevel.Warning().CreateLogger(); |
||||
|
} |
||||
|
|
||||
|
public static void RefreshLogger() |
||||
|
{ |
||||
|
if (Log.Logger != null) |
||||
|
{ |
||||
|
Log.CloseAndFlush(); |
||||
|
} |
||||
|
CreateLogger(); |
||||
|
} |
||||
|
|
||||
|
private static string GetIpAddress() |
||||
|
{ |
||||
|
string ipAddress = "127.0.0.1"; |
||||
|
IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName()); |
||||
|
foreach (IPAddress ip in ips) |
||||
|
{ |
||||
|
if (ip.AddressFamily.ToString().ToLower().Equals("internetwork")) |
||||
|
{ |
||||
|
ipAddress = ip.ToString(); |
||||
|
return ipAddress; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return ipAddress; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
<Project Sdk="Microsoft.NET.Sdk.Web"> |
||||
|
|
||||
|
<PropertyGroup> |
||||
|
<TargetFramework>net8.0</TargetFramework> |
||||
|
<Nullable>enable</Nullable> |
||||
|
<ImplicitUsings>enable</ImplicitUsings> |
||||
|
</PropertyGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.7" /> |
||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.7" /> |
||||
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> |
||||
|
<PackageReference Include="Serilog.AspNetCore" Version="8.0.2" /> |
||||
|
<PackageReference Include="Serilog.Sinks.MSSqlServer" Version="6.6.1" /> |
||||
|
<PackageReference Include="Serilog.Sinks.Seq" Version="8.0.0" /> |
||||
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<Folder Include="TaskServices\" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
</Project> |
@ -0,0 +1,6 @@ |
|||||
|
@WMS_GIRAF_Interface_HostAddress = http://localhost:5146 |
||||
|
|
||||
|
GET {{WMS_GIRAF_Interface_HostAddress}}/weatherforecast/ |
||||
|
Accept: application/json |
||||
|
|
||||
|
### |
@ -0,0 +1,25 @@ |
|||||
|
|
||||
|
Microsoft Visual Studio Solution File, Format Version 12.00 |
||||
|
# Visual Studio Version 17 |
||||
|
VisualStudioVersion = 17.10.35013.160 |
||||
|
MinimumVisualStudioVersion = 10.0.40219.1 |
||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WMS_GIRAF_Interface", "WMS_GIRAF_Interface.csproj", "{6ADDA8F0-8263-47BA-84A7-F297E9D1F641}" |
||||
|
EndProject |
||||
|
Global |
||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||
|
Debug|Any CPU = Debug|Any CPU |
||||
|
Release|Any CPU = Release|Any CPU |
||||
|
EndGlobalSection |
||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||
|
{6ADDA8F0-8263-47BA-84A7-F297E9D1F641}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||
|
{6ADDA8F0-8263-47BA-84A7-F297E9D1F641}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||
|
{6ADDA8F0-8263-47BA-84A7-F297E9D1F641}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||
|
{6ADDA8F0-8263-47BA-84A7-F297E9D1F641}.Release|Any CPU.Build.0 = Release|Any CPU |
||||
|
EndGlobalSection |
||||
|
GlobalSection(SolutionProperties) = preSolution |
||||
|
HideSolutionNode = FALSE |
||||
|
EndGlobalSection |
||||
|
GlobalSection(ExtensibilityGlobals) = postSolution |
||||
|
SolutionGuid = {4773BD7F-7D17-49DC-90E4-DCCE75F54B78} |
||||
|
EndGlobalSection |
||||
|
EndGlobal |
@ -0,0 +1,13 @@ |
|||||
|
namespace WMS_GIRAF_Interface |
||||
|
{ |
||||
|
public class WeatherForecast |
||||
|
{ |
||||
|
public DateOnly Date { get; set; } |
||||
|
|
||||
|
public int TemperatureC { get; set; } |
||||
|
|
||||
|
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); |
||||
|
|
||||
|
public string? Summary { get; set; } |
||||
|
} |
||||
|
} |
@ -0,0 +1,8 @@ |
|||||
|
{ |
||||
|
"Logging": { |
||||
|
"LogLevel": { |
||||
|
"Default": "Information", |
||||
|
"Microsoft.AspNetCore": "Warning" |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,9 @@ |
|||||
|
{ |
||||
|
"Logging": { |
||||
|
"LogLevel": { |
||||
|
"Default": "Information", |
||||
|
"Microsoft.AspNetCore": "Warning" |
||||
|
} |
||||
|
}, |
||||
|
"AllowedHosts": "*" |
||||
|
} |
Loading…
Reference in new issue