public async Task <IActionResult> SelectServices(BookingModel model, int[] serviceIds) { if (model.EmployeeId == null || string.IsNullOrEmpty(model.SelectedDay) || string.IsNullOrEmpty(model.SelectedTime)) { TempData.Put("message", new AlertType() { Title = "Hata", Message = "Kuaför ve rezervasyon zamanı boş olamaz!", Alert = "warning" } ); return(View(model)); } if (serviceIds.Length == 0) { TempData.Put("message", new AlertType() { Title = "Hata", Message = "İşlem seçmelisiniz!", Alert = "warning" } ); return(View(model)); } var selectedDay = Convert.ToDateTime(model.SelectedDay); var selectedTime = DateTime.ParseExact(model.SelectedTime, "HH:mm", CultureInfo.InvariantCulture); var barber = await _userManager.FindByIdAsync(model.EmployeeId); var serviceNames = new List <string>(); var servicePrices = new List <double>(); foreach (var id in serviceIds) { var service = _serviceService.GetById(id); serviceNames.Add(service.name); servicePrices.Add(service.price); } var bookingInfoModel = new BookingInfoModel() { CustomerId = model.CustomerId, EmployeeId = model.EmployeeId, date = selectedDay.AddHours(selectedTime.Hour).AddMinutes(selectedTime.Minute), ServiceIds = serviceIds, barberName = barber.FirstName + " " + barber.LastName, barberImageUrl = barber.ImageUrl, serviceNames = serviceNames, servicePrices = servicePrices }; return(View("CreateBooking", bookingInfoModel)); }
public IActionResult CreateBooking(BookingInfoModel model) { if (string.IsNullOrEmpty(model.CustomerId)) { model.CustomerId = _userManager.GetUserId(User); } var booking = new Booking() { EmployeeId = model.EmployeeId, date = model.date, CustomerId = model.CustomerId, creatingDate = DateTime.Now, totalPrice = model.TotalPrice }; try { if (_bookingService.CreateBooking(booking)) { _bookingService.Create(booking, model.ServiceIds); TempData.Put("message", new AlertType() { Title = "Rezervasyonunuz başarılı bir şekilde oluşturuldu", Message = "Randevu saatinizde lütfen salonumuzda olun. Olamayacaksanız rezervasyonunuzu iptal etmeyi unutmayın", Alert = "success" } ); } else { TempData.Put("message", new AlertType() { Title = "Bir hata oluştu!!", Message = "Rezervasyonunuz oluşturulurken bir hata ile karşılaşıldı.Lütfen tekrar deneyin", Alert = "danger" } ); } } catch (System.Exception) { TempData.Put("message", new AlertType() { Title = "Veritabanı hatası!", Message = "Rezervasyonunuz oluşturulurken bir hata ile karşılaşıldı.Lütfen tekrar deneyin", Alert = "danger" } ); } return(View("Message")); }