Je travaille actuellement sur un projet MVC qui nécessite CRUD pour un consultant et un client (2 tables séparées). Au début, nous venons de créer CRUD pour ces utilisateurs et de réaliser maintenant que nous devons ajouter une inscription et à l'identification fonction de cela, est-il possible d'appeler le AccountController intégré avec le contrôleur existant que nous avons généré?comment intégrer AccountController (enregistrement) dans CRUD avec MVC
Ou est-il un moyen d'appeler deux ou plusieurs modèles dans un seul contrôleur ou vue?
Modèle client
public class Client:ApplicationUser
{
[Key]
[Required]
public int Id { get; set; }
[Required]
[Display(Name = "Client Name")]
public string ClientName { get; set; }
[Required]
[Display(Name = "Client Address")]
public string ClientAddress { get; set; }
[Required]
[Display(Name = "Contact Number")]
public long ContactNumber { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[Display(Name = "Project Leader")]
public string ProjectLeader { get; set; }
public virtual ManageTravel ManageTravel { get; set; }
[Display(Name = "Rate")]
public double Rate { get; set; }
[Display(Name = "Distance")]
public string Distance { get; set; }
[Display(Name = "Rate")]
[Required]
public string TravelCode { get; set; }
Consultant modèle
public class Consultant:ApplicationUser
{
[Key]
public int ConsultantNum { get; set; }
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Required]
[Display(Name = "Contact Number")]
public int ContactNumber { get; set; }
[Required]
[Display(Name = "Consultant Address")]
public string ConsultantAddress { get; set; }
[Required]
[Display(Name = "Email")]
[EmailAddress]
public string Email { get; set; }
[Required]
[Display(Name = "Consultant Type")]
public string ConsultantType { get; set; }
[Required]
[Display(Name = "Commission Code")]
public string ComissionCode { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Required]
[Display(Name = "Role Type")]
public string RoleType { get; set; }
}
AccountController
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
// This code has been added to the action for email confirmation
var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var callbackUrl = Url.Action(
"ConfirmEmail",
"Account",
new { userId = user.Id, code = code },
protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(
user.Id,
"Confirm your account",
"Please confirm your account by clicking this link: <a href=\""
+ callbackUrl + "\">link</a>");
ViewBag.Link = callbackUrl;
return View("DisplayEmail"); // DisplayEmail View has been created
}
AddErrors(result);
//end of email confirmation code
}
// If we got this far, something failed, redisplay form
return View(model);
}
Nous vous remercions de la solution, j'ai quelques questions, en espérant que vous pouvez aider. –
Merci pour la solution, j'ai quelques questions, en espérant que vous pouvez aider.Dans le JoinViewModel, est-ce que je remplis les champs qui sont identiques dans mes modèles clietn et consultant? Comment afficher ce processus de registre dans une vue? –
Ok, je vais vous aider à modifier la démo et je vais le commenter ici, mais si je comprends votre point de vue, vous posez des questions sur le registre voir ce que ce serait! et s'il vous plaît si la réponse était utile marquez-le comme une réponse @ShriyaBramdeo – AlameerAshraf