private void SchedulerDataStorage1_AppointmentChanging(object sender, PersistentObjectCancelEventArgs e) { AdvPersistentObjectCancelEventArgs advArgs = (AdvPersistentObjectCancelEventArgs)e; if (advArgs.PropertyName == "Start" || advArgs.PropertyName == "End") { DevExpress.XtraScheduler.Internal.Implementations.AppointmentItem apt = (DevExpress.XtraScheduler.Internal.Implementations.AppointmentItem)e.Object; int id = Convert.ToInt32(apt.Id); if (advArgs.PropertyName == "Start") { if (Convert.ToDateTime(advArgs.NewValue) < AnaForm.tarihsaatgetir()) { durum = false; //eğer start hatalı ise end e bakmam. ama end field ini de güncellemeyip dönmesi için e.cancel=true yapmam gerektiği için. e.Cancel = true; } else if (AnaForm.CalismaAktifPeriyotMu(Convert.ToDateTime(advArgs.NewValue), 0, 0, Convert.ToInt32(apt.Id)) == false) { durum = false; e.Cancel = true; } } if (advArgs.PropertyName == "End") { if (durum == false) { durum = true; e.Cancel = true; } } } }
private void btnOk_Click(object sender, EventArgs e) { dt_bitis.DateTime = edtStartDate.DateTime.Date.AddHours(edtStartTime.Time.Hour).AddMinutes(edtStartTime.Time.Minute).AddMinutes(AnaForm.randk); if (edtLabel.AppointmentLabel == null) { MessageBox.Show("Lütfen Durum belirtiniz...", "Uyarı!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (edtStartDate.DateTime.Date.AddHours(edtStartTime.Time.Hour).AddMinutes(edtStartTime.Time.Minute) < AnaForm.tarihsaatgetir()) { MessageBox.Show("Geçmiş tarihe randevu alınamaz", "Uyarı!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //string sonuc = AnaForm.CalismaAktifPeriyotMu (dt_baslama.DateTime); //if (sonuc!= "") //{ // MessageBox.Show(sonuc, "Uyarı!", MessageBoxButtons.OK, MessageBoxIcon.Error); // return; //} if (AnaForm.CalismaAktifPeriyotMu(edtStartDate.DateTime.Date.AddHours(edtStartTime.Time.Hour).AddMinutes(edtStartTime.Time.Minute), AnaForm.ist_id, AnaForm.cal_id, 0) == false) { return; } DateTime baslama = edtStartDate.DateTime.Date.AddHours(edtStartTime.Time.Hour).AddMinutes(edtStartTime.Time.Minute); DateTime bitis = edtEndDate.DateTime.Date.AddHours(edtEndTime.Time.Hour).AddMinutes(edtEndTime.Time.Minute); var dolumu = (from p in veri.RANDEVULAR_TBL where p.RAN_KUL_ID == AnaForm.userid && ((p.RAN_BASLAMATARIH >= baslama && p.RAN_BASLAMATARIH <= bitis) || (p.RAN_BITISTARIH >= baslama && p.RAN_BITISTARIH <= bitis) || (baslama >= p.RAN_BASLAMATARIH && baslama <= p.RAN_BITISTARIH) || (bitis >= p.RAN_BASLAMATARIH && bitis <= p.RAN_BITISTARIH) ) select p).ToList(); if (dolumu.Count() > 0) { MessageBox.Show(dolumu[0].RAN_BASLAMATARIH.ToString() + " - " + dolumu[0].RAN_BITISTARIH.ToString() + " aralığında randevunuz bulunmaktadır.", "Uyarı!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { RANDEVULAR_TBL ekle = new RANDEVULAR_TBL(); ekle.RAN_IST_ID = AnaForm.ist_id; ekle.RAN_KUL_ID = AnaForm.userid; ekle.RAN_CAL_ID = AnaForm.cal_id; ekle.RAN_ACIKLAMA = tbDescription.Text; //ekle.RAN_BASLAMATARIH = edtStartDate.DateTime.AddHours(edtStartTime.Time.Hour).AddMinutes(edtStartTime.Time.Minute); //ekle.RAN_BITISTARIH = edtEndDate.DateTime.AddHours(edtEndTime.Time.Hour).AddMinutes(edtEndTime.Time.Minute); ekle.RAN_BASLAMATARIH = baslama; ekle.RAN_BITISTARIH = bitis; ekle.RAN_TELNO = tbSubject.Text; ekle.RAN_DURUMID = Convert.ToInt32(edtLabel.AppointmentLabel.Id); ekle.RAN_SEC = false; veri.RANDEVULAR_TBL.Add(ekle); veri.SaveChanges(); var calisma = (from p in veri.CALISMALAR_TBL where p.CAL_ID == AnaForm.cal_id select p).SingleOrDefault(); AnaForm.logkaydet("Randevu", "Ekleme (" + calisma.CAL_CALISMAID + " " + calisma.CAL_ADI + ")"); this.Close(); } catch (Exception ex) { MessageBox.Show("Kaydedilemedi, Hata:" + ex.Message, "Hata!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
protected internal virtual void OnOkButton() // RANDEVULAR_TBL ye yeni kayýt atar ya da günceller. { if (!ValidateDateAndTime()) { return; } if (!SaveFormData(Controller.EditedAppointmentCopy)) { return; } if (!Controller.IsConflictResolved()) { ShowMessageBox(SchedulerLocalizer.GetString(SchedulerStringId.Msg_Conflict), Controller.GetMessageBoxCaption(SchedulerStringId.Msg_Conflict), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } //if (dt_baslama.DateTime < AnaForm.tarihsaatgetir()) if (this.controller.Start < AnaForm.tarihsaatgetir()) { MessageBox.Show("Geçmiþ tarihe randevu alýnamaz", "Uyarý!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (Controller.IsAppointmentChanged() == true) { if (abc.Id != null) //eklemede buraya girmesin diye { if (AnaForm.CalismaAktifPeriyotMu(this.controller.Start, 0, 0, Convert.ToInt32(abc.Id)) == false) { return; } int ranid = Convert.ToInt32(abc.Id); dolumu = (from p in veri.RANDEVULAR_TBL where p.RAN_KUL_ID == AnaForm.userid && p.RAN_ID != ranid && ( (p.RAN_BASLAMATARIH >= Controller.Start && p.RAN_BASLAMATARIH <= Controller.End) || (p.RAN_BITISTARIH >= Controller.Start && p.RAN_BITISTARIH <= Controller.End)) || ((Controller.Start >= p.RAN_BASLAMATARIH && Controller.End <= p.RAN_BASLAMATARIH) || (Controller.Start >= p.RAN_BITISTARIH && Controller.End <= p.RAN_BITISTARIH)) select p).ToList(); } } if (Controller.IsNewAppointment == true) { if (AnaForm.CalismaAktifPeriyotMu(this.controller.Start, AnaForm.ist_id, AnaForm.cal_id, 0) == false) { return; } dolumu = (from p in veri.RANDEVULAR_TBL where p.RAN_KUL_ID == AnaForm.userid && ((p.RAN_BASLAMATARIH >= Controller.Start && p.RAN_BASLAMATARIH <= Controller.End) || (p.RAN_BITISTARIH >= Controller.Start && p.RAN_BITISTARIH <= Controller.End)) || ((Controller.Start >= p.RAN_BASLAMATARIH && Controller.End <= p.RAN_BASLAMATARIH) || (Controller.Start >= p.RAN_BITISTARIH && Controller.End <= p.RAN_BITISTARIH)) select p).ToList(); } if (dolumu.Count() > 0) { MessageBox.Show(dolumu[0].RAN_BASLAMATARIH.ToString() + " - " + dolumu[0].RAN_BITISTARIH.ToString() + " aralýðýnda randevunuz bulunmaktadýr.", "Uyarý!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (IsAppointmentChanged(Controller.EditedAppointmentCopy) || Controller.IsAppointmentChanged() || Controller.IsNewAppointment) { Controller.ApplyChanges(); //bunu yapmazsa hiç bir ekleme-güncelleme yapmýyor. } DialogResult = DialogResult.OK; }