public async Task <ActionResult> Create(int gearId)
        {
            try
            {
                var user = await GetCurrentUserAsync();

                var request = new SharedGear()
                {
                    ApplicationuserId = user.Id,
                    GearId            = gearId,
                    RequestMessage    = null,
                    AcceptedRequest   = false
                };

                var requestedGear = await _context.Gears
                                    .Include(g => g.ApplicationUser)
                                    .FirstOrDefaultAsync(g => g.Id == gearId);

                _context.SharedGears.Add(request);
                await _context.SaveChangesAsync();

                var sharedGear = await _context.SharedGears.FirstOrDefaultAsync(g => g.GearId == gearId && g.ApplicationuserId == user.Id && g.RequestMessage == null);

                TempData["requestCreated"] = "Your Request has been sent.";
                TempData["gearId"]         = sharedGear.Id;
                return(RedirectToAction("Index", "SharedGears", new { searchString = requestedGear.ApplicationUser.Email }));
            }
            catch
            {
                return(View());
            }
        }
        public async Task <ActionResult> Edit(int id, SharedGear sharedGear)
        {
            try
            {
                _context.Update(sharedGear);
                await _context.SaveChangesAsync();

                TempData["messageSent"] = "Your message has been sent.";
                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }