public BookingSavedStatus Save(VehichleDataDb data) { DateTime dateTime = System.DateTime.Now; string query = String.Format(INSERT_FULL_FORM_DATA, data.VehichleNumber, data.VehichleWeight, data.VehichleType, data.ParkingLotId, data.CustomerFullName, data.ContactNumber, dateTime.ToString("yyyy-MM-dd HH:MM")); BookingSavedStatus bookingSavedStatus = new BookingSavedStatus(); try { ExecuteQuerry(query); bookingSavedStatus.IsSaved = true; } catch (Exception ex) { _logger.WriteLogs(string.Format(_logPath + "{0}\\PerchedPeackockLogs.txt", Environment.UserName), ex.Message); bookingSavedStatus.IsSaved = false; return(bookingSavedStatus); } ParkingReceipt parkingReceipt = PrepareParkingReceipt(new string[] { data.VehichleNumber, data.entryDateTime }); bookingSavedStatus.ParkingReceipt = parkingReceipt; return(bookingSavedStatus); }
private ParkingReceipt PrepareParkingReceipt(string[] whereClause) { ParkingReceipt parkingReceipt = new ParkingReceipt(); string query = string.Format(GET_PARKING_DETAILS_BY_VEHICHLE_NUMBER_AND_DATE, whereClause[0]); using (SQLiteConnection connection = new SQLiteConnection(_connectionString)) { connection.Open(); using (SQLiteCommand command = connection.CreateCommand()) { command.CommandText = query; SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) { parkingReceipt.Name = reader["customerName"].ToString(); parkingReceipt.ParkingId = reader["parkingId"].ToString(); parkingReceipt.ParkingLotId = reader["parkingLotId"].ToString(); parkingReceipt.EntryDateTime = reader["entryDateTime"].ToString(); parkingReceipt.VehichleNumber = reader["VehichleNumber"].ToString(); } connection.Close(); } } return(parkingReceipt); }
public Invoice Checkout(ParkingReceipt parkingReceipt) { DateTime currentTime = _timeService.GetCurrentTime(); TimeSpan totalTimeParked = currentTime - parkingReceipt.TimeParked; decimal amountToPay = _priceCalculator.Calculate(totalTimeParked); return new Invoice {HoursParked = totalTimeParked.Hours, MinutesParked = totalTimeParked.Minutes, TotalAmount = amountToPay}; }
public IParkingReceipt GenerateParkingCharge(DateTime entry, DateTime exit) { var receipt = new ParkingReceipt { ParkingName = "No Charge", ParkingPrice = 0, Erred = true, RateType = RateType.NONE }; if (entry >= exit) { return(receipt); } return(_IParkingRateHandlersSetting.Set.GetParkingCharges(entry, exit)); }