private async void UpdateList(double X, double Y, DateTime dateOf, int prescribeId, bool add = true)
        {
            KooshDarooDatabase odb          = new KooshDarooDatabase();
            var      pharmacyS              = odb.GetPharmacysAsync();
            var      pharmacy               = pharmacyS.Result[0];
            Location sourceCoordinates      = new Location(X, Y);
            Location destinationCoordinates = new Location(pharmacy.X, pharmacy.Y);
            Int32    distance               = Convert.ToInt32(Location.CalculateDistance(sourceCoordinates, destinationCoordinates, DistanceUnits.Kilometers) * 1000);

            var prescription = new Prescription()
            {
                DateAndDistance = dateOf.Hour.ToString() + ":" + dateOf.Minute.ToString() + "       ==>       " + distance.ToString() + " (متر)",
                Tag             = prescribeId.ToString()
            };

            //add or remove the a prescription to the list
            if (add)
            {
                _prescriptionList.Insert(0, prescription);
            }
            else
            {
                for (int i = 0; i < _prescriptionList.Count; i++)
                {
                    if (prescription.Tag == _prescriptionList[i].Tag)
                    {
                        _prescriptionList.RemoveAt(i);
                        break;
                    }
                }
            }

            lvPrescription             = (ListView)FindByName("lvPrescription");
            lvPrescription.ItemsSource = prescriptionList;
        }
        private async void SignUpButton_Clicked(object sender, EventArgs e)
        {
            MemberService memberservices = new MemberService();
            //var xo = await memberservices.GetMemberAsync();
            var member = await memberservices.GetMemberByPhoneNoAsync(phoneNo.Text);

            if (member.Count == 0)
            {
                Member _member = new Member {
                    PhoneNo = phoneNo.Text, isInactive = false
                };
                var result = memberservices.PostMemberAsync(_member);
            }
            KooshDarooDatabase odb       = new KooshDarooDatabase();
            tblMember          newmember = new tblMember {
                PhoneNo = phoneNo.Text
            };
            int r = await odb.SaveItemAsync(newmember);

            odb = new KooshDarooDatabase();
            var oLoginItemS = odb.GetItemsAsync();
            var o           = oLoginItemS.Result.Count;

            App.Current.MainPage = new MainPageTabbed();
            //this.Content = (new MainPage()).Content;
        }
        private async void OpenPage()
        {
            KooshDarooDatabase odb = new KooshDarooDatabase();
            var oLoginItemS        = odb.GetItemsAsync();

            if (oLoginItemS.Result.Count > 0)
            {
                MemberService memberservices = new MemberService();
                //var member = await memberservices.GetMemberByPhoneNoAsync(oLoginItemS.Result[0].PhoneNo);
                var member = Task.Run(() => memberservices.GetMemberByPhoneNoAsync(oLoginItemS.Result[0].PhoneNo));
                if (member.Result.Count == 0)
                //if (member.Count == 0)
                {
                    oLoginItemS.Result.ForEach(f => odb.DeleteItemAsync(f));
                    App.Current.MainPage = new SignUpPage();
                }
                else
                {
                    App.Current.MainPage = new MainPageTabbed();
                }
            }
            else
            {
                App.Current.MainPage = new SignUpPage();
            }
            //MainPage = new NavigationPage(new SignUpPage());
        }
Esempio n. 4
0
        private async void OpenPage()
        {
            KooshDarooDatabase odb = new KooshDarooDatabase();
            var oLoginItemS        = odb.GetPharmacysAsync();

            if (oLoginItemS.Result.Count > 0)
            {
                PharmacyService Pharmacyervices = new PharmacyService();
                var             pharmacyS       = Task.Run(() => Pharmacyervices.GetPharmacyByPhoneNoAsync(oLoginItemS.Result[0].PhoneNo));
                if (pharmacyS.Result.Count == 0)
                {
                    oLoginItemS.Result.ForEach(f => odb.DeletePharmacyAsync(f));
                    MainPage = new NavigationPage(new SignUpPage());
                    //MainPage = new SignUpPage();
                }
                else
                {
                    myId      = pharmacyS.Result[0].id;
                    myPhoneNo = pharmacyS.Result[0].PhoneNo;

                    MainPage = new NavigationPage(new MainPageTabbed());
                    //MainPage = new MainPageTabbed();
                }
            }
            else
            {
                MainPage = new SignUpPage();
            }
        }
        public SignUpPage()
        {
            StackLayout stackLayout = new StackLayout();
            StackLayout cbx24       = new StackLayout();

            cbx24.Orientation = StackOrientation.Horizontal;

            pharmacy             = new Entry();
            pharmacy.FontSize    = fontsize;
            pharmacy.Placeholder = "نام داروخانه";
            stackLayout.Children.Add(pharmacy);

            phoneNo             = new Entry();
            phoneNo.FontSize    = fontsize;
            phoneNo.Placeholder = "شماره تلفن : 09123456789";
            stackLayout.Children.Add(phoneNo);

            lbl24h                   = new Label();
            lbl24h.FontSize          = fontsize;
            lbl24h.HorizontalOptions = LayoutOptions.EndAndExpand;
            lbl24h.Text              = "داروخانه شبانه‌روزی";
            cbx24.Children.Add(lbl24h);
            is24h = new CheckBox();
            is24h.HorizontalOptions = LayoutOptions.Start;
            cbx24.Children.Add(is24h);
            stackLayout.Children.Add(cbx24);

            city          = new Picker();
            city.FontSize = fontsize;
            city.Items.Add("< شهر >");
            city.Items.Add("تهران");
            city.Items.Add("کرمان");
            KooshDarooDatabase odb   = new KooshDarooDatabase();
            List <tblCity>     citys = odb.GetCitysAsync().Result;

            foreach (tblCity _city in citys)
            {
                city.Items.Add(_city.CityName + "(" + _city.StateName + ")");
            }
            city.SelectedIndex = 0;
            stackLayout.Children.Add(city);

            signUpButton          = new Button();
            signUpButton.FontSize = fontsize;
            signUpButton.Text     = "ثبت نام";
            signUpButton.Clicked += SignUpButton_Clicked;
            stackLayout.Children.Add(signUpButton);

            Content = stackLayout;
        }
