Em chào mn ạ. em đang gặp vấn đề response api cụ thể là e có 3 bảng VehicleCustomer ,VehicleModel và VehicleVersion. Em đang muốn lấy tên model và tên version của 2 bảng VehicleModel,VehicleVersion thông qua id được chứa bên bảng VehicleCustomer nhưng bên controller chưa biết làm sao để hiển thị tên đó ra ạ
đây là controller e chưa làm được hiển thị tên model ạ
[HttpGet("vehicleOfCustomer/{customerId}")]
public BaseResponseData getVehicleOfCustomer(Guid customerId)
{
try
{
var data = insuranceVehicleContext.Vehicle.Where(vehicle => vehicle.CustomerId == customerId).Select(vehicle => new VehicleDTO()
{
Id = vehicle.Id,
BodyNumber = vehicle.BodyNumber,
EngineNumber = vehicle.EngineNumber,
LicensePlates = vehicle.LicensePlates,
ModelId = vehicle.ModelId,
}).AsEnumerable();
return new BaseResponseData() { Code = 200, Data = data, Message = "Get success" };
}
catch (Exception e)
{
return new BaseResponseData() { Code = 500, Data = null, Message = "Error: " + e.Message.ToString() };
}
}
}
}
đây là DTO bảng VehicleCustomer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace InsuranceVehicle.API.Models.DTO
{
public class VehicleDTO
{
public int Id { get; set; }
public string BodyNumber { get; set; }
public string EngineNumber { get; set; }
public string LicensePlates { get; set; }
public DateTime PurchaseDate { get; set; }
public VehicleModelDTO Model { get; set; }
public VehicleVersionDTO Version { get; set; }
public Guid? CustomerId { get; set; }
public DateTime? CreatedAt { get; set; }
public int? ModelId { get; set; }
public int? VersionId { get; set; }
public ICollection<VehicleModelDTO> VehicleModel { get; set; }
}
}
đây là DTO bên Model ạ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace InsuranceVehicle.API.Models.DTO
{
public class VehicleModelDTO
{
public int Id { get; set; }
public string Name { get; set; }
public virtual IEnumerable<VehicleVersionDTO> VehicleVersion { get; set; }
}
}