public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");

            if (ModelState.IsValid)
            {
                // This doesn't count login failures towards account lockout
                // To enable password failures to trigger account lockout, set lockoutOnFailure: true
                var result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure : false);

                if (result.Succeeded)
                {
                    LabDay labDay = _context.LabDay.FirstOrDefault(a => a.date.Equals(DateTime.Now.Date));

                    if (labDay == null)
                    {
                        //return NotFound();
                        var labday = new LabDay();
                        labday.date        = DateTime.Now;
                        labday.openingTime = DateTime.Now.TimeOfDay;
                        var createLabday = _context.LabDay.Add(labday);
                        await _context.SaveChangesAsync();
                    }
                    _logger.LogInformation("User logged in.");
                    //return LocalRedirect(returnUrl);
                    //switch(User.Claims.FirstOrDefault(c => c.Type == "Role")?.Value)
                    //{
                    //    case "Assistant": RedirectToAction("assistantHome", "Home");
                    //        break;
                    //}
                    return(RedirectToAction("HomePage1", "Home"));
                }
                if (result.RequiresTwoFactor)
                {
                    return(RedirectToPage("./LoginWith2fa", new { ReturnUrl = returnUrl, RememberMe = Input.RememberMe }));
                }
                if (result.IsLockedOut)
                {
                    _logger.LogWarning("User account locked out.");
                    return(RedirectToPage("./Lockout"));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                    return(Page());
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
        public async Task <IActionResult> Create([Bind("ID,Title,Superv,Date,Desc")] Experiment experiment)
        {
            if (ModelState.IsValid)
            {
                var user = await _userManager.GetUserAsync(HttpContext.User);

                //experiment.User = user;
                experiment.UserId = user.Id;
                //var currentUMUser = await UserManager.FindByIdAsync(User.Identity.GetUserId());
                //var user = await _userManager.GetUserAsync(HttpContext.User);
                LabDay labDay = _context.LabDay.FirstOrDefault(a => a.date.Equals(DateTime.Now.Date));
                //experiment.LabDay = labDay;
                experiment.LabDayId = labDay.ID;

                //experiment.User=
                //experiment.UserId=

                /* _context.Add(experiment);
                 * await _context.SaveChangesAsync();*/
                // experiment.Items = new ICollection<Item>;
                IList <Item> items = _context.Item.Where(a => a.inUse == false).ToList();
                //ViewBag.Items = items;
                TempData["items"]      = JsonConvert.SerializeObject(items);
                TempData["experiment"] = JsonConvert.SerializeObject(experiment);
                TempData.Keep();



                return(RedirectToAction(nameof(ReserveItems)));

                //  return RedirectToAction(nameof(Index));
            }

            /*ViewData["LabDayId"] = new SelectList(_context.Set<LabDay>(), "ID", "ID", experiment.LabDayId);
             * ViewData["UserId"] = new SelectList(_context.Users, "Id", "Id", experiment.UserId);
             * ViewData["projectId"] = new SelectList(_context.Set<Project>(), "ID", "fundAmount", experiment.projectId);*/
            return(View(experiment));
        }