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"));
        }