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) { } } }