Как использовать расширенные модели для ApplicationUser в ядре Asp.Net 2.1 со страницы управления профилем? - PullRequest
0 голосов
/ 04 июня 2019

У меня есть класс 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
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...