Files
SkyArtShop/Models/Product.cs
Local Server 703ab57984 Fix admin route access and backend configuration
- Added /admin redirect to login page in nginx config
- Fixed backend server.js route ordering for proper admin handling
- Updated authentication middleware and routes
- Added user management routes
- Configured PostgreSQL integration
- Updated environment configuration
2025-12-13 22:34:11 -06:00

67 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
namespace SkyArtShop.Models;
public class Product
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string? Id { get; set; }
[Required]
public string Name { get; set; } = string.Empty;
public string Slug { get; set; } = string.Empty;
public string SKU { get; set; } = string.Empty;
public string ShortDescription { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
[Required]
public decimal Price { get; set; }
public string Category { get; set; } = string.Empty;
public string Color { get; set; } = string.Empty;
public List<string> Colors { get; set; } = new List<string>();
public List<ProductVariant> Variants { get; set; } = new List<ProductVariant>();
public string ImageUrl { get; set; } = string.Empty;
public List<string> Images { get; set; } = new List<string>();
public bool IsFeatured { get; set; }
public bool IsTopSeller { get; set; }
public int StockQuantity { get; set; }
public bool IsActive { get; set; } = true;
public int UnitsSold { get; set; }
public decimal TotalRevenue { get; set; }
public double AverageRating { get; set; }
public int TotalReviews { get; set; }
public decimal CostPrice { get; set; }
public List<string> Tags { get; set; } = new List<string>();
public string MetaDescription { get; set; } = string.Empty;
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
}