예제 #1
0
        public void Delete(int id)
        {
            using (DoktorRepository doktorRepo = new DoktorRepository())
            {
                try
                {
                    var model = doktorRepo.GetById(x => x.doktorID == id, x => x.Bolum, x => x.Hastane, x => x.Randevu, x => x.Favori);

                    RandevuBLL randevuBusiness = new RandevuBLL();

                    foreach (var rand in model.Randevu.ToList())
                    {
                        randevuBusiness.Delete(rand.randevuID);
                        // doktorun tüm randevularını ilgili business'daki ilgili metota yönlendirdik.
                    }

                    doktorRepo.Delete(id);
                }
                catch
                {
                    throw;
                }
            }
        }
예제 #2
0
        //public IzinDTO IzınKontrol(DateTime tarih, int doktorId)
        //{
        //    using (IzinRepository izinRepo = new IzinRepository())
        //    {
        //        try
        //        {
        //           var model = izinRepo.GetByFilter(x => x.doktorID == doktorId &&x.baslangicTarihi>=tarih && x.bitisTarihi<=tarih).ToList();

        //            return izinMapper.Map(model[0]);
        //        }
        //        catch
        //        {
        //            throw;
        //        }
        //    }
        //}

        public void Add(Izin model)
        {
            using (IzinRepository izinRepo = new IzinRepository())
            {
                try
                {
                    izinRepo.Add(model);
                    // izin ekleme işlemi yapıldı
                    var gunFark  = 0;
                    var saatFark = 0;

                    // gün farkını hesapla

                    gunFark = model.bitisTarihi.Value.Day - model.baslangicTarihi.Value.Day;


                    if (gunFark == 0)
                    {
                        while (model.baslangicSaati.Value.Hours <= model.bitisSaati.Value.Hours)
                        {
                            if (model.baslangicSaati.Value.Hours != 12)
                            {
                                // burada başlangıx saati ile bitis saati arasında döngü yapıyor 30 dakika ekliyor her döngüde

                                var randevu = new Randevu();
                                randevu.doktorID    = model.doktorID;
                                randevu.durum       = true;
                                randevu.kullaniciID = 1;
                                randevu.saat        = model.baslangicSaati;
                                randevu.tarih       = model.baslangicTarihi;

                                RandevuBLL randBusiness = new RandevuBLL();
                                randBusiness.Add(randevu);
                            }
                            var ts = TimeSpan.FromMinutes(30);
                            model.baslangicSaati = model.baslangicSaati.Value.Add(ts);
                        }
                    }
                    else
                    {
                        while (model.baslangicTarihi.Value.Day < model.bitisTarihi.Value.Day)
                        {
                            if (model.baslangicTarihi.Value.DayOfWeek != DayOfWeek.Saturday || model.baslangicTarihi.Value.DayOfWeek != DayOfWeek.Sunday)
                            {
                                while (model.baslangicSaati.Value.Hours < 17 /*model.bitisSaati.Value.Hours*/)
                                {
                                    if ((int)model.baslangicSaati.Value.Hours != 12)
                                    {
                                        var randevu = new Randevu();
                                        randevu.doktorID    = model.doktorID;
                                        randevu.durum       = true;
                                        randevu.kullaniciID = 1;
                                        randevu.saat        = model.baslangicSaati;
                                        randevu.tarih       = model.baslangicTarihi;

                                        RandevuBLL randBusiness = new RandevuBLL();
                                        randBusiness.Add(randevu);

                                        // burada başlangıc saati ile bitis saati arasında döngü yapıyor ve 30 dakika ekliyor her döngüde
                                    }
                                    var ts = TimeSpan.FromMinutes(30);
                                    model.baslangicSaati = model.baslangicSaati.Value.Add(ts);
                                }
                            }
                            model.baslangicTarihi = model.baslangicTarihi.Value.AddDays(1);

                            model.baslangicSaati = new TimeSpan(8, 0, 0);
                        }
                        if (model.baslangicTarihi.Value.Day == model.bitisTarihi.Value.Day)
                        {
                            if (model.baslangicTarihi.Value.DayOfWeek != DayOfWeek.Saturday || model.baslangicTarihi.Value.DayOfWeek != DayOfWeek.Sunday)
                            {
                                while (model.baslangicSaati.Value.Hours < model.bitisSaati.Value.Hours)
                                {
                                    if ((int)model.baslangicSaati.Value.Hours != 12)
                                    {
                                        var randevu = new Randevu();
                                        randevu.doktorID    = model.doktorID;
                                        randevu.durum       = true;
                                        randevu.kullaniciID = 1;
                                        randevu.saat        = model.baslangicSaati;
                                        randevu.tarih       = model.baslangicTarihi;

                                        RandevuBLL randBusiness = new RandevuBLL();
                                        randBusiness.Add(randevu);

                                        // burada başlangıc saati ile bitis saati arasında döngü yapıyor ve 30 dakika ekliyor her döngüde
                                    }
                                    var ts = TimeSpan.FromMinutes(30);
                                    model.baslangicSaati = model.baslangicSaati.Value.Add(ts);
                                }
                            }
                            model.baslangicTarihi = model.baslangicTarihi.Value.AddDays(1);

                            model.baslangicSaati.Value.Add(new TimeSpan(8, 0, 0));
                        }
                    }
                }
                catch
                {
                    throw;
                }
            }
        }