コード例 #1
0
        /// <summary>
        /// Сформировать файл с выгрузкой и отправить
        /// </summary>
        /// <param name="excelExport"></param>
        /// <param name="FileName"></param>
        /// <param name="Caption"></param>
        /// <returns></returns>
        private async Task <IActionResult> SendExportFile(ExcelExport excelExport, string FileName, string Caption = "")
        {
            if (CheckTime())
            {
                ExcelExport = excelExport;

                base.SendAction();

                RequestLogFunction.Insert(FollowerId, DateTime.Now);

                await base.SendDocument(new FileToSend { Content = ExcelExport.BuildReport(), Filename = FileName }, Caption);

                return(OkResult);
            }

            else
            {
                if (Update.CallbackQuery == null)
                {
                    await SendMessage(new BotMessage { TextMessage = "Не более одного запроса в минуту" });
                }

                else
                {
                    await AnswerCallback("Не более одного запроса в минуту", true);
                }

                return(OkResult);
            }
        }
コード例 #2
0
        /// <summary>
        /// Проверяем время последнего формирования отчета и если последний отчет был сформирован менее 5 минут назад, то Возрващаем False.
        /// Значит отчет сейчас сформировать нельзя.
        /// </summary>
        /// <returns></returns>
        private bool CheckTime()
        {
            var lastRecord = RequestLogFunction.GetLasRecordFromFollower(FollowerId);

            if (lastRecord == null)
            {
                return(true);
            }

            if (lastRecord != null && UnixTimeNow() - ConvertToUnixTime(lastRecord.DateAdd.Value) > Minute * 60)
            {
                return(true);
            }


            else
            {
                return(false);
            }
        }