Sto scrivendo un modulo in cui sto creando una tariffa per un elenco di prodotti e la tariffa per il prodotto è assegnata a un altro negozio.
La tariffa può essere creata in un gruppo di Negozio, con più negozi e singoli negozi.
Come mostrato nell'immagine qui sotto.
a.Gruppodinegozi
Ungruppodinegozièselezionatodall'elencodigruppi.L'elencodeiprodottivienevisualizzatodoveimpostiamolatariffaperiprodotti,lavelocitàdeiprodottiverràtaggatasuStorechesonotaggatinelgruppo
b.Negoziomultiplo
Ilnegoziomultiplopuòessereselezionatodall'elencoelatariffavieneaggiuntaalnegozio.
c.Negozioindividuale
Latariffaperilprodottoèassegnataaunsingoloramo.
Enititypertariffaprodotto
publicclassProductRate{publicdecimalPrice{get;set;}publicdecimalMRP{get;set;}publicintProductId{get;set;}publicintStoreId{get;set;}[ForeignKey("StoreId")]
public virtual Store Store { get; set; }
[ForeignKey("ProductId")]
public virtual Product Product { get; set; }
public bool IsApproved { get; set; }
}
Attualmente la mia implementazione ha il seguente aspetto:
public void CreateRateForIndividualStore(RateIndividualStoreViewModel model)
{
//Saving the rate of product
// Maintaining history of the product rate in ProductRateHistory table
}
public List<string> RateForMultipleStore(RateMultipleStoreViewModel model)
{
//Saving the rate of product
// Maintaining history of the product rate in ProductRateHistory table
}
public List<string> CreateRateByGroup(RateStoreGroupViewModel model)
{
}
Attualmente sto facendo con la configurazione separata per tutti e tre i tipi.
La tabella ProductRateHistory è esattamente la stessa copia dell'entità ProductRate.
Esiste un modo più generico per svolgere questa attività? Qualsiasi schema o metodo di progettazione predefinito?
