Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }