You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SAE-2.01/MCTG/Model/Recipes/Review.cs

57 lines
1.4 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace Model
{
internal class Review
{
private int _stars;
private string _content = "";
public int Id { get; init; }
public int Stars
{
get => _stars;
set
{
if (value < 0 || value > 5) throw new ArgumentException(nameof(Stars));
else _stars = value;
}
}
public string Content
{
get => _content;
set
{
if (string.IsNullOrEmpty(value)) _content = "No data...";
else _content = value;
}
}
public Review(int? id, int stars, string content)
{
if (id == null)
{
var randomGenerator = RandomNumberGenerator.Create();
byte[] data = new byte[16];
randomGenerator.GetBytes(data);
Id = Math.Abs(BitConverter.ToInt16(data));
}
else Id = (int)id;
Stars = stars;
Content = content;
}
public Review(int stars, string content) : this(null, stars, content)
{
}
}
}