public int getPricePerHour(ShowParking sp) { int price = 0; var timeStart = sp.TimeIn.ToString("HH:mm"); DateTime st = Convert.ToDateTime(timeStart); DateTime startDt = new DateTime(sp.DateIn.Date.Year, sp.DateIn.Date.Month, sp.DateIn.Date.Day, st.Hour, st.Minute, st.Second); var timeEnd = sp.TimeOut.ToString("HH:mm"); DateTime et = Convert.ToDateTime(timeEnd); DateTime endtDt = new DateTime(sp.DateOut.Date.Year, sp.DateOut.Date.Month, sp.DateOut.Date.Day, et.Hour, et.Minute, et.Second); TimeSpan span = endtDt.Subtract(startDt); var hours = span.Hours; var days = span.Days; if (hours <= 2 && days == 0) { price = 2; } else if (days > 0) { price = hours + (days * 24); } else { price = hours; } return(price); }
// GET: Reservation public ActionResult ReserveParking(ShowParking sp) { //ShowParking sp = (ShowParking)ob; Reserve reserve = new Reserve(); reserve.ParkingId = sp.ParkingID; reserve.DateIn = sp.DateIn; reserve.DateOut = sp.DateOut; reserve.TimeIn = sp.TimeIn; reserve.TimeOut = sp.TimeOut; reserve.Asiel = sp.Asiel; reserve.LevelNumber = Convert.ToInt32(sp.Selectedlevel); reserve.BuildingNumber = Convert.ToInt32(sp.Selectedbuilding); reserve.amount = (float)sp.Price; try { ParkingManagement pm = new ParkingManagement(); reserve.ID = pm.addReservation(reserve); Session["reserve"] = reserve; BackgroundJob.Schedule(() => deleteRow(reserve.ID), TimeSpan.FromMinutes(10)); return(View("ReserveView", reserve)); } catch (Exception ex) { throw new Exception(ex.Message); } }
// GET: Parking/Edit/5 get the View of Parking menu public ActionResult Show() { connStr = ConfigurationManager.ConnectionStrings["ParkingManagementConnection"].ConnectionString; ShowParking showP = new ShowParking(); try { ParkingManagement p = new ParkingManagement(); p.updateExpiredParkingByDate(connStr); return(View("ShowParkings", showP)); } catch (Exception ex) { ViewBag.errorMessage = "Could Not Update Expired Parking " + ex.Message; return(View("ShowParkings", showP)); } }
public ActionResult ReserveParking(ShowParking sp, string parkingIdButton, List <Parking> parking) { sp.ParkingID = parkingIdButton; sp.ParkingList = (List <Parking>)Session["parkings"]; //get the selected Parking from Parking List if (sp.ParkingList != null) { for (int i = 0; i < sp.ParkingList.Count; i++) { if (sp.ParkingList[i].ParkingNumber == sp.ParkingID) { sp.Asiel = sp.ParkingList[i].Asiel; sp.Price = sp.ParkingList[i].Price; } } } Session["parkings"] = null; return(RedirectToAction("ReserveParking", "Reservation", new RouteValueDictionary(sp))); }
public List <string> getReservedList(ShowParking sp, List <ShowParking> lsp) { List <string> listOFID = new List <string>(); for (int i = 0; i < lsp.Count; i++) { if (sp.DateIn > lsp[i].DateOut & sp.DateIn < lsp[i].DateIn) { listOFID.Add(lsp[i].ParkingID); } else if (sp.DateIn == lsp[i].DateIn) { listOFID.Add(lsp[i].ParkingID); } else if (sp.DateOut > lsp[i].DateIn & sp.DateOut < lsp[i].DateOut) { listOFID.Add(lsp[i].ParkingID); } } return(listOFID); }
public ActionResult ShowController(ShowParking sp) { connStr = ConfigurationManager.ConnectionStrings["ParkingManagementConnection"].ConnectionString; try { ParkingManagement pm = new ParkingManagement(); List <Parking> parkingList = pm.getParkingList(connStr, sp); List <ShowParking> ListOfReservation = pm.getParkingFromReservation(connStr, sp); List <string> reservedId = getReservedList(sp, ListOfReservation); int price = getPricePerHour(sp); for (int i = 0; i < parkingList.Count; i++) { for (int j = 0; j < reservedId.Count; j++) { if (parkingList[i].ParkingNumber == reservedId[j]) { parkingList[i].ParkingNumber = null; } } parkingList[i].Price = price; } sp.ParkingList = parkingList; sp.ListOfAsiel = pm.getNumberOfAsiel(connStr, sp.Selectedbuilding, sp.Selectedlevel); sp.ListOfAsiel.Sort(); Session["parkings"] = parkingList; return(View("ShowParkings", sp)); } catch (Exception ex) { ViewBag.errorMessage = "Error occur while fetching parking from DataBase" + ex.Message; return(View("ShowParkings", sp)); } }