using Microsoft.AspNetCore.Mvc; List aeroplanes = new() { new AeroplaneDal() { AeroplaneId = Guid.NewGuid(), Name = "Boeing 747", Weght = 41140, Lenght = 40, ProductionDate = new DateTime(2010, 4, 15)}, new AeroplaneDal() { AeroplaneId = Guid.NewGuid(), Name = "Ту-154", Weght = 55300, Lenght = 48, ProductionDate = new DateTime(2005, 3, 20)}, new AeroplaneDal() { AeroplaneId = Guid.NewGuid(), Name = "Ил-86", Weght = 117500, Lenght = 60, ProductionDate = new DateTime(2005, 9, 7)}, }; var builder = WebApplication.CreateBuilder(args); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseHttpsRedirection(); app.MapGet("/Aeroplanes/", () => { var result = aeroplanes.Select(r => new worker_1.Models.Aeroplane.GetList.AeroplaneResult() { AeroplaneId = r.AeroplaneId, Name = r.Name, Lenght = r.Lenght, ProductionDate = r.ProductionDate, Weght = r.Weght, }).ToArray(); return Results.Ok(result); }) .WithName("List") .WithOpenApi(); app.MapGet("/Aeroplanes/{aeroplaneId}", (Guid aeroplaneId) => { var aeroplane = aeroplanes.FirstOrDefault(r => r.AeroplaneId == aeroplaneId); if (aeroplane is null) { return Results.NotFound($"Не найдена самолет {aeroplaneId}"); } return Results.Json(new worker_1.Models.Aeroplane.Get.AeroplaneResult() { AeroplaneId = aeroplane.AeroplaneId, Name = aeroplane.Name, Lenght = aeroplane.Lenght, ProductionDate = aeroplane.ProductionDate, Weght = aeroplane.Weght, }); }) .WithName("Get") .WithOpenApi(); app.MapPost("/Aeroplanes/", ([FromBody] worker_1.Models.Aeroplane.Create.AeroplaneForm request) => { Guid aeroplaneId = Guid.NewGuid(); aeroplanes.Add(new AeroplaneDal() { AeroplaneId = aeroplaneId, Lenght = request.Lenght, ProductionDate = request.ProductionDate, Weght = request.Weght, Name = request.Name, }); return Results.Ok(aeroplaneId); }) .WithName("Create") .WithOpenApi(); app.MapPatch("/Aeroplanes/{aeroplaneId}", (Guid aeroplaneId, [FromBody] worker_1.Models.Aeroplane.Create.AeroplaneForm request) => { var aeroplane = aeroplanes.FirstOrDefault(r => r.AeroplaneId == aeroplaneId); if (aeroplane is null) { return Results.NotFound($"Не найден самолет {aeroplaneId}"); } if (!string.IsNullOrEmpty(request.Name)) { aeroplane.Name = request.Name; } aeroplane.ProductionDate = request.ProductionDate; aeroplane.Lenght = request.Lenght; aeroplane.Weght = request.Weght; return Results.Ok(aeroplane); }) .WithName("Update") .WithOpenApi(); app.MapDelete("/Aeroplanes/{aeroplaneId}", (Guid aeroplaneId) => { var aeroplane = aeroplanes.FirstOrDefault(r => r.AeroplaneId == aeroplaneId); if (aeroplane is null) { return Results.NotFound($"Не найден самолет {aeroplaneId}"); } aeroplanes.Remove(aeroplane); return Results.Ok(aeroplaneId); }) .WithName("Delete") .WithOpenApi(); app.Run(); public class AeroplaneDal { public Guid AeroplaneId { get; set; } public string Name { get; set; } public DateTime ProductionDate { get; set; } public int Weght { get; set; } public int Lenght { get; set; } }