использовать службу для создания объекта, сохраненного в базе данных xamarin - PullRequest
0 голосов
/ 26 мая 2020

я хочу создать объект при использовании сервиса (Rest api); в моем интерфейсе, когда я добавляю сумму, она должна отображать за это время автоматически измененную сумму (расчет выполняется в сервисе) (обычно используется несфокусированный!)

Я не знаю, что мне нужно добавить чтобы эта функция работала должным образом, отправляя мне возвращенную сумму и отображая предупреждение, если мы превышаем максимальную сумму (указанную в базе данных).

        private void Button_Clicked(object sender, EventArgs e)
    {
        ajoutD.Clicked += async delegate
        {
            try
            {
                LoginViews expenses = new LoginViews();

                expenses.Name = nameLib.Text;
                expenses.StartDate = dataDe.Date;
                expenses.EndDate = dateAu.Date;
                datenow.Date = DateTime.Now;
                expenses.Description = description.Text;
                expenses.CurrencyId = ((DeviseL)devises.SelectedItem).id;
                expenses.AmountTTC = Convert.ToDecimal(ttc.Text);
                FocusEventArgs ee;
                ee = null;

                if (expenses.AmountTTC > expenses.MaxAmount)
                {
                   ttc.Unfocused += Label_Unfocused;
                    remb.Text = Convert.ToString(expenses.MaxAmount);
                }
                else
                {
                     remb.Text = expenses.AmountReimbursed.ToString();

                }
                expenses.Remboursable = Convert.ToBoolean(isremboursable);
                expenses.Provider = marchand.Text;
                 expenses.Description = description.Text;
                 HttpClient httpClient = new HttpClient();

                string url = $"http://192.168.1.3:3000/api/adepApi/CreateOrUpdateExpense";

                HttpResponseMessage response;
                var json = JsonConvert.SerializeObject(expenses);
                var content = new StringContent(json, Encoding.UTF8, "application/json");
                response = await httpClient.PostAsync(url, content);
                AuthResponse responseData = JsonConvert.DeserializeObject<AuthResponse>(response?.Content?.ReadAsStringAsync()?.Result);
                if (responseData.data.Success)
                {
                    await DisplayAlert("alerte", "connexion done", "ok");
                }
                else
                {
                    await DisplayAlert("Alerte", responseData.data.ErrorMessage, "attention");
                }
            }catch(Exception eee)
            {
                string msg = eee.ToString();
            }
        };

    }
        private async void Label_Unfocused(object sender, FocusEventArgs e)
    {
      }
...