/// <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); } }
/// <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); } }