Я работаю в проекте с. Net Core 3.1 API, Angular 9 и SQL Сервер, идея в том, что я получаю JSON из моего API:
{
"IdProducto": 3,
"NombreProducto": "Pocky",
"Descripcion": "Barquillos cubiertos de chocolate",
"Precio": 15000,
"Cantidad": 10,
"FechaVencimiento": "2020-06-30T00:00:00",
"RutaFotoProducto": "774484",
"TablaNutricion": "77938475",
"FkidCategoria": 3,
"FkidEstadoProducto": 1,
"FkidCategoriaNavigation": {
"IdCategoria": 3,
"NombreCategoria": "Chocolates",
"DescripcionCategoria": "Productos a cubiertos de chocolate",
"Producto": []
}
, и у меня есть эти интерфейсы в моем Angular:
export interface Categoria {
IdCategoria: number;
NombreCategoria: string;
DescripcionCategoria: string;
}
import {Categoryoria} из './categoria.model';
export interface Producto {
IdProducto: number;
NombreProducto: String;
Descripcion: String;
Precio: number;
Cantidad: number;
FechaVencimiento: Date;
RutaFotoProducto: String;
TablaNutricion: String;
//FkidCategoria:number; This line represents the navigation property of EF Core
FkidEstadoProducto: number;
categoria?:Categoria;
}
Мой продукт Product выглядит кое-что вот так:
export class GestionProductoService {
formRegistroProducto = this.formBuilder.group({
IdProducto: [0],
NombreProducto:["",[Validators.required]],
Descripcion:[""],
Precio:["",[Validators.required]],
Cantidad:["",[Validators.required]],
FechaVencimiento:[""],
RutaFotoProducto:[""],
TablaNutricion: [""],
FkidCategoria:[""],
FkidEstadoProducto:["",[Validators.required]],
});
producto:Producto;
listaProducto:Producto[];
get NombreProducto(){
return this.formRegistroProducto.controls["NombreProducto"];
}
get Descripcion(){
return this.formRegistroProducto.controls["Descripcion"];
} get Precio(){
return this.formRegistroProducto.controls["Precio"];
} get Cantidad(){
return this.formRegistroProducto.controls["Cantidad"];
} get FechaVencimiento(){
return this.formRegistroProducto.controls["FechaVencimiento"];
} get RutaFotoProducto(){
return this.formRegistroProducto.controls["RutaFotoProducto"];
} get TablaNutricion(){
return this.formRegistroProducto.controls["TablaNutricion"];
} //get FkidCategoria(){
//return this.formRegistroProducto.controls["FkidCategoria"];
//In here I don't know how to implement the caterogia model, because my API is waiting for "FkidCategoria"
} get FkidEstadoProducto(){
return this.formRegistroProducto.controls["FkidEstadoProducto"];
}
constructor(private http:HttpClient, private configuracion:ConfiguracionService, private formBuilder:FormBuilder) {}
Но я действительно не понимаю, как реализовать вложенную модель в моей форме и как с ней работать, если кто-нибудь может дать мне подсказку. Это было бы здорово, потому что я у меня есть таблица для отображения данных о продукте, и я хочу использовать атрибут «NombreCategoria» из модели «Категория» вместо «FkidProducto» модель продукта