public IActionResult Get(int id) { SlotReservationViewModel model = new SlotReservationViewModel(); List <SlotReservationViewModel> listmodel = new List <SlotReservationViewModel>(); if (id == null) { return(NotFound()); } var reservationList = _context.slotReservations .Include(p => p.slot) .Where(p => p.slot.SlotId == id); foreach (var reservation in reservationList) { model.SlotId = reservation.slot.SlotId; model.CustomerName = reservation.CustomerName; model.CustomerEmail = reservation.CustomerEmail; model.CustomerPhoneNo = reservation.CustomerPhoneNo; model.CarNo = reservation.CarNo; model.SlotNo = reservation.slot.No; model.ReservationTime = reservation.ReservationTime; model.ReservationEndTime = reservation.ReservationEndTime; model.ReservationId = reservation.SlotReservationId; listmodel.Add(model); } return(new OkObjectResult(listmodel)); }
public async Task <IActionResult> Post(SlotReservationViewModel model) { if (!ModelState.IsValid) { return(BadRequest()); } var slot = _context.slots.FirstOrDefault(p => p.SlotId == model.SlotId); var slotmodel = new SlotReservation() { slot = slot, ReservationTime = DateTime.Now, CustomerEmail = model.CustomerEmail, CustomerName = model.CustomerName, CustomerPhoneNo = model.CustomerPhoneNo, CarNo = model.CarNo }; slot.Reserved = true; _context.Update(slot); _context.Add(slotmodel); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <ActionResult <SlotReservation> > PostSlotReservation([FromForm] SlotReservationViewModel model) { if (model == null) { return(NotFound()); } var Searchslot = _context.slots.FirstOrDefault(p => p.SlotId == model.Id); var Slotreservation = new SlotReservation() { CustomerName = model.Name, CustomerPhoneNo = model.Phone, CarNo = model.No, CarType = model.Type, slot = Searchslot, ReservationTime = DateTime.Now, CustomerEmail = model.Email, City = model.City, ZIpCode = model.ZipCode, }; var result = _context.Add(Slotreservation); if (result != null) { _context.SaveChanges(); Searchslot.Reserved = true; _context.Update(Searchslot); if (_context.SaveChanges() > 0) { var res = _context.slotReservations. Include(p => p.slot) .FirstOrDefault(p => p.CustomerEmail == model.Email && p.CustomerPhoneNo == model.Phone); var payement = new Payment() { PaymentMethod = "Debit card", Amount = res.HoursInNumner * res.slot.RsPerHours, slotReservation = res, dateTime = DateTime.Now }; _context.Add(payement); if (_context.SaveChanges() > 0) { res.SuccessfulPayment = true; _context.Update(res); _context.SaveChanges(); } await _emailSender.SendEmailAsync(model.Email, $"(From Parkit.Com)", $"[{model.Name}] Your Reservation Completed Successfuly for Slot:: {Searchslot.No} ...For {model.NoOfHours} hourse ... Now Proccessed further with Payment"); await _smsSender.SendSmsAsync(model.Phone, $"(From Parkit.Com)" + $"[{model.Name}] Your Reservation Completed Successfuly for Slot:: {Searchslot.No} ...For {model.NoOfHours} hourse ... Now Proccessed further with Payment"); } } return(Ok()); }