public async Task <IActionResult> Details(string plakod)
        {
            PlasiyerDetailViewModel plaDetailVM = new PlasiyerDetailViewModel()
            {
                Tblcariplasiyer = await _db.Tblcariplasiyer.Where(p => p.PlasiyerKodu == plakod).FirstOrDefaultAsync(),
                ApplicationUser = await _adb.ApplicationUser.Where(p => p.PlaKodu == plakod).FirstOrDefaultAsync()
            };

            ViewData["role"] = "";
            if (plaDetailVM.ApplicationUser != null)
            {
                var rolelist = await _userManager.GetRolesAsync(plaDetailVM.ApplicationUser);

                ViewData["role"] = rolelist.FirstOrDefault().ToString();
            }



            if (plaDetailVM.Tblcariplasiyer == null)
            {
                return(NotFound());
            }


            return(View(plaDetailVM));
        }
        public async Task <IActionResult> Edit(string plakod, ApplicationUser newuser)
        {
            var user = await _adb.ApplicationUser.Where(p => p.PlaKodu == plakod).FirstOrDefaultAsync();

            user.Name        = newuser.Name;
            user.Email       = newuser.Email;
            user.PhoneNumber = newuser.PhoneNumber;
            user.StockPermit = newuser.StockPermit;
            await _adb.SaveChangesAsync();

            PlasiyerDetailViewModel pladetailVMVM = new PlasiyerDetailViewModel()
            {
                Tblcariplasiyer = await _db.Tblcariplasiyer.Where(p => p.PlasiyerKodu == plakod).FirstOrDefaultAsync(),
                ApplicationUser = await _adb.ApplicationUser.Where(p => p.PlaKodu == plakod).FirstOrDefaultAsync()
            };

            return(View("Details", pladetailVMVM));
        }
        public async Task <IActionResult> Create(string plakod)
        {
            PlasiyerDetailViewModel plaDetailVM = new PlasiyerDetailViewModel()
            {
                Tblcariplasiyer = await _db.Tblcariplasiyer.Where(p => p.PlasiyerKodu == plakod).FirstOrDefaultAsync(),
                ApplicationUser = await _adb.ApplicationUser.Where(p => p.PlaKodu == plakod).FirstOrDefaultAsync()
            };



            if (plaDetailVM.Tblcariplasiyer == null)
            {
                return(NotFound());
            }


            return(View(plaDetailVM));
        }
        public async Task <IActionResult> Delete(string plakod)
        {
            ApplicationUser user = await _adb.ApplicationUser.Where(p => p.PlaKodu == plakod).FirstOrDefaultAsync();

            if (user == null)
            {
                return(View());
            }

            user.LockoutEnd = DateTime.Now.AddYears(50);
            await _adb.SaveChangesAsync();

            PlasiyerDetailViewModel pladetailVMVM = new PlasiyerDetailViewModel()
            {
                Tblcariplasiyer = await _db.Tblcariplasiyer.Where(p => p.PlasiyerKodu == plakod).FirstOrDefaultAsync(),
                ApplicationUser = await _adb.ApplicationUser.Where(p => p.PlaKodu == plakod).FirstOrDefaultAsync()
            };

            return(View("Details", pladetailVMVM));
        }
        public async Task <IActionResult> Create(PlasiyerDetailViewModel plaDetailVM)
        {
            string plakod = plaDetailVM.Input.PlaKodu;
            var    user   = new ApplicationUser {
                UserName = plaDetailVM.Input.UserName, Email = plaDetailVM.Input.Email, Name = plaDetailVM.Input.Name, PhoneNumber = plaDetailVM.Input.PhoneNumber, StockPermit = plaDetailVM.Input.StockPermit, DateCreated = DateTime.Now, PlaKodu = plakod
            };

            var result = await _userManager.CreateAsync(user, plaDetailVM.Input.Password);

            if (result.Succeeded)
            {
                if (!await _roleManager.RoleExistsAsync(SD.Plasiyer))
                {
                    await _roleManager.CreateAsync(new IdentityRole(SD.Plasiyer));
                }

                await _userManager.AddToRoleAsync(user, SD.Plasiyer);

                await _userManager.AddClaimAsync(user, new Claim("plakod", plaDetailVM.Input.PlaKodu));

                _logger.LogInformation("User created a new account with password.");

                var userlogin = new UserLog()
                {
                    UserName = plaDetailVM.Input.UserName,
                    Log1     = 0,
                    Log2     = 0,
                    Log3     = 0,
                    Log4     = 0,
                    Log5     = 0,
                    Log6     = 0,
                    Log7     = 0,
                    Log8     = 0,
                    Log9     = 0,
                    Log10    = 0,
                    Log11    = 0,
                    Log12    = 0,
                };

                await _adb.UserLog.AddAsync(userlogin);

                await _adb.SaveChangesAsync();


                PlasiyerDetailViewModel pladetailVMVM = new PlasiyerDetailViewModel()
                {
                    Tblcariplasiyer = await _db.Tblcariplasiyer.Where(p => p.PlasiyerKodu == plakod).FirstOrDefaultAsync(),
                    ApplicationUser = await _adb.ApplicationUser.Where(p => p.PlaKodu == plakod).FirstOrDefaultAsync()
                };

                return(View("Details", pladetailVMVM));
            }

            ModelState.AddModelError(string.Empty, "'" + plaDetailVM.Input.UserName + "' Kullanıcı Adı kullanılıyor");

            plaDetailVM.Tblcariplasiyer = await _db.Tblcariplasiyer.Where(p => p.PlasiyerKodu == plakod).FirstOrDefaultAsync();

            plaDetailVM.ApplicationUser = await _adb.ApplicationUser.Where(p => p.PlaKodu == plakod).FirstOrDefaultAsync();

            return(View("Create", plaDetailVM));
        }