private async void blockButton_Clicked(object sender, EventArgs e) { StartLoading(); var stuff = new StuffModel(); stuff.MobileDevicKey = MobileStaticVariables.UserInfo.MobileDeviceKey; stuff.ColegueList.Add(_colegue); var cancellationTokenSource = new CancellationTokenSource(); await Task.Factory.StartNew(x => { try { string registration = ""; registration = MobileStaticVariables.WebUtils.SendAuthRequest("BlockManager", stuff); Logger.WriteLine("BlockManager : " + registration); if (registration == "") { throw new Exception("Получена пустая строка"); } stuff.ParseJson(registration); if (stuff.ResultState == RequestResult.Results.Success) { Device.BeginInvokeOnMainThread(async() => { await DisplayAlert("Ура", "Оператор заблокирован", "Продолжить"); EndLoading(); await Navigation.PopToRootAsync(); }); } else { Device.BeginInvokeOnMainThread(async() => { await DisplayAlert("Внимание", stuff.TranslateResult(stuff.ResultState), "Продолжить"); EndLoading(); }); } } catch (Exception ex) { Logger.WriteError(ex); Device.BeginInvokeOnMainThread(async() => { EndLoading(); await DisplayAlert("Внимание", "Не удается соедениться с сервером", "Повторить"); }); } }, TaskCreationOptions.AttachedToParent, cancellationTokenSource.Token); }
private async void continueButton_Clicked(object sender, EventArgs e) { string login = (Regex.IsMatch(loginEntry.Text, emailRegex)) ? loginEntry.Text : ""; string name = nameEntry.Text.Trim(); string position = positionEntry.Text.Trim(); string Shop = selectShopButton.Text; if (name != "") { if (login != "") { if ((Shop != "Магазин не выбран" && MobileStaticVariables.UserInfo.ShopList.Count != 1) || MobileStaticVariables.UserInfo.ShopList.Count == 1) { if (_colegue == null) { _colegue = new Colegue(); } _colegue.Email = login; _colegue.Name = name; _colegue.Position = position; if (MobileStaticVariables.UserInfo.ShopList.Count == 1) { _colegue.ShopKey = MobileStaticVariables.UserInfo.ShopList.FirstOrDefault().ShopKey; } else { if (dictTO.TryGetValue(Shop, out int shopKey)) { _colegue.ShopKey = shopKey; } } var stuff = new StuffModel(); stuff.MobileDevicKey = MobileStaticVariables.UserInfo.MobileDeviceKey; stuff.ColegueList.Clear(); stuff.ColegueList.Add(_colegue); var cancellationTokenSource = new CancellationTokenSource(); try { StartLoading(); await Task.Factory.StartNew(x => { try { string registration = ""; registration = MobileStaticVariables.WebUtils.SendAuthRequest("RegManager", stuff); Logger.WriteLine("registration : " + registration); if (registration == "") { throw new Exception("Получена пустая строка"); } stuff.ParseJson(registration); if (stuff.ResultState == RequestResult.Results.Success) { Device.BeginInvokeOnMainThread(async() => { await DisplayAlert("Ура", "Добавление прошло успешно", "Продолжить"); EndLoading(); await Navigation.PopToRootAsync(); }); } else { Device.BeginInvokeOnMainThread(async() => { await DisplayAlert("Внимание", stuff.TranslateResult(stuff.ResultState), "Продолжить"); EndLoading(); }); } } catch (Exception ex) { Logger.WriteError(ex); Device.BeginInvokeOnMainThread(async() => { EndLoading(); await DisplayAlert("Внимание", "Не удается соедениться с сервером", "Повторить"); }); } }, TaskCreationOptions.AttachedToParent, cancellationTokenSource.Token); } catch (Exception ex) { Logger.WriteError(ex); } } else { await DisplayAlert("Внимание", "Введите магазин, в котором будет работать Ваш будущий коллега", "Хорошо"); positionEntry.Focus(); } } else { await DisplayAlert("Внимание", "Введите почту, чтобы мы могли связаться с Вашим будущим колегой", "Хорошо"); loginEntry.Focus(); } } else { await DisplayAlert("Внимание", "Введите имя Вашего будущего коллеги", "Хорошо"); nameEntry.Focus(); } }