ASP.NET MVC 5 - Rejestracja

0

Witam,

Rozpoczynam przygodę z ASP.NET MVC 5. Napotkałem na problem dotyczący rejestracji nowego użytkownika. Ma on być dodawany przez administratora. Chciałbym dodawać do tabeli "pracownik" dane pracownika Imię, Nazwisko, Telefon oraz właśnie te dane Email, hasło które posłużą do logowania. Czy jest ktoś w stanie wytłumaczyć jak połączyć to z Identity tak aby później można było korzystać z ról. W tutorialach, które znalazłem najczęsciej wykorzystywany jest w sklep internetowy gdzie rejestracji dokonuje klient a później uzupełnia dane przy realizacji zamówienia. Aplikacja tworzona metodą Code First. Szukam osoby, która chciałaby zagłębić się w temat i spróbować pomóc :)

0

Tutaj masz przykład z mojej aplikacji przerobionej tak, żeby użytkownikami zarządzał administrator (bez rejestracji via e-mail):
https://github.com/bartekkois/AutomatedInvoiceGenerator/blob/master/src/AutomatedInvoiceGenerator/Controllers/ManageController.cs
Nie jest ona ukończona, ale samo zarządzanie użytkownikami działa. W szczególności powinny cię interesować linijki 128 i 152, gdzie masz dodawanie użytkowników.

0

Ok, super dzięki za pomoc, mam jeszcze pytanko bo dotarłem do miejsca gdzie dodałem sobie do tabeli AspnetUsers jeszcze kilka własnych pól i chciałem powiązać tą tabele z własnymi tabelami Department i ProjectManager tak, aby przy dodawaniu użytkownika jeszcze wybrać z listy dane z tych dwóch tabel. Poniżej wrzuce jak wygląda u mnie kod(wiem, że pewnie nie jest idealnie lub tak się nie robi).

IdentityModels.cs

public class ApplicationUser : IdentityUser
    {
       
        public int DepartmentID { get; set; }
        public Nullable<int> ProjectManagerID { get; set; }
        public string Name { get; set; }
        public string Surname { get; set; }
       
        public string Phone { get; set; }
        
        public virtual ProjectManager ProjectManager { get; set; }
        public virtual Department Department { get; set; }

Controller.cs tutaj jak dodam do ApplicationUser jeszcze dwa pola DepartmentID i ProjectManager to zwraca błąd żeby dać SelectList lecz nie dokońca wiem jak powinno wyglądać wywołanie

public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser { UserName = model.Email, Email = model.Email, Name = model.Name, Surname = model.Surname, Phone = model.Surname};
                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
return RedirectToAction("Index", "Home");
                }
       

Department.cs



 public class Department
    {
       public int DepartmentID {get; set; } 
       public string DepartmentName { get; set; }

       public virtual ICollection<ApplicationUser> ApplicationUsers { get; set; }
    }
0

O ile dobrze rozumiem to musisz stworzyć obiekt SelectList, który zawiera wszystkie opcje wyboru i odpowiadające im id i przekazać go w modelu do widoku. Trochę tak jak tu:
https://stackoverflow.com/questions/20242981/asp-net-mvc-dropdown-list-from-selectlist?answertab=active#tab-top

1 użytkowników online, w tym zalogowanych: 0, gości: 1