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;
                    }
                }
            }
        }
Exemplo n.º 2
0
        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;
        }