/// <summary>
        /// Показать платеж по id счета
        /// </summary>
        /// <param name="InvoiceId"></param>
        /// <param name="MessageId"></param>
        /// <returns></returns>
        private async Task <IActionResult> SendViewPayment(int PaymentId, int MessageId = 0)
        {
            try
            {
                var Payment = PaymentsFunction.GetPayment(PaymentId);

                if (Payment != null)
                {
                    BotMessage = new PaymentViewMessage(Payment);
                    await SendMessage(BotMessage.BuildMsg(), MessageId);
                }

                else
                {
                    await AnswerCallback("Данные по оплате отсутствуют", true);
                }

                return(OkResult);
            }

            catch
            {
                return(OkResult);
            }
        }
        /// <summary>
        /// Заносим информацию о полученом платеже в бд и уведовляем об этом операторов
        /// </summary>
        /// <returns></returns>
        private async Task <IActionResult> SuccessfulPaymentCreditCard()
        {
            var id = Convert.ToInt32(this.Update.Message.SuccessfulPayment.InvoicePayload);

            this.OrderId = Convert.ToInt32(id);

            OrderFunction = new BusinessLayer.OrderFunction();

            var Payment = OrderFunction.AddCreditCardPayment(this.OrderId,
                                                             (this.Update.Message.SuccessfulPayment.TotalAmount / 100),
                                                             this.Update.Message.SuccessfulPayment.ProviderPaymentChargeId,
                                                             "идентификатор платежа в Telegram:" + this.Update.Message.SuccessfulPayment.TelegramPaymentChargeId);


            if (Payment != null)
            {
                BotMessage = new OrderViewMessage(this.OrderId); // отправляем пользователю сообщение с деталями его заказа
                await SendMessage(BotMessage.BuildMsg());

                BotMessage = new PaymentViewMessage(Payment.Id);// отрпавляем уведомление о новом платеже всем операторам
                await SendMessageAllBotEmployeess(BotMessage.BuildMsg());

                OrderFunction.Dispose();
            }
            return(OkResult);
        }
        /// <summary>
        /// Показать детали платежа /payment[id]
        /// </summary>
        /// <returns></returns>
        private async Task <IActionResult> SendViewPayment()
        {
            try
            {
                int Id = Convert.ToInt32(base.CommandName.Substring(PaymentCmd.Length));

                var Payment = PaymentsFunction.GetPayment(Id);

                BotMessage = new PaymentViewMessage(Payment);
                await SendMessage(BotMessage.BuildMsg());

                return(OkResult);
            }

            catch
            {
                return(OkResult);
            }
        }
        /// <summary>
        /// Кнопка  я оплатил. ПРоверка платежа
        /// </summary>
        /// <returns></returns>
        private async Task <IActionResult> CheckPay()
        {
            PaymentsFunction paymentsFunction = new PaymentsFunction();
            var invoice = await paymentsFunction.CheckPaidInvoice(OrderId);

            paymentsFunction.Dispose();

            if (invoice != null && invoice.Payment.Count > 0 && invoice.Paid) // платеж найден и счет имеет статут Оплачен
            {
                BotMessage = new InvoiceViewMessage(invoice, OrderId);
                await EditMessage(BotMessage.BuildMsg());

                //уведомляем сотрудников о поступлении платежа
                PaymentViewMessage paymentViewMessage = new PaymentViewMessage(invoice.Payment.LastOrDefault().Id);
                await SendMessageAllBotEmployeess(paymentViewMessage.BuildMsg());
            }

            else
            {
                await AnswerCallback("Платеж не найден", true);
            }

            return(OkResult);
        }