コード例 #1
0
ファイル: HospitalListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetLastHospital(int p_id, int doc_id, ILastHospitalCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            try
            {
                var results = await DBHandler.db.QueryAsync <Hospital>(String.Format("SELECT * FROM HOSPITAL " +
                                                                                     "WHERE ID in(" +
                                                                                     "SELECT HOS_ID FROM APPOINTMENT WHERE DOC_ID={0} AND PATIENT_ID={1} ORDER BY ID DESC LIMIT 1)", doc_id, p_id));

                if (results != null)
                {
                    callback.ILastHospitalSuccess(results.First());
                }
                else
                {
                    callback.ILastHospitalFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("last hospital dao exception=" + e.Message);
            }
        }
コード例 #2
0
ファイル: HospitalListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetHospitalsAsync(IHospitalListCallback hospitalCallback)
        {
            List <Hospital> results = new List <Hospital>();

            try
            {
                //var db = await dbHandler.DBConnection();
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                results = await DBHandler.db.QueryAsync <Hospital>(
                    "SELECT * FROM HOSPITAL ");

                System.Diagnostics.Debug.WriteLine("results=" + results.Count());
                if (results != null && results.Count > 0)
                {
                    hospitalCallback.ReadSuccess(results);
                    await DBHandler.db.CloseAsync();
                }
                else
                {
                    hospitalCallback.ReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #3
0
ファイル: DoctorListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetDoctorByNameAsync(string name, string location, IDoctorCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            List <Doctor> results = new List <Doctor>();

            try
            {
                results = await DBHandler.db.QueryAsync <Doctor>(String.Format("SELECT * FROM DOCTOR " +
                                                                               "WHERE NAME LIKE '{1}%' AND ID IN (" +
                                                                               "SELECT DOC_ID FROM ROSTER WHERE HOSP_ID IN(" +
                                                                               "SELECT ID FROM HOSPITAL WHERE LOCATION='{0}')" +
                                                                               ")", location, name));

                System.Diagnostics.Debug.WriteLine("Results val=" + results.Count);
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Dept loc select exception " + e.Message);
            }
            if (results != null)
            {
                callback.ReadSuccess(results);
            }
            else
            {
                callback.ReadFail();
            }
        }
コード例 #4
0
ファイル: DoctorListDAO.cs プロジェクト: varunotelli/DocApp
        //IDoctorCallback doctorCallback;
        public async Task GetDoctorsAsync(IDoctorCallback doctorCallback)
        {
            List <Doctor> results = new List <Doctor>();

            try
            {
                //var db = await dbHandler.DBConnection();
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                results = await DBHandler.db.QueryAsync <Doctor>(
                    "SELECT * FROM DOCTOR ");

                System.Diagnostics.Debug.WriteLine("results=" + results.Count());
                if (results != null)
                {
                    doctorCallback.ReadSuccess(results);
                    await DBHandler.db.CloseAsync();
                }
                else
                {
                    doctorCallback.ReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("DOCTOR ASYNC SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #5
0
ファイル: LoginDAO.cs プロジェクト: varunotelli/DocApp
        public async Task LoginAsync(Logins l, ILoginCallback callback)
        {
            int count = -1;

            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            try
            {
                await DBHandler.db.InsertAsync(l);

                await DBHandler.db.CloseAsync();
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Login DAO fail " + e.Message);
                return;
            }

            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            try
            {
                count = await DBHandler.db.ExecuteScalarAsync <int>("select count(*) from LOGINS where USER_ID=1");
            }
            catch (Exception e)
            {
                callback.GetLoginFail();
                return;
            }
            callback.GetLoginSuccess(count);
        }
コード例 #6
0
ファイル: DoctorListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetDoctorByIdAsync(int id, IDoctorDetailCallback doctorCallback)
        {
            //Doctor d = new Doctor();
            try
            {
                //var db = await dbHandler.DBConnection();
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                List <Doctor> results = await DBHandler.db.QueryAsync <Doctor>(String.Format("SELECT * FROM DOCTOR WHERE ID={0}", id));


                if (results != null)
                {
                    doctorCallback.DoctorDetailReadSuccess(results.First());
                    await DBHandler.db.CloseAsync();
                }
                else
                {
                    doctorCallback.DoctorDetailReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("DOC BY ID SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #7
0
ファイル: KeywordDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetKeywordsAsync(IKeyWordCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            List <KeyWord> results = new List <KeyWord>();

            try
            {
                results = await DBHandler.db.QueryAsync <KeyWord>("select * from keywords group by DEPT_ID");
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Keyword DB Exception" + e.Message);
            }
            if (results != null)
            {
                callback.KeyWordReadSuccess(results);
            }
            else
            {
                callback.KeyWordReadFail();
            }
        }
コード例 #8
0
ファイル: DepartmentDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetDepartmentList(IDepartmentListCallBack callback)
        {
            List <Department> results = new List <Department>();

            try
            {
                //var db = await dbHandler.DBConnection();
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                results = await DBHandler.db.QueryAsync <Department>(
                    "SELECT * FROM DEPARTMENT ");

                System.Diagnostics.Debug.WriteLine("results=" + results.Count());
                if (results != null)
                {
                    callback.DepartmentDataReadSuccess(results);
                    //await DBHandler.db.CloseAsync();
                }
                else
                {
                    callback.DepartmentDataReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("DEPARTMENT SELECT EXCEPTION " + e.Message);
            }
        }
コード例 #9
0
ファイル: HospitalListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetHospitalbyIdAsync(int id, IHospitalDetailCallback hospitalCallback)
        {
            List <Hospital> results = new List <Hospital>();

            try
            {
                //var db = await dbHandler.DBConnection();
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                results = await DBHandler.db.QueryAsync <Hospital>(String.Format("SELECT * FROM HOSPITAL where ID ={0}", id)
                                                                   );

                System.Diagnostics.Debug.WriteLine("results=" + results.Count());
                if (results != null)
                {
                    hospitalCallback.HospitalDetailReadSuccess(results.First());
                    //await DoctorDBHandler.db.CloseAsync();
                }
                else
                {
                    hospitalCallback.HospitalDetailReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #10
0
        public async Task GetAppointment(int p_id, IAppointmentListCallback callback)
        {
            List <AppointmentDetails> results = new List <AppointmentDetails>();

            try
            {
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                var apps = await DBHandler.db.Table <Appointment>().ToListAsync();

                var docs = await DBHandler.db.Table <Doctor>().ToListAsync();

                var hosp = await DBHandler.db.Table <Hospital>().ToListAsync();

                var details = (from a in apps
                               join d in docs
                               on a.DOC_ID equals d.ID
                               join h in hosp
                               on a.HOS_ID equals h.ID
                               where apps.Any(g => g.PATIENT_ID.Equals(p_id))
                               select new AppointmentDetails
                {
                    app_date = a.APP_DATE,
                    doc_name = d.Name,
                    hosp_name = h.Name,
                    id = a.ID,
                    location = h.Location,
                    Timeslot = a.start_time,
                    img = d.Image
                }
                               ).OrderBy(x => x.app_date).ThenBy(x => x.Timeslot);
                foreach (var x in details.Where(a => DateTime.Parse(a.app_date) ==
                                                DateTime.Parse(DateTime.Now.Date.ToString("yyyy-MM-dd")) && DateTime.Parse(a.Timeslot).CompareTo(
                                                    DateTime.Parse(DateTime.Now.TimeOfDay.ToString())) > 0

                                                ))
                {
                    //x.app_date = DateTime.ParseExact(x.app_date, "yyyy-MM-dd", null).ToString("dd/MM/yyyy");
                    results.Add(x);
                }
                if (results != null)
                {
                    callback.GetAppSuccess(results);
                }
                else
                {
                    callback.GetAppFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Appointment details select exception=" + e.Message);
            }
        }
コード例 #11
0
        public async Task GetDoctorDetailByHospital(int hospid, IDoctorHospitalCallBack doctorHospitalCallBack)
        {
            List <DoctorInHospitalDetails> results = new
                                                     List <DoctorInHospitalDetails>();

            try
            {
                //var db = await dbHandler.DBConnection();
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                var docs = await DBHandler.db.Table <Doctor>().ToListAsync();

                var roster = await DBHandler.db.Table <Roster>().ToListAsync();

                //var hosp = await DBHandler.db.Table<Hospital>().ToListAsync();
                var details = (from d in docs
                               join r in roster
                               on d.ID equals r.doc_id
                               where r.hosp_id == hospid
                               select new DoctorInHospitalDetails
                {
                    doc_id = d.ID,
                    Name = d.Name,
                    Designation = d.Designation,
                    Experience = d.Experience,
                    Start_Time = r.start_time,
                    End_Time = r.end_time,
                    fees = r.fee,
                    Rating = d.Rating,
                    Number_of_Rating = d.Number_of_Rating,
                    max_patients = r.max_patients,
                    Image = d.Image
                }
                               );

                results = details.ToList();
                //System.Diagnostics.Debug.WriteLine("QUERY COUNT=" + results[0].fees);
                if (results != null)
                {
                    results = results.GroupBy(d => d.doc_id).Select(d => d.FirstOrDefault()).ToList();
                    doctorHospitalCallBack.ReadSuccess(results);
                    await DBHandler.db.CloseAsync();
                }
                else
                {
                    doctorHospitalCallBack.ReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("DOCTOR HOSPITAL SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #12
0
        public async Task GetHospitalByDoctor(int id, IHospitalDoctorCallback HospitalDoctorCallBack)
        {
            List <HospitalInDoctorDetails> results = new
                                                     List <HospitalInDoctorDetails>();

            try
            {
                //var db = await dbHandler.DBConnection();
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                //var docs = await DBHandler.db.Table<Doctor>().ToListAsync();
                var roster = await DBHandler.db.Table <Roster>().ToListAsync();

                var hosp = await DBHandler.db.Table <Hospital>().ToListAsync();

                var details = (from h in hosp
                               join r in roster
                               on h.ID equals r.hosp_id
                               where r.doc_id == id
                               select new HospitalInDoctorDetails
                {
                    Hosp_ID = h.ID,
                    Name = h.Name,
                    Location = h.Location,
                    Start_Time = r.start_time,
                    End_Time = r.end_time,
                    Fees = r.fee,
                    Rating = h.Rating,
                    Number_of_Rating = h.Number_Of_Rating,
                    Image = h.Image
                }
                               ).Distinct();

                results = details.ToList();


                if (results != null)
                {
                    results = results.GroupBy(h => h.Hosp_ID).Select(g => g.FirstOrDefault()).ToList();
                    HospitalDoctorCallBack.ReadSuccess(results);
                    //await DBHandler.db.CloseAsync();
                }

                else
                {
                    HospitalDoctorCallBack.ReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("HOSPITAL DOCTOR SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #13
0
        public async Task GetAppointmentByID(string app_date, string time, IAppointmentCallback callback)
        {
            List <AppointmentDetails> results = new List <AppointmentDetails>();

            try
            {
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                var apps = await DBHandler.db.Table <Appointment>().ToListAsync();

                var docs = await DBHandler.db.Table <Doctor>().ToListAsync();

                var hosp = await DBHandler.db.Table <Hospital>().ToListAsync();

                var details = (from a in apps
                               join d in docs
                               on a.DOC_ID equals d.ID
                               join h in hosp
                               on a.HOS_ID equals h.ID
                               where a.APP_DATE.Equals(app_date) && a.start_time.Equals(time)
                               select new AppointmentDetails
                {
                    app_date = a.APP_DATE,
                    doc_name = d.Name,
                    hosp_name = h.Name,
                    id = a.ID,
                    location = h.Location,
                    Timeslot = a.start_time
                }
                               );
                foreach (var x in details)
                {
                    //x.app_date = DateTime.ParseExact(x.app_date, "yyyy-MM-dd", null).ToString("dd/MM/yyyy");
                    results.Add(x);
                }
                if (results != null)
                {
                    callback.GetAppByIDSuccess(results.First());
                }
                else
                {
                    callback.GetAppByIDFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Appointment details select exception=" + e.Message);
            }
        }
コード例 #14
0
ファイル: DoctorListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetRecentDoctor(int id, IRecentDoctorCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            List <Doctor> results = new List <Doctor>();

            try
            {
                var doctors = await DBHandler.db.Table <Doctor>().ToListAsync();

                var doc_searches = await DBHandler.db.Table <Doc_Search>().ToListAsync();

                var details = (from doc in doctors
                               join doc_search in doc_searches
                               on doc.ID equals doc_search.doc_id
                               where doc_search.user_id == id
                               orderby doc_search.id descending
                               select new Doctor
                {
                    Name = doc.Name,
                    Description = doc.Description,
                    Designation = doc.Designation,
                    Rating = doc.Rating,
                    Number_of_Rating = doc.Number_of_Rating,
                    Experience = doc.Experience,
                    ID = doc.ID,
                    Image = doc.Image
                }
                               );
                //details.Reverse();
                foreach (var x in details.GroupBy(d => d.ID).Select(g => g.First()))
                {
                    results.Add(x);
                }
                if (results != null)
                {
                    callback.RecentDocSuccess(results);
                }
                else
                {
                    callback.RecentDocFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("SEARCH DOC SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #15
0
        public async Task AddAppointment(int p_id, int doc_id, int hosp_id, string app_date, string start,
                                         IBookAppointmentCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            try
            {
                await DBHandler.db.ExecuteAsync(String.Format("INSERT INTO APPOINTMENT (PATIENT_ID,DOC_ID, HOS_ID, APP_DATE, " +
                                                              "START_TIME) VALUES({0},{1},{2},'{3}','{4}')", p_id, doc_id, hosp_id, app_date, start)
                                                );

                //System.Diagnostics.Debug.WriteLine("Appointment insert dao Success");
                await DBHandler.db.CloseAsync();
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Appointment insert dao exception=" + e.Message);
                callback.AppReadFail();
                return;
            }

            try
            {
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                var results = await DBHandler.db.QueryAsync <Appointment>("SELECT * FROM APPOINTMENT " +
                                                                          "ORDER BY ID DESC LIMIT 1");

                if (results != null && results.Count() > 0)
                {
                    System.Diagnostics.Debug.WriteLine("appointment Select dao Success");

                    callback.AppReadSuccess(results.First());
                    await DBHandler.db.CloseAsync();
                }
                else
                {
                    callback.AppReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("appointment select dao exception=" + e.Message);
                callback.AppReadFail();
            }
        }
コード例 #16
0
        public async Task GetTestDetails(int doc_id, ITestDetailsCallback callback)
        {
            List <TestDetails> results = new List <TestDetails>();

            try
            {
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                var patients = await DBHandler.db.Table <Patient>().ToListAsync();

                var tests = await DBHandler.db.Table <Testimonial>().ToListAsync();

                var details = (from t in tests
                               join p in patients
                               on t.Patient_ID equals p.ID

                               where tests.Any(g => t.Doc_ID == doc_id)
                               select new TestDetails
                {
                    doc_id = t.Doc_ID,
                    message = t.message,
                    patient_name = p.name,
                    posted_time = t.posted_time,
                    p_id = p.ID,
                    test_id = t.ID
                }
                               ).OrderBy(x => x.posted_time);
                foreach (var x in details)
                {
                    //x.app_date = DateTime.ParseExact(x.app_date, "yyyy-MM-dd", null).ToString("dd/MM/yyyy");
                    results.Add(x);
                }
                if (results != null)
                {
                    callback.TestDetailsReadSuccess(results);
                }
                else
                {
                    callback.TestDetailsReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Testimonial details select exception=" + e.Message);
            }
        }
コード例 #17
0
        public async Task ReminderForApps(int p_id, string app_date, string time, IReminderCallback callback)
        {
            AppointmentDetails result = new AppointmentDetails();

            try
            {
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                var apps = await DBHandler.db.Table <Appointment>().ToListAsync();

                var docs = await DBHandler.db.Table <Doctor>().ToListAsync();

                var hosp = await DBHandler.db.Table <Hospital>().ToListAsync();

                var details = (from a in apps
                               join d in docs
                               on a.DOC_ID equals d.ID
                               join h in hosp
                               on a.HOS_ID equals h.ID
                               where a.APP_DATE.Equals(app_date) && DateTime.Parse(a.start_time).Subtract(DateTime.Parse(time)).Minutes == 30 //DateTime.Parse(time)
                               select new AppointmentDetails
                {
                    app_date = a.APP_DATE,
                    doc_name = d.Name,
                    hosp_name = h.Name,
                    id = a.ID,
                    location = h.Location,
                    Timeslot = a.start_time
                }
                               );
                result = details.FirstOrDefault();
                if (result != null)
                {
                    callback.ReminderReadSuccess(result);
                }
                else
                {
                    callback.ReminderReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Appointment details select exception=" + e.Message);
            }
        }
コード例 #18
0
        public async Task GetAppointmentByID(int id, IAppCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            var results = await DBHandler.db.Table <Appointment>().Where(a => a.ID == id).ToListAsync();

            if (results != null)
            {
                callback.AppSuccess(results.First());
            }
            else
            {
                callback.AppFail();
            }
        }
コード例 #19
0
ファイル: DoctorListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetDoctorByDeptLocationAsync(string location, int dept, IDoctorCallback doctorCallback,
                                                       int lexp = -1, int uexp = 200, int rating = -1)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            List <Doctor> results = new List <Doctor>();

            try
            {
                if (dept > 0)
                {
                    results = await DBHandler.db.QueryAsync <Doctor>(String.Format("SELECT * FROM DOCTOR " +
                                                                                   "WHERE ID IN (" +
                                                                                   "SELECT DOC_ID FROM ROSTER WHERE HOSP_ID IN(" +
                                                                                   "SELECT ID FROM HOSPITAL WHERE LOCATION='{0}')" +
                                                                                   ")" +
                                                                                   "AND DEPT_ID ={1} AND EXPERIENCE >= {2} AND EXPERIENCE <= {3} AND RATING >= {4}", location, dept, lexp, uexp, rating));
                }
                else
                {
                    results = await DBHandler.db.QueryAsync <Doctor>(String.Format("SELECT * FROM DOCTOR " +
                                                                                   "WHERE ID IN (" +
                                                                                   "SELECT DOC_ID FROM ROSTER WHERE HOSP_ID IN(" +
                                                                                   "SELECT ID FROM HOSPITAL WHERE LOCATION='{0}')" +
                                                                                   ")" +
                                                                                   " AND EXPERIENCE >= {2} AND EXPERIENCE <= {3} AND RATING >= {4}", location, dept, lexp, uexp, rating));
                }
                System.Diagnostics.Debug.WriteLine("Results val=" + results.Count);
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Dept loc select exception " + e.Message);
            }
            if (results != null)
            {
                doctorCallback.ReadSuccess(results);
                await DBHandler.db.CloseAsync();
            }
            else
            {
                doctorCallback.ReadFail();
            }
        }
コード例 #20
0
 public async Task CancelAppointment(int id, ICancelAppCallback callback)
 {
     if (DBHandler.db == null)
     {
         DBHandler.DBConnection();
     }
     try
     {
         await DBHandler.db.ExecuteAsync("DELETE FROM APPOINTMENT WHERE ID=" + id);
     }
     catch (Exception e)
     {
         System.Diagnostics.Debug.WriteLine("Cancel dao fail " + e.Message);
         callback.CancelAppFail();
         return;
     }
     callback.CancelAppSuccess(true);
 }
コード例 #21
0
        public async Task GetTimeSlots(int doc_id, int hosp_id, string app_date, IRosterCallback callback)
        {
            try
            {
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                results = await DBHandler.db.QueryAsync <Roster>(String.Format("SELECT *, MAX_PATIENTS-" +
                                                                               "(SELECT COUNT(*) FROM APPOINTMENT WHERE DOC_ID={0} AND HOS_ID={1} AND APP_DATE='{2}' AND " +
                                                                               "APPOINTMENT.START_TIME=ROSTER.START_TIME) AS VAL" +
                                                                               " FROM ROSTER WHERE DOC_ID={0} AND HOSP_ID={1} "
                                                                               , doc_id, hosp_id, app_date));

                //System.Diagnostics.Debug.WriteLine("results=" + DateTime.Now.ToString("HH:mm:ss"));
                if (results != null)
                {
                    List <Roster> resultmain = new List <Roster>();
                    foreach (var x in results)
                    {
                        string   s  = app_date + " " + x.start_time;
                        DateTime d1 = DateTime.Parse(s);
                        DateTime d2 = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm"));
                        if (d1.CompareTo(d2) >= 0)
                        {
                            resultmain.Add(x);
                        }
                    }
                    callback.RosterReadSuccess(resultmain);
                    await DBHandler.db.CloseAsync();
                }
                else
                {
                    callback.RosterReadFail();
                }
            }


            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("DOCTOR ASYNC SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #22
0
 public async Task UpdateAppointment(int id, string app_date, string time, IUpdateAppCallback callback)
 {
     if (DBHandler.db == null)
     {
         DBHandler.DBConnection();
     }
     try
     {
         await DBHandler.db.ExecuteAsync(String.Format("UPDATE APPOINTMENT SET " +
                                                       "APP_DATE='{0}', START_TIME='{1}' WHERE ID={2}", app_date, time, id));
     }
     catch (Exception e)
     {
         System.Diagnostics.Debug.WriteLine("Reschedule dao fail " + e.Message);
         callback.UpdateAppFail();
         return;
     }
     callback.UpdateAppSuccess(true);
 }
コード例 #23
0
        public async Task CheckAppointment(int p_id, string app_date, string time, ICheckAppointmentCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            int count = await DBHandler.db.ExecuteScalarAsync <int>(String.Format("SELECT COUNT(*) FROM APPOINTMENT WHERE " +
                                                                                  "PATIENT_ID={0} AND " +
                                                                                  "APP_DATE='{1}' AND START_TIME='{2}'", p_id, app_date, time));

            if (count >= 0)
            {
                callback.CheckAppointmentSuccess(count);
            }
            else
            {
                callback.CheckAppointmentFail();
            }
        }
コード例 #24
0
ファイル: HospitalListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetHospitalByLocationAsync(string name, IHospitalListCallback hospitalCallback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            var results = await DBHandler.db.QueryAsync <Hospital>(String.Format("SELECT * FROM HOSPITAL " +
                                                                                 "WHERE LOCATION='{0}'", name));

            if (results != null && results.Count > 0)
            {
                hospitalCallback.ReadSuccess(results);
                //await DoctorDBHandler.db.CloseAsync();
            }
            else
            {
                hospitalCallback.ReadFail();
            }
        }
コード例 #25
0
        public async Task GetLastTestDetail(int doc_id, ILastTestDetailCallback callback)
        {
            //TestDetails result;
            try
            {
                if (DBHandler.db == null)
                {
                    DBHandler.DBConnection();
                }
                var patients = await DBHandler.db.Table <Patient>().ToListAsync();

                var tests = await DBHandler.db.Table <Testimonial>().ToListAsync();

                var details = (from t in tests
                               join p in patients
                               on t.Patient_ID equals p.ID

                               where tests.Any(g => t.Doc_ID == doc_id)
                               select new TestDetails
                {
                    doc_id = t.Doc_ID,
                    message = t.message,
                    patient_name = p.name,
                    posted_time = t.posted_time,
                    p_id = p.ID,
                    test_id = t.ID
                }
                               ).OrderBy(x => x.posted_time).Last();

                if (details != null)
                {
                    callback.LastTestReadSuccess(details);
                }
                else
                {
                    callback.LastTestReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("Testimonial details select exception=" + e.Message);
            }
        }
コード例 #26
0
ファイル: HospitalListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetHospitalByDept(string location, int dept_id, IHospitalListCallback hospitalCallback, int rating = -1)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            List <Hospital> results = new List <Hospital>();

            try
            {
                //var db = await dbHandler.DBConnection();
                DBHandler.DBConnection();
                if (dept_id > 0)
                {
                    results = await DBHandler.db.QueryAsync <Hospital>(String.Format("SELECT * FROM HOSPITAL WHERE ID IN(" +
                                                                                     "SELECT HOSP_ID FROM ROSTER GROUP BY DOC_ID HAVING DOC_ID IN(" +
                                                                                     "SELECT ID FROM DOCTOR WHERE DEPT_ID={0})" +
                                                                                     "AND COUNT(*)>0) AND LOCATION='{1}' AND RATING >={2}", dept_id, location, rating)
                                                                       );
                }
                else
                {
                    results = await DBHandler.db.QueryAsync <Hospital>(String.Format("SELECT * FROM HOSPITAL WHERE ID IN(" +
                                                                                     "SELECT HOSP_ID FROM ROSTER GROUP BY DOC_ID HAVING COUNT(*)>0) AND LOCATION='{1}' AND " +
                                                                                     "RATING >={2}", dept_id, location, rating)
                                                                       );
                }
                System.Diagnostics.Debug.WriteLine("results=" + results.Count());
                if (results != null)
                {
                    hospitalCallback.ReadSuccess(results);
                    //await DoctorDBHandler.db.CloseAsync();
                }
                else
                {
                    hospitalCallback.ReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("SELECT EXCEPTION" + e.Message);
            }
        }
コード例 #27
0
ファイル: HospitalListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetHospitalByNameAsync(string name, string location, IHospitalListCallback hospitalCallback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            var results = await DBHandler.db.QueryAsync <Hospital>(String.Format("SELECT * FROM HOSPITAL " +
                                                                                 "WHERE NAME LIKE'{0}%' AND LOCATION='{1}'", name, location));

            if (results != null && results.Count > 0)
            {
                hospitalCallback.ReadSuccess(results);
                //await DoctorDBHandler.db.CloseAsync();
            }
            else
            {
                hospitalCallback.ReadFail();
            }
            System.Diagnostics.Debug.WriteLine("hosp dao val=" + results[0].Number_Of_Rating);
        }
コード例 #28
0
ファイル: DoctorListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetDoctorsByDeptCount(int dept, int hosp_id, IDoctorCountByDeptCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            var count = await DBHandler.db.ExecuteScalarAsync <int>(String.Format("select count(*) from roster group by DOC_ID " +
                                                                                  "having DOC_ID in " +
                                                                                  "(select id from DOCTOR where DEPT_ID={0}) " +
                                                                                  "and HOSP_ID={1}", dept, hosp_id)
                                                                    );

            if (count > 0)
            {
                callback.ReadCountSuccess(count);
            }
            else
            {
                callback.ReadCountFail();
            }
        }
コード例 #29
0
ファイル: DoctorListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetMostBookedDoctor(int id, IMostBookedDoctorCallback callback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            List <Doctor> docs = new List <Doctor>();

            try
            {
                //docs=await DBHandler.db.QueryAsync<Doctor>(String.Format("SELECT * FROM DOCTOR WHERE ID IN(" +
                //"SELECT DOC_ID FROM APPOINTMENT GROUP BY DOC_ID HAVING PATIENT_ID={0} ORDER BY COUNT(*) DESC)", id));

                var doctors = await DBHandler.db.Table <Doctor>().ToListAsync();

                var temp = await DBHandler.db.QueryAsync <Appointment>(String.Format(
                                                                           "SELECT DOC_ID FROM APPOINTMENT GROUP BY DOC_ID HAVING PATIENT_ID={0} ORDER BY COUNT(*) DESC", id));

                //var all = doctors.Where(d => temp.Any(t => t.DOC_ID==d.ID));
                //foreach (var x in temp)
                //    System.Diagnostics.Debug.WriteLine(x.DOC_ID);
                var all = from t in temp
                          join d in doctors on t.DOC_ID equals d.ID
                          select d;
                docs = new List <Doctor>(all);
                if (docs != null)
                {
                    callback.MostBookedDocReadSuccess(docs);
                }
                else
                {
                    callback.MostBookedDocReadFail();
                }
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine("most booked doctor dao fail " + e.Message);
            }
        }
コード例 #30
0
ファイル: DoctorListDAO.cs プロジェクト: varunotelli/DocApp
        public async Task GetDoctorByHospitalNameAsync(string name, IDoctorCallback doctorCallback)
        {
            if (DBHandler.db == null)
            {
                DBHandler.DBConnection();
            }
            List <Doctor> results = await DBHandler.
                                    db.QueryAsync <Doctor>(String.Format("SELECT * FROM DOCTOR WHERE ID IN (" +
                                                                         "SELECT DOC_ID FROM ROSTER WHERE HOSP_ID IN (" +
                                                                         "SELECT ID FROM HOSPITAL WHERE NAME='{0}'))", name));

            System.Diagnostics.Debug.WriteLine("Hosp name " + results.Count());

            if (results != null)
            {
                doctorCallback.ReadSuccess(results);
                await DBHandler.db.CloseAsync();
            }
            else
            {
                doctorCallback.ReadFail();
            }
        }