/// <summary> /// Пользователь выбрал методо оплаты /// </summary> /// <returns></returns> private async Task <IActionResult> SelectPaymentMethod() { OrderFunction = new OrderFunction(); int PaymentTypeId = 0; bool TestConnection = false; bool ExistUserName = false; bool ExistTelephone = false; OrderTemp orderTemp = null; ConfigurationBot = GetConfigurationBot(BotInfo.Id); if (Argumetns.Count > 0) { PaymentTypeId = Argumetns[0]; TestConnection = OrderFunction.PaymentTypeTestConnection(PaymentTypeId); } if (TestConnection == false) { await AnswerCallback("Ошибка. Данный способ оплаты недоступен!", true); OrderFunction.Dispose(); return(OkResult); } if (TestConnection) { orderTemp = OrderFunction.AddPaymentMethodToOrderTmp(FollowerId, BotInfo.Id, PaymentTypeId); OrderFunction.Dispose(); } //Данные о выбраном способоне оплаты успешно занесены в БД. //Если в настройках бота включена верификация по номеру телефона, то проверяем указан ли номер телефона у этого пользователя //Если не указан то просим указать ExistTelephone = FollowerFunction.ExistTelephone(FollowerId); if (orderTemp != null && ConfigurationBot != null && ConfigurationBot.VerifyTelephone && !ExistTelephone) { BotMessage = new RequestPhoneNumberMessage(); await SendMessage(BotMessage.BuildMsg()); } //телефон указан if (orderTemp != null && ConfigurationBot != null && ConfigurationBot.VerifyTelephone && ExistTelephone) { return(await SendOrderTemp()); } //Данные о выбраном способоне оплаты успешно занесены в БД. //Если в настройках бота верификация по телефону отключена, проверяем указан ли у пользователя UserName ExistUserName = FollowerFunction.ExistUserName(FollowerId); if (orderTemp != null && ConfigurationBot != null && !ConfigurationBot.VerifyTelephone && !ExistUserName) { return(await SendUserNameAddedFaq()); } //UserName указан if (orderTemp != null && ConfigurationBot != null && !ConfigurationBot.VerifyTelephone && ExistUserName) { return(await SendOrderTemp()); } return(OkResult); }