Esempio n. 6
0
        public async Task <bool> CanPrescribeAsync()
        {
            KooshDarooDatabase odb = new KooshDarooDatabase();
            var oLoginItemS        = odb.GetItemsAsync();

            if (oLoginItemS.Result.Count == 0)
            {
                return(false);
            }
            else
            {
                //var result = await restClient.GetAsyncByFieldNameFirst("Prescribe","PhoneNo", oLoginItemS.Result[0].PhoneNo);
                //return (DateTime.Now.ToOADate()-result.DateOf.ToOADate() > 0.5);
                return((DateTime.Now.ToOADate() - oLoginItemS.Result[0].LastPrescribeDate.ToOADate()) >= 0.5);
            }
        }
        private async void SignUpButton_Clicked(object sender, EventArgs e)
        {
            PharmacyService Pharmacyservice = new PharmacyService();
            var             _pharmacyS      = await Pharmacyservice.GetPharmacyByPhoneNoAsync(phoneNo.Text);

            GetCurrentXY();
            if (x == 0 & y == 0)
            {
                return;
            }

            if (_pharmacyS.Count == 0)
            {
                KooshDaroo.Models.Pharmacy _pharmacy = new KooshDaroo.Models.Pharmacy {
                    City = city.SelectedItem.ToString(), Title = pharmacy.Text, X = x, Y = y, PhoneNo = phoneNo.Text, is24h = is24h.IsChecked
                };
                var result = Pharmacyservice.PostPharmacyAsync(_pharmacy);
                App.myId      = result.Result.id;
                App.myPhoneNo = result.Result.PhoneNo;
            }
            else
            {
                App.myId      = _pharmacyS[0].id;
                App.myPhoneNo = _pharmacyS[0].PhoneNo;
            }
            KooshDarooDatabase odb         = new KooshDarooDatabase();
            tblPharmacy        newPharmacy = new tblPharmacy {
                City = city.SelectedItem.ToString(), Title = pharmacy.Text, X = x, Y = y, PhoneNo = phoneNo.Text, is24h = is24h.IsChecked
            };
            int r = await odb.SavePharmacyAsync(newPharmacy);

            //odb = new KooshDarooDatabase();
            //var oLoginItemS = odb.GetPharmacysAsync();
            //var o = oLoginItemS.Result.Count;

            App.Current.MainPage = new NavigationPage(new MainPageTabbed());
            //App.Current.MainPage = new MainPageTabbed();
            //App.Current.MainPage = new PrescribesListPage();
            //await this.Navigation.PushAsync(new PrescribesListPage());
        }
