public ReturnObject Update_Appointment(int id, string status, string msg) { ReturnObject returnData = new ReturnObject(); try { using (var db = new ddiarydbEntities()) { var appointment = (from s in db.Appointments where s.Id == id select s).FirstOrDefault(); if (appointment.DateStart > DateTime.Now) { appointment.Status = status; } else { appointment.Status = "Cancel"; } //appointment.CreatedDate = DateTime.Now; appointment.UpdatedDate = DateTime.Now; db.Entry(appointment).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); var sms = ""; var doctor = db.Doctor_Master.Where(x => x.Doctor_id == appointment.DoctorId).FirstOrDefault(); if (appointment.Status == "Accept") { sms = "Your Appointment is Accepted Successfully! Appointment booked with Dr." + doctor.Doctor_name + " on " + appointment.DateStart.ToString("dd MMM yyyy") + " " + appointment.DateStart.ToString("hh:mm tt") + " to " + appointment.DateEnd.ToString("hh:mm tt"); Patient_Master patient = db.Patient_Master.Where(x => x.Patient_Id == appointment.PatientId).FirstOrDefault(); if (patient != null) { patient.IsActive = true; db.Entry(patient).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } DoctorPatient_Master doctorPatient = new DoctorPatient_Master(); doctorPatient = (from x in db.DoctorPatient_Master.AsEnumerable() where x.PatientId == appointment.PatientId && x.DoctorId == appointment.DoctorId select x).FirstOrDefault(); if (doctorPatient == null) { doctorPatient = new DoctorPatient_Master(); doctorPatient.DoctorId = appointment.DoctorId; doctorPatient.PatientId = appointment.PatientId; doctorPatient.IsActive = true; doctorPatient.CreatedDate = DateTime.Now; doctorPatient.UpdatedDate = DateTime.Now; db.DoctorPatient_Master.Add(doctorPatient); db.SaveChanges(); } else { doctorPatient.UpdatedDate = DateTime.Now; db.Entry(doctorPatient).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } else if (appointment.Status == "Cancel") { sms = "Your Appointment booked on " + appointment.DateStart.ToString("dd MMM yyyy") + " " + appointment.DateStart.ToString("hh:mm tt") + " to " + appointment.DateEnd.ToString("hh:mm tt") + " is Canceled by Dr." + doctor.Doctor_name + "."; sms = msg != "" ? (sms + " Reason: " + msg) : sms; } SmsSend.Send(appointment.PatientMobile, sms); returnData.message = "Successfull"; returnData.status_code = Convert.ToInt32(Status.Sucess); returnData.data1 = appointment; } } catch (Exception ex) { ErrHandler.WriteError(ex.Message, ex); returnData.data1 = ex; returnData.message = "Oops something went wrong! "; returnData.status_code = Convert.ToInt32(Status.Failed); } return(returnData); }
public ReturnObject Insert_Appointment(Appointment appointment) { ReturnObject returnData = new ReturnObject(); try { using (var db = new ddiarydbEntities()) { if (db.Appointments.Any(x => x.DateStart == appointment.DateStart && x.DateEnd == appointment.DateEnd)) { returnData.message = "This time slot booked."; returnData.status_code = Convert.ToInt32(Status.AlreadyExists); returnData.data1 = appointment; return(returnData); } appointment.CreatedDate = DateTime.Now; appointment.UpdatedDate = DateTime.Now; db.Appointments.Add(appointment); db.SaveChanges(); Patient_Master patient = new Patient_Master(); patient = db.Patient_Master.Where(x => x.Patient_contact == appointment.PatientMobile).FirstOrDefault(); if (patient == null) { patient = new Patient_Master(); patient.Reg_Date = DateTime.Now; patient.Patient_name = appointment.PatientName; patient.Patient_contact = appointment.PatientMobile; patient.relation = appointment.Relation; patient.IsActive = false; patient.User_Id = db.Doctor_Master.Where(x => x.Doctor_id == appointment.DoctorId).Select(x => x.User_id).FirstOrDefault(); db.Patient_Master.Add(patient); db.SaveChanges(); } appointment.PatientId = patient.Patient_Id; db.Entry(appointment).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); try { var doctor = db.Doctor_Master.Where(x => x.Doctor_id == appointment.DoctorId).FirstOrDefault(); var sms = "Your Appointment is Booked Successfully! Appointment booked with Dr." + doctor.Doctor_name + " on " + appointment.DateStart.ToString("dd MMM yyyy") + " " + appointment.DateStart.ToString("hh:mm tt") + " to " + appointment.DateEnd.ToString("hh:mm tt"); sms += appointment.Message != "" ? (" Reason: " + appointment.Message) : ""; SmsSend.Send(appointment.PatientMobile, sms); } catch (Exception) { } returnData.message = "Successfull"; returnData.status_code = Convert.ToInt32(Status.Sucess); returnData.data1 = appointment; } } catch (Exception ex) { ErrHandler.WriteError(ex.Message, ex); returnData.data1 = ex; returnData.message = "Oops something went wrong! "; returnData.status_code = Convert.ToInt32(Status.Failed); } return(returnData); }