Javascript ile veri kayıt ve post işlemleri
Javascript ile veri kayıt ve post işlemleri

Javascript kullanarak formdaki verilerin kayıt tetikleme işlemini gerçekleştiriyoruz.

Core Mvc öncesi klasik Asp.net formlarda kullandığım page methot mantığında çalışıyor.

Client tarafından Javascript ve form için gerekli kodlamalar aşağıdaki gibidir.

Script kodları

            function saveAppointment(data) {

                $.ajax({
                    type: 'POST',
                    url: '/appointment/AddOrUpdateAppoinment',
                    data: data,
                    success: function (response) {
                        if (response === "200") {
                            $('#saveModal').modal('hide');
                            alert("Ekleme yapıldı.");
                        } else {
                            $('#saveModal').modal('hide');
                            alert("Ekleme başarısız.");
                        }
                    },
                    error: function () {
                        $('#saveModal').modal('hide');
                        alert("İşlem gerçekleşmedi.");
                    }
                });
            }

            $('#btnSave').click(function () {

                var appointment = {
                    Id : $('#appointmentId').val(),
                    UserId: $('#selectDentistId').val(),
                    StartDate: $('#inputStartDate').val(),
                    EndDate: $('#inputEndDate').val(),
                    PatientName: $('#inputPatientSurname').val(),
                    PatientSurname: $('#inputPatientSurname').val(),
                    Description: $('#inputDescription').val()
                }


                saveAppointment(appointment);
            });

 

Form içerisinde btnSave Id li button click edildiğinde var appointment nesnesi Modelde istenen verilerle aynı isimde olacak şekilde formdan gelen datalarla doldurulup saveAppointment(appointment); içerisinde  saveAppointment fonksiyonuna gönderiliyor.

saveAppointment  fonksiyonu Javascript ile Post işlemini url: '/appointment/AddOrUpdateAppoinment', e yapıyor. bu url ile  AddOrUpdateAppoinment controller tetiklendiği için kayıt işlemi Controller içerisinde context üzerinden gerçekleştirilip sonuca göre JsonResult işlemi yapılıyor. Dönen cevaba göre Javascript tarafı tepki gösteriyor. 

 

AppointmentController / AddOrUpdateAppoinment

        [HttpPost]
        public JsonResult AddOrUpdateAppoinment(AddOrUpdateAppointmentModel model)
        {
            //Validasyon
            if (model.Id == 0)
            {
                Appointment entity = new Appointment()
                {
                    CreatedDate = DateTime.Now,
                    StartDate = model.StartDate,
                    EndDate = model.EndDate,
                    PatientName = model.PatientName,
                    PatientSurname = model.PatientSurname,
                    Description = model.Description,
                    UserId = model.UserId
                };

                _context.Add(entity);
                _context.SaveChanges();
            }
            else
            {
                var entity = _context.Appointments.SingleOrDefault(x => x.Id == model.Id);
                if (entity == null)
                {
                    return Json("Güncellenecek veri bulunamadı.");
                }
                entity.UpdatedDate = DateTime.Now;
                entity.PatientName = model.PatientName;
                entity.PatientSurname = model.PatientSurname;
                entity.Description = model.Description;
                entity.StartDate = model.StartDate;
                entity.EndDate = model.EndDate;
                entity.UserId = model.UserId;

                _context.Update(entity);
                _context.SaveChanges();
            }

            return Json("200");
        }