Esempio n. 8
0
        public async Task <bool> CanPrescribeAsync()
        {
            KooshDarooDatabase odb = new KooshDarooDatabase();
            var oLoginItemS        = odb.GetPharmacysAsync();

            if (oLoginItemS.Result.Count == 0)
            {
                return(false);
            }
            else
            {
                //var result = await restClient.GetAsyncByFieldNameFirst("Prescribe","PhoneNo", oLoginItemS.Result[0].PhoneNo);
                //return (DateTime.Now.ToOADate()-result.DateOf.ToOADate() > 0.5);
                Prescribe prescribe = await GetLastPrescribe(oLoginItemS.Result[0].PhoneNo);

                if (prescribe == null)
                {
                    return(true);
                }

                return(DateTime.Now.ToOADate() - prescribe.DateOf.ToOADate() >= 0.5);
            }
        }
        private async void OnSendTapped(object sender, EventArgs args)
        {
            double x = 0.0;
            double y = 0.0;

            try
            {
                var location = await Geolocation.GetLastKnownLocationAsync();

                if (location != null)
                {
                    x = location.Latitude;
                    y = location.Longitude;
                }
            }
            catch (FeatureNotSupportedException fnsEx)
            {
                await DisplayAlert("Faild", fnsEx.Message, "OK");
            }
            catch (PermissionException pEx)
            {
                await DisplayAlert("Faild", pEx.Message, "OK");
            }
            catch (Exception ex)
            {
                await DisplayAlert("Faild", ex.Message, "OK");
            }


            if (x == 0 & y == 0)
            {
                return;
            }
            //await DisplayAlert("Sent", "To Server", "OK");
            PrescribeService Prescribeservice = new PrescribeService();

            if (Prescribeservice.CanPrescribeAsync().Result || true)
            {
                if (prescribeimage.Source == null)
                {
                    DisplayAlert("توجه", "ابتدا باید از نسخه عکس بگیرید", "OK");
                    return;
                }
                KooshDarooDatabase odb = new KooshDarooDatabase();
                var       oLoginItemS  = odb.GetItemsAsync();
                var       oLoginItem   = oLoginItemS.Result[0];
                Prescribe Prescribe    = new Prescribe
                {
                    isCancelled  = false,
                    Prescription = ReadFully((StreamImageSource)prescribeimage.Source),
                    X            = x,
                    Y            = y,
                    PhoneNo      = oLoginItem.PhoneNo
                };
                var result = await Prescribeservice.PostPrescribeAsync(Prescribe);

                if (result.id == 0)
                {
                    DisplayAlert("خطا", "امکان ارسال نسخه وجود ندارد و یادر 12 ساعت گذشته نسخه ارسال کرده اید و تا 12 ساعت امکان ثبت نسخه جدید ندارید.", "OK");
                }
                else
                {
                    prescribeimage.Source = null;
                    DisplayAlert("توجه", "نسخه ارسال شد. لطفاً تا رسیدن پاسخ از داروخانه ها صبرکنید.", "OK");
                    _prescribeId = result.id;

                    if (hubConnection.State == HubConnectionState.Disconnected)
                    {
                        StartConnectionToHub();
                    }

                    await hubConnection.SendAsync("SendPrescribeToPharmacy", Prescribe.X, Prescribe.Y, result.DateOf, result.id);

                    //await hubConnection.SendAsync("Send", "Testing the hub...");
                }
                //if (result == 0)
                //    DisplayAlert("خطا", "امکان ارسال نسخه وجود ندارد.", "OK");
                //else if (result == -1)
                //    DisplayAlert("خطا", "در 12 ساعت گذشته نسخه ارسال کرده اید و تا 12 ساعت امکان ثبت نسخه جدید ندارید.", "OK");
                //else
                //{
                //    prescribeimage.Source = null;
                //    DisplayAlert("توجه", "نسخه ارسال شد. لطفاً تا رسیدن پاسخ از داروخانه ها صبرکنید.", "OK");

                //    StartConnectionToHub();

                //    //await hubConnection.SendAsync("SendPrescribeToPharmacy", Prescribe.PhoneNo, Prescribe.DateOf);
                //    //await hubConnection.SendAsync("Send", "Testing the hub...");

                //}
            }
        }
Esempio n. 10
0
        private async void OnSendTapped(object sender, EventArgs args)
        {
            double x = 0.0;
            double y = 0.0;

            try
            {
                var location = await Geolocation.GetLastKnownLocationAsync();

                if (location != null)
                {
                    x = location.Latitude;
                    y = location.Longitude;
                }
            }
            catch (FeatureNotSupportedException fnsEx)
            {
                await DisplayAlert("Faild", fnsEx.Message, "OK");
            }
            catch (PermissionException pEx)
            {
                await DisplayAlert("Faild", pEx.Message, "OK");
            }
            catch (Exception ex)
            {
                await DisplayAlert("Faild", ex.Message, "OK");
            }


            //await DisplayAlert("Sent", "To Server", "OK");
            PrescribesService prescribesservice = new PrescribesService();
            {
                if (prescribeimage.Source == null)
                {
                    DisplayAlert("توجه", "ابتدا باید از نسخه عکس بگیرید", "OK");
                    return;
                }
                KooshDarooDatabase odb = new KooshDarooDatabase();
                var        oLoginItemS = odb.GetItemsAsync();
                var        oLoginItem  = oLoginItemS.Result[0];
                Prescribes prescribes  = new Prescribes {
                    DateOf = DateTime.Now.ToOADate(), isCancelled = false, Prescribe = ReadFully((StreamImageSource)prescribeimage.Source), X = x, Y = y, PhoneNo = oLoginItem.PhoneNo
                };
                var result = await prescribesservice.PostPrescribesAsync(prescribes);

                if (result.id != 0)
                {
                    prescribeimage.Source = null;
                    DisplayAlert("توجه", "نسخه ارسال شد. لطفاً تا رسیدن پاسخ از داروخانه ها صبرکنید.", "OK");

                    StartConnectionToHub();

                    await hubConnection.SendAsync("SendPrescribeToPharmacy", prescribes.PhoneNo, prescribes.DateOf);

                    //await hubConnection.SendAsync("Send", "Testing the hub...");
                }
                else
                {
                    DisplayAlert("خطا", "امکان ارسال نسخه وجود ندارد ویا در 12 ساعت گذشته نسخه ارسال کرده اید و تا 12 ساعت امکان ثبت نسخه جدید ندارید.", "OK");
                }
            }
        }