я хочу создать объект при использовании сервиса (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)
{
}