У меня есть класс Customer и класс Employee, они берутся из ApplicationUser, который имеет общие свойства. Я не знаю, как реализовать Customer и Employee из Identity / Pages / Account / Manage / Index. Поскольку я использую только одну модель (InputModel). Я получил операторы, отображающие формы клиентов или формы сотрудников в представлении, но когда клиент обновляет свои данные, проверка сотрудников запускается и наоборот, поскольку все мои свойства находятся во InputModel.
Модель
public class InputModel
{
public string CustomerUserId { get; set; }
public string EmployeeId { get; set; }
//ApplicationUser
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
//CustomerUser
[Required]
public string InvoiceMethod { get; set; }
//Employee
[Required]
public string SsnTaxId { get; set; }
}
код
if (user.Employee != null && user.Employee.EmployeeId != null)
{
Input = new InputModel
{
EmployeeId = user.Employee.EmployeeId,
Email = email,
};
}
else if (user.Employee != null && user.Employee.EmployeeId != null)
{
Input = new InputModel
{
EmployeeId = user.Employee.EmployeeId,
SSnTaxId= user.Employee.SsnTaxId,
};
}
else if (user.Customer!= null && user.Customer.CustomerUserId!= null)
{
Input = new InputModel
{
CustomerUserId = user.Customer.CustomerUserId,
InvoiceMethod= user.Customer.InvoiceMethod,
};
}
View
//ApplictionUser properties
@if (Model.Input != null && Model.Input.CustomerUserId != null)
{
<input asp-for="Input.InvoiceMethod" class="form-control" type="text" />
// display Customer Properties
}
@if (Model.Input != null && Model.Input.EmployeeId != null)
{
<input asp-for="Input.SsnTaxId" class="form-control" type="text" />
//display employee properties
}