I'm trying to create an e-commerce. Where I have a product, this product may have several different colors and sizes, for example: I have an X product. Of this product X I have a total of 50 in stock. of the 50 that are in stock.
20 são Amarelo de tamanho 10.
10 são Amarelo de tamanho 15
5 são azul de tamanho 25
5 são azul de tamanho 15
10 são pretos de tamanho 15.
Although they have different sizes and colors, they are the same product.
My Product Class:
[Key]
public int ProdutoId { get; set; }
[Required(ErrorMessage ="o nome deve ser preenchido")]
public string NomeDoProduto { get; set; }
[Required(ErrorMessage = "o codigo deve ser preenchido")]
public string CodProduto { get; set; }
[Required(ErrorMessage ="o preço deve ser preenchido")]
public decimal PrecoDeAtacado { get; set; }
[Required(ErrorMessage = "o preço deve ser preenchido")]
public decimal PrecoDeVarejo { get; set; }
[MaxLength(1200)]
public string Informacoes { get; set; }
[MaxLength(1200)]
public string Decricao { get; set; }
public bool? Disponibilidade { get; set; }
#endregion
#region Chaves Estrangeiras
public virtual IEnumerable<Comentario> Comentario { get; set; }
[ForeignKey("EpeficacoesDoProduto")]
public int? IdEspecificacao { get; set; }
public virtual EpeficacoesDoProduto EpeficacoesDoProduto { get; set; }
public virtual List<Categoria> Categoria { get; set; }
My Class Specification:
public class EpeficacoesDoProduto
{
[Key]
public int IdEspecificacao { get; set; }
public List<Cor> Cor { get; set; }
public List<Tamanho> Tamanho { get; set; }
public List<Estoque> Estoque { get; set; }
public List<Imagem> Imagem { get; set; }
}
I do not know if I'm on the right track, creating the class specification, to get the lists for the product. Because when I register the product I will specify.
Produto: Sapato de Couro
Cor: Preto - Tamanho: 39 - quantidade:10 - Imagem: UrlDaImagem
Cor: Preto- Tamanho : 41 - Quantidade: 5 - Imagem: UrlDaImagem
Cor: Marrom - Tamanho: 39 - Quantidade: 12 - Imagem: UrlDaImagem
Cor: Marrom - Tamanho: 40 - Quantidade: 7.- Imagem: UrlDaImagem
In the product details page, I want to call the product and display the colors and sizes available so the customer can select and add to the cart. I do not know if my logic add class specification is correct. Can anyone give me a hint ??
Ps: classes, color, size, and image are normal, containing only an id and description. With exception of the Quantity class, which has quantidadeDeEntrada
, Id
, and QuantidadeDeSaida
.