Модель пользователя — роли и отношения в веб-API ASP.NET CoreC#

Место общения программистов C#
Ответить
Anonymous
 Модель пользователя — роли и отношения в веб-API ASP.NET Core

Сообщение Anonymous »

Я работаю над хобби-проектом, чтобы развивать свои навыки работы с ядром asp.net. Мне нужна аутентификация пользователей в этом проекте, и для этой цели я использую удостоверение Microsoft. Как вошедший в систему пользователь должен иметь возможность создать объект еды и продать его. Точно так же, как вошедший в систему пользователь, вы сможете купить эту еду. Первоначально я создал следующие модели:

Код: Выделить всё

   public class User : IdentityUser
{
public UserRole Role { get; set; }
public Profile? Profile { get; set; }
}

Код: Выделить всё

 public class Seller : User
{
public List Foods { get; set; } = new List();
}

Код: Выделить всё

public class Buyer : User
{
public List Foods { get; set; } = new List();

}

Код: Выделить всё

  public class Category
{
public Guid Id { get; set; }
public required string Name { get; set; }
}

Код: Выделить всё

 public class Food
{
public Guid Id { get; set; }
public DateTime AvailableDate { get; set; }
public required string Name { get; set; }
public decimal Price { get; set; }
public required string Description { get; set; }
public required string Ingredients { get; set; }
public int QuantityAvailable { get; set; }
public required string SellerId { get; set; }
public required Seller Seller { get; set; }
public Guid FoodImageId { get; set; }
public Guid CategoryId { get; set; }
public List? FoodImage { get; set; }
public required Category Category { get; set; }
}

Код: Выделить всё

 public class FoodImage
{
public Guid Id { get; set; }
public Guid FoodId { get; set; }
public required Food Food { get; set; }
public required string Image { get; set; }
}

Код: Выделить всё

public class Order
{
public Guid Id { get; set; }
public DateTime OrderDate { get; set; }
public decimal TotalPrice { get; set; }
public required string BuyerId { get; set; }
public required string SellerId { get; set; }
public Guid FoodId { get; set; }
public required Buyer Buyer { get; set; }
public required Seller Seller { get; set; }
public required Food Food { get; set; }
}

Код: Выделить всё

 public class OrderItem
{
public Guid Id { get; set; }
public Guid OrderId { get; set; }
public required Order Order { get; set; }
public Guid FoodId { get; set; }
public required Food Food { get; set; }
public int Quantity { get; set; }
public decimal Price { get; set; }
}

Код: Выделить всё

 public class Profile
{
public Guid Id { get; set; }
public required string Address { get; set; }
public required string PhoneNumber { get; set; }
public required string City { get; set; }
public required string Country { get; set; }
public required string PostCode { get; set; }
public string? Bio { get; set; }
public string? ProfileImage { get; set; }
public required string UserId { get; set; }
public required User User { get; set; }
}
Моя первоначальная мысль заключалась в том, чтобы при регистрации определить роль покупателя и продавца. Когда я внедрил удостоверение Microsoft, во время процесса регистрации он запрашивал только адрес электронной почты и пароль - теперь одним из решений может быть выполнение некоторой настройки и добавление другого ввода, чтобы спросить пользователя, является ли пользователь покупателем или продавцом. Но теперь я начинаю думать, действительно ли мне нужны в моем проекте такие роли, как покупатель и продавец? Поскольку я новичок в ядре asp.net и обладаю ограниченными знаниями, мне нужен кто-то, кто сможет помочь принять это решение. Идея этого проекта заключается в том, что как вошедший в систему пользователь я должен иметь возможность публиковать еду, а другой пользователь может ее купить. Но обновлять еду может только владелец-пользователь.
Вы также можете предлагать любые изменения в других моделях. Заранее благодарим за помощь.

Подробнее здесь: https://stackoverflow.com/questions/792 ... re-web-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»