Создание транзакции FireBase с помощью Xamarin

277
18 апреля 2022, 15:30

Необходимо просто поле count постоянно добавлять +1, как я понимаю если я сделаю так:

private async void Button_Clicked(object sender, EventArgs e)
{
    using (var firebase = new FirebaseClient("https://patriot-5acda.firebaseio.com/"))
    {            
        string countStr = await firebase.Child("Patriot").Child("Server").Child("Count").OnceSingleAsync<string>();
        int count = int.Parse(countStr);
        count++;
        await firebase.Child("Patriot").Child("Server").Child("Count").PutAsync(JsonConvert.SerializeObject(count.ToString()));
    }        
}

то если 2 человека одновременно это сделают пройдет лишь +1, а не +2, по моей логике необходима транзакция, может кто подскажет как ее написать?

READ ALSO
Сравнение двух дат в C#

Сравнение двух дат в C#

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

150
Как обрезать после 3ей запятой?

Как обрезать после 3ей запятой?

Есть текст - showAcabado(this, 'http:', 'BLACK', '', '')

131
CS0029 при записи элемента в строку C#

CS0029 при записи элемента в строку C#

Когда я присваивал строке(string) элемент из массива символов компилятор пишет ошибку CS0029: Cannot implicitly convert type 'int' to 'string'

212
Как реализуются иммутабельные записи в БД?

Как реализуются иммутабельные записи в БД?

При реализации проекта/схемы БД небольшой/тривиальной бухгалтерской программы возникла следующая проблемаПредставим себе несколько таблиц...

178