Я хочу создать простой сайт электронного обучения;в котором вы можете разместить учебные пакеты, информацию о курсе, видео и документы. Студенты должны будут сделать единовременный платеж, чтобы получить доступ к нему. Я могу создать процесс оформления заказа и т. Д., Но моя проблема заключается в том, чтобы назначить этот пакет пользователю, а затем показать, что он уже приобретен, и разрешить пользователям добавлять контент в курсы.
Я думал, что для этого будут разные области, например, когда пользователь совершит успешную покупку, ему будет назначена роль, а затем идентификация asp.net может показать правильные представления. Однако это кажется утомительным и нереалистичным подходом.
В настоящее время у меня есть четыре объекта БД: Category
, Industry
, Product
, ProductItem
.
Категория
public class Category
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Title { get; set; }
}
Промышленность
public class Industry
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[MaxLength(55)]
[Display(Name = "Industry")]
public string Title { get; set; }
}
Продукт
public class Product
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
[Display(Name = "Product Name")]
[MaxLength(55)]
public string Name { get; set; }
[Required]
[MaxLength(255)]
public string Description { get; set; }
[Required]
[Range(0, 2000)]
public decimal Price { get; set; }
public string Image { get; set; }
[Display(Name = "Industry")]
public int IndustryId { get; set; }
public Industry Industry { get; set; }
}
Товар
public class ProductItem
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Title { get; set; }
[Display(Name = "Course")]
public int ProductId { get; set; }
public Product Product { get; set; }
[Display(Name = "Category")]
public int CategoryId { get; set; }
public Category Category { get; set; }
}
Я использую класс Product
в качестве начального вида курса и ProductItem
в качестве содержимого курса, к которому пользователи могут получить доступ. Пожалуйста, предложите любые изменения в базе данных, которые помогут. примечание: я использую удостоверение asp.net для пользователей.