Actualmente estoy trabajando en un proyecto de aplicación de facturas y, lo que realmente no sé cómo implementar, es el siguiente ejemplo:
Como sabes, una factura debe tener un número de serie único (o una combinación de Serie + Número).
Estoy trabajando en una API web, que admite principalmente una operación CRUD. Ahora, para un método POST, ¿dónde debo implementar una lógica para que, cuando un cliente inserte una factura, mi aplicación genere automáticamente el número de la factura?
Mi proyecto de API web usa un EF DbContext para obtener/escribir datos en la base de datos. ¿Debo implementar un Repositorio, y ese repositorio debería encargarse de Insertar/Leer datos?
ayudaría más si puede proporcionar más información, por ejemplo, cómo se ve su modelo actual. con la información actual, veo el siguiente enfoque que puede ayudarlo
asumiendo que este es su modelo de factura
public class invoice { public int Id { get; set; } DatabaseGenerated(DatabaseGeneratedOption.Computed)] public string InvoiceNumber { get; set; } //other properties }luego, en su generador de modelos, haga lo siguiente
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<invoice>() .Property(b => b.Created) .HasComputedColumnSql("[somepropertyoftable] + ', ' + getdate()"); }El siguiente enlace puede ser útil:
https://docs.microsoft.com/en-us/ef/core/modeling/generated-properties?tabs=data-annotations
Intentaré responder esto también; Parece que tiene dos inquietudes aquí, que podrían ser la misma inquietud, dicho de otra manera, es posible que no esté entendiendo su pregunta.
Aquí hay algunas opciones potenciales...
MX- .POST y llamar a _repository.AddInvoice(invoice); .