示例#1
0
        private async void LoginButton_Clicked(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(Emailentry.Text))
            {
                await DisplayAlert("Erro", "Digite um Email Valido linha 38", "Aceitar");

                Emailentry.Focus();
                return;
            }

            if (!Utilitario.isvalidEmail(Emailentry.Text) == false)
            {
                await DisplayAlert("Erro", "Digite um Email Valido linha 47", "Aceitar");

                Emailentry.Focus();
                return;
            }
            if (string.IsNullOrEmpty(passwordEntry.Text))
            {
                await DisplayAlert("Erro", "Digite um Senha Valido", "Aceitar");

                passwordEntry.Focus();
                return;
            }

            /* */

            this.Logar();
        }
        private async void Button_Clicked(object sender, EventArgs e)
        {
            if (Limitentry.Text == "")
            {
                limit = 0;
            }
            else
            {
                limit = int.Parse(Limitentry.Text);
            }
            try
            {
                ActiveIn.IsVisible = true;
                if (CrossConnectivity.Current.IsConnected)
                {
                    Client client = new Client
                    {
                        name    = ClientNameArentry.Text,
                        enname  = ClientEnnamenentry.Text,
                        address = ClientAddressentry.Text,
                        email   = Emailentry.Text,
                        phone   = phoneentry.Text,
                        note    = Notesentry.Text,
                        limitt  = limit
                    };
                    var nsAPI = RestService.For <IClientService>("https://ittezanmobilepos.com");
                    try
                    {
                        var data = await nsAPI.AddClient(client);

                        if (data.success == true)
                        {
                            ActiveIn.IsVisible = false;
                            await Navigation.PushPopupAsync(new ClientAdded());

                            await Navigation.PopAsync();
                        }
                    }
                    catch (Exception ex)
                    {
                        ActiveIn.IsVisible = false;
                        var data = await nsAPI.AddClientError(client);

                        await Navigation.PushPopupAsync(new ClientAdded(data.data.email.First()));

                        Emailentry.Focus();
                    }
                }
                else
                {
                    var dbpath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "MyDb.db");
                    var db     = new SQLiteConnection(dbpath);
                    var info   = db.GetTableInfo("Client");
                    if (!info.Any())
                    {
                        db.CreateTable <Client>();
                    }
                    db.CreateTable <AddClientOffline>();
                    Client client = new Client
                    {
                        name       = ClientNameArentry.Text,
                        enname     = ClientEnnamenentry.Text,
                        address    = ClientAddressentry.Text,
                        email      = Emailentry.Text,
                        phone      = phoneentry.Text,
                        note       = Notesentry.Text,
                        limitt     = limit,
                        created_at = DateTime.Now.ToString()
                    };
                    var udatedclient = db.Table <Client>().Where(i => i.email == client.email).ToList();


                    if (udatedclient.Count == 0)
                    {
                        ActiveIn.IsVisible = false;
                        AddClientOffline clientOffline = new AddClientOffline
                        {
                            name       = ClientNameArentry.Text,
                            enname     = ClientEnnamenentry.Text,
                            address    = ClientAddressentry.Text,
                            email      = Emailentry.Text,
                            phone      = phoneentry.Text,
                            note       = Notesentry.Text,
                            limitt     = limit,
                            created_at = DateTime.Now.ToString()
                        };
                        db.Insert(clientOffline);
                        db.Insert(client);
                        await Navigation.PushPopupAsync(new ClientAdded());

                        await Navigation.PopAsync();
                    }
                    else
                    {
                        ActiveIn.IsVisible = false;

                        await Navigation.PushPopupAsync(new ClientAdded("قيمة البريد الالكتروني مُستخدمة من قبل"));

                        Emailentry.Focus();
                    }
                }
            }
            catch (ValidationApiException validationException)
            {
                ActiveIn.IsVisible = false;
                await DisplayAlert(AppResources.Alert, AppResources.ConnectionNotAvailable, AppResources.Ok);

                // handle validation here by using validationException.Content,
                // which is type of ProblemDetails according to RFC 7807
            }
            catch (ApiException exception)
            {
                ActiveIn.IsVisible = false;
                await DisplayAlert(AppResources.Alert, AppResources.ConnectionNotAvailable, AppResources.Ok);

                // other exception handling
            }
        }