﻿namespace KernelRecordsMVC.Application.ViewModels;

using System.ComponentModel.DataAnnotations;
using KernelRecordsMVC.Domain.Enums;


public class EditProductViewModel
{
    public long ProductId { get; set; }

    public long ReleaseId { get; set; }

    public string ReleaseTitle { get; set; } = null!;

    public ProductFormat Format { get; set; }

    [Required]
    [Range(0.01, 100000)]
    public decimal Price { get; set; }

    [Required]
    [Display(Name = "Product Description")]
    public string ProductDescription { get; set; } = null!;

    [Required]
    [Range(0, long.MaxValue)]
    public long Stock { get; set; }

    [Display(Name = "Discount (%)")]
    [Range(0, 100)]
    public decimal? Discount { get; set; }

    [Required]
    [Display(Name = "Modification Type")]
    public ModificationType ModificationType { get; set; }
}