示例#1
0
        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);
            }
        }
示例#2
0
        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();
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
        }