public bool limitTest(SoloReservation res) { int limit = SqlMethods.QueryLimit(); TempData["limit"] = limit; var applicationDbContext = _context.SoloReservations; int i = 0; foreach (SoloReservation solo in applicationDbContext) { if (solo.Date == res.Date && solo.TimeSlot == res.TimeSlot) { i++; System.Diagnostics.Debug.WriteLine(i); } } System.Diagnostics.Debug.WriteLine(i); if (i < limit) { return(false); } return(true); }
public async Task <IActionResult> Edit(int id, [Bind("IdSoloReservation,Name,Date,TimeSlot,Reason,Seat")] SoloReservation soloReservation) { if (id != soloReservation.IdSoloReservation) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(soloReservation); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SoloReservationExists(soloReservation.IdSoloReservation)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } //ViewData["Seat"] = new SelectList(_context.Seats, "Seat", "Seat", soloReservation.Seat); return(View(soloReservation)); }
public IActionResult DeleteSolo(int id, string type) { System.Diagnostics.Debug.WriteLine("deleteSolo : [" + id + "] [" + type + "]"); SqlConnection conn = new SqlConnection(connectionString); string sql = "SELECT * FROM SoloReservations WHERE IdSoloReservation = " + id; SqlCommand cmd = new SqlCommand(sql, conn); var model = new SoloReservation(); conn.Open(); using (conn) { SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var soloRes = new SoloReservation(); soloRes.IdSoloReservation = (int)rdr["IdSoloReservation"]; soloRes.Name = (string)rdr["Name"]; soloRes.Date = (DateTime)rdr["Date"]; soloRes.TimeSlot = (string)rdr["TimeSlot"]; soloRes.Reason = (string)rdr["Reason"]; soloRes.Seat = (string)rdr["Seat"]; model = soloRes; } } conn.Close(); return(View(model)); }
// Details of solo or group model public IActionResult DetailsSolo(int id) { SqlConnection conn = new SqlConnection(connectionString); string sql = "SELECT * FROM SoloReservations WHERE IdSoloReservation = " + id; SqlCommand cmd = new SqlCommand(sql, conn); var model = new SoloReservation(); conn.Open(); using (conn) { SqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var soloRes = new SoloReservation(); soloRes.IdSoloReservation = (int)rdr["IdSoloReservation"]; soloRes.Name = (string)rdr["Name"]; soloRes.Date = (DateTime)rdr["Date"]; soloRes.TimeSlot = (string)rdr["TimeSlot"]; soloRes.Reason = (string)rdr["Reason"]; soloRes.Seat = (string)rdr["Seat"]; model = soloRes; } } conn.Close(); return(View(model)); }
public async Task <IActionResult> Create([Bind("IdSoloReservation,Name,TimeSlot,Reason,Seat")] SoloReservation soloReservation, bool entireWeek, IEnumerable <int> days, int selectedWeek) { int year = DateTime.Now.Year; DateTime firstDay = new DateTime(year, 1, 1); firstDay = correctToMonday(firstDay); firstDay = firstDay.AddDays(7 * (selectedWeek - 1)); soloReservation.Date = firstDay; System.Diagnostics.Debug.WriteLine("entireweek = " + entireWeek.ToString()); //modelstate is not valid when trying to set multiple dates if (ModelState.IsValid || !ModelState.IsValid) { System.Diagnostics.Debug.WriteLine($"testbox = {entireWeek}"); //reserve whole week automatic if (entireWeek == true) { for (int x = 0; x < 7; x++) { if (soloReservation.Date >= DateTime.Today) { _context.Add(soloReservation); await _context.SaveChangesAsync(); System.Diagnostics.Debug.WriteLine($"added {x}"); } soloReservation.Date = soloReservation.Date.AddDays(1); soloReservation.IdSoloReservation = 0; } return(RedirectToAction(nameof(Index))); } //reserve chosen days else { foreach (int day in days) { soloReservation.Date = soloReservation.Date.AddDays(day); if (soloReservation.Date >= DateTime.Today) { _context.Add(soloReservation); await _context.SaveChangesAsync(); System.Diagnostics.Debug.WriteLine($"added {day}"); } soloReservation.Date = firstDay; soloReservation.IdSoloReservation = 0; } return(RedirectToAction(nameof(Index))); } } //ViewData["Seat"] = new SelectList(_context.Seats, "Seat", "Seat", soloReservation.Seat); return(View(soloReservation)); }
public IActionResult Create([Bind] SoloReservation SoloReservationEntities) { try { if (ModelState.IsValid) { string resp = SolResdb.AddSoloReservationRecord(SoloReservationEntities); TempData["msg"] = resp; } } catch (Exception ex) { TempData["msg"] = ex.Message; } return(View()); }
public async Task <IActionResult> EditSolo(int id, [Bind("IdSoloReservation,Name,Date,TimeSlot,Reason,TableId")] SoloReservation soloReservation) { if (id != soloReservation.IdSoloReservation) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(soloReservation); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { return(NotFound()); } return(RedirectToAction(nameof(Index))); } return(View(soloReservation)); }
public IActionResult Overview() { var id = _userManger.GetUserId(HttpContext.User); // Sql connection SqlConnection conn = new SqlConnection(connectionString); string sql = "SELECT * FROM SoloReservations Where Date <= CURRENT_TIMESTAMP + 7 and Date >= CURRENT_TIMESTAMP ORDER BY Date ASC"; string sql2 = "SELECT * FROM Groupreservations Where Date <= CURRENT_TIMESTAMP + 7 and Date >= CURRENT_TIMESTAMP ORDER BY Date ASC"; string sql3 = $"SELECT t.TeamName, COUNT(tm.UserId) AS count FROM Teams t LEFT JOIN TeamMembers tm ON t.TeamName = tm.TeamName WHERE t.teamname IN(SELECT DISTINCT teamname from teammembers WHERE userid = N'{id}') GROUP BY t.TeamName;"; string[] sqls = new string[3] { sql, sql2, sql3 }; var solo = new List <SoloReservation>(); var group = new List <GroupReservation>(); var mygroups = new List <string>(); var myGroupRes = new List <GroupReservation>(); conn.Open(); using (conn) { //read all reservations and add them to tuple<solo,group> for (int x = 0; x < 3; x++) { SqlCommand cmd = new SqlCommand(sqls[x], conn); SqlDataReader rdr = cmd.ExecuteReader(); if (x == 0) { while (rdr.Read()) { var res = new SoloReservation(); res.IdSoloReservation = (int)rdr["IdSoloReservation"]; res.Name = (string)rdr["Name"]; res.Date = (DateTime)rdr["Date"]; res.TimeSlot = (string)rdr["TimeSlot"]; res.Reason = (string)rdr["Reason"]; res.Seat = (string)rdr["Seat"]; solo.Add(res); } } else if (x == 1) { while (rdr.Read()) { var res = new GroupReservation(); res.IdGroupReservation = (int)rdr["IdGroupReservation"]; res.Teamname = (string)rdr["Teamname"]; res.Name = (string)rdr["Name"]; res.Date = (DateTime)rdr["Date"]; res.TimeSlot = (string)rdr["TimeSlot"]; res.Reason = (string)rdr["Reason"]; res.Seat = (string)rdr["Seat"]; group.Add(res); } } else if (x == 2) { while (rdr.Read()) { string TeamName = (string)rdr["TeamName"]; mygroups.Add(TeamName); } } } } conn.Close(); foreach (GroupReservation res in group) { if (mygroups.Contains(res.Teamname)) { myGroupRes.Add(res); } } var model = new DashboardViewModel() { soloList = solo, groupList = group, mygroupList = myGroupRes }; return(View(model)); }
public IActionResult Reservations() { // Sql connection SqlConnection conn = new SqlConnection(connectionString); string sql = "SELECT * FROM SoloReservations ORDER BY Date ASC"; string sql2 = "SELECT * FROM GroupReservations ORDER BY Date ASC"; string[] sqls = new string[2] { sql, sql2 }; var solo = new List <SoloReservation>(); var group = new List <GroupReservation>(); conn.Open(); using (conn) { //read all reservations and add them to tuple<solo,group> for (int x = 0; x < 2; x++) { SqlCommand cmd = new SqlCommand(sqls[x], conn); SqlDataReader rdr = cmd.ExecuteReader(); if (x == 0) { while (rdr.Read()) { var res = new SoloReservation(); res.IdSoloReservation = (int)rdr["IdSoloReservation"]; res.Name = (string)rdr["Name"]; res.Date = (DateTime)rdr["Date"]; res.TimeSlot = (string)rdr["TimeSlot"]; res.Reason = (string)rdr["Reason"]; res.Seat = (string)rdr["Seat"]; solo.Add(res); } } else if (x == 1) { while (rdr.Read()) { var res = new GroupReservation(); res.IdGroupReservation = (int)rdr["IdGroupReservation"]; res.Teamname = (string)rdr["Teamname"]; res.Name = (string)rdr["Name"]; res.Date = (DateTime)rdr["Date"]; res.TimeSlot = (string)rdr["TimeSlot"]; res.Reason = (string)rdr["Reason"]; res.Seat = (string)rdr["Seat"]; group.Add(res); } } } } conn.Close(); var model = new ReservationsViewModel() { soloList = solo, groupList = group }; return(View(model)); }