public async Task <IActionResult> ConfirmClient(int id) { if (id == 0) { return(RedirectToAction(nameof(ShowClients))); } else { if (int.Parse(TempData["clientsnum"].ToString()) < int.Parse(TempData["roomcap"].ToString())) { var clients = (from c in _context.Clients where c.Id == id select c).ToList(); if (clients.Count > 0) { string clientIds; try { clientIds = TempData["clientids"].ToString(); } catch (Exception) { clientIds = ""; } clientIds += (clients[0].Id.ToString() + " "); TempData["clientsnum"] = int.Parse(TempData["clientsnum"].ToString()) + 1; //HttpContext.Items["clientIds"] = clientIds; TempData["clientids"] = clientIds; // CurrentReservation.Clients.Add(clients[0]); return(RedirectToAction(nameof(ShowClients))); } //return RedirectToAction(nameof(ShowClients)); } // Reservation res = CurrentReservation.GetReservation(); Reservation res = new Reservation(); res.StartDate = DateTime.Parse(TempData["startdate"].ToString()); res.EndDate = DateTime.Parse(TempData["enddate"].ToString()); res.IsAllInclusive = bool.Parse(TempData["allink"].ToString()); res.IsAllInclusive = bool.Parse(TempData["breakfast"].ToString()); // string a = TempData["clientids"].ToString(); res.Reserver = CurrentReservation.GetReserver(int.Parse(TempData["userId"].ToString()), _context); res.Room = CurrentReservation.GetRoom(int.Parse(TempData["roomid"].ToString()), _context); res.Clients = CurrentReservation.GetClients(TempData["clientids"].ToString().Substring(1), _context); res.Price = CurrentReservation.CalkPrice(res); try { SecurityChecker.CheckReservation(res); } catch (Exception) { return(RedirectToAction(nameof(Create))); } _context.Add(res); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } }