• 19-06-2021, 22:01:42
    #1
    Kurumsal Üye
    Merhabalar ,

    Oda randevu mantığında bir projede kod yazıyorum.
    A odasını 01.01.2020 - 05.01.2020 arasında tutuyorum mesela ( Date/Tarih olarak tutuyorum veriyi )
    Başka birisinin bu odayı sipariş verirken bu aralıkta sipariş verememesini nasıl sağlayabiliriz? Biraz zor geldi mantık olarak
  • 19-06-2021, 22:04:25
    #2
    yeni sipariş oluşturmadan önce , yeni siparişin tarih aralıklarını db'den sorgularsın yoksa randevuyu oluşturursun varsa uyarı verirsin
  • 19-06-2021, 22:06:10
    #3
    Kurumsal Üye
    Zeta adlı üyeden alıntı: mesajı görüntüle
    yeni sipariş oluşturmadan önce , yeni siparişin tarih aralıklarını db'den sorgularsın yoksa randevuyu oluşturursun varsa uyarı verirsin
    Şunda zorlandım aslında , 01.05-01.07 arasında 2aylık bi randevu varsa diğer kişide 01.05-01.05 direkt 1günlük vermeye çalışıyorsa bunu yapamadım.

    Tam olarak nasıl bir sorgu ile sorgulamam lazım hocam bunu? Sadece basit bir şekilde yazabilme şansınız var mı
  • 19-06-2021, 22:13:00
    #4
    şimdi şöyle bir düşünecek olursak mevcutta kayıtlarda müşteri a odası için bir giriş tarihi vardir birde çıkış tarihi. Sorgulama yaparken mantıken müşterinin giriş tarihi bizi ilgilendirmez bizi asıl ilgilendiren kısım müşterinin çıkış yapacağı tarih. Bu yüzden eğer giriş ve çıkış saatlerini ortak tutuyorsan öncelikle onları ayır. Ardından a odası için mevcuttaki müşterinin çıkış tarihi ile yeni kayıt oluşturmaya çalışan müşterinin giriş tarihini alacaksın.
    Örn : A Odası (giriş 01.05.2021) (çıkış 01.07.2021)
    Yeni Kayıt : A Odası (giriş 01.05.2021) (çıkış 01.05.2021)
    - Burada karşılaştırma yapılacak kısım A odasının mevcuttaki çıkış tarihi ile yeni kayıt'ın giriş tarihi.
    if(ÇıkışTarihi > YeniKayitGirişTarihi)
    -ODA DOLU
    else
    --ODA BOŞ
    gibi gibi bunun gibi birçok değişik varyasyonla yapılabilir, projeyi tam bilmediğim için ilk aklıma bu şekil geldi
  • 20-06-2021, 08:13:28
    #5
    Giriş tarihini 2021-05-01 14:00:00 olarak kaydedip çıkış tarihini 2021-07-01 12:00:00 olarak kaydedip giriş saati herzaman 14:00 çıkış saati herzaman 12:00 kabul edersen SQL için büyük küçük sorgulaması yapabilirsin
    Select * from baslangic > şuankitarih and bitis < şuankitarih and odano = x
    Bu soefudan değer dönerse oda o tarih için dolu demektir