private async Task <IActionResult> AddHelpDeskAnswer() { try { HelpNumber = Convert.ToInt32(OriginalMessage.Substring(AddCommentForceReply.Length)); HelpDesk = HelpDeskFunction.HelpDeskFindByNumber(HelpNumber); if (HelpDesk != null) { HelpDesk = HelpDeskFunction.AddAnswerComment(HelpDesk.Id, FollowerId, ReplyToMessageText); BotMessage = new AdminHelpDeskMessage(HelpDesk, FollowerId); await SendMessage(BotMessage.BuildMsg()); //Уведомляем всех сотрудников BotMessage = new HelpDeskActionNotifiMessage(HelpDesk, HelpDesk.HelpDeskAnswer.LastOrDefault()); await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); } return(OkResult); } catch { return(OkResult); } }
private async Task <IActionResult> CloseHelpDesk() { var WhoItWorkNow = HelpDeskFunction.WhoItWorkNow(HelpDeskId); if (WhoItWorkNow.Follower.Id == FollowerId) { HelpDesk = HelpDeskFunction.HelpDeskClosed(HelpDeskId, FollowerId); BotMessage = new AdminHelpDeskMessage(HelpDesk); await EditMessage(BotMessage.BuildMsg()); //уведомляем всех сотрудников BotMessage = new HelpDeskActionNotifiMessage(HelpDesk, HelpDesk.HelpDeskAnswer.LastOrDefault()); await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); //уведомляем пользователя который создал заявку о том что заявка закрыта BotMessage = new HelpDeskEditorMessage(HelpDesk); await SendMessage(HelpDesk.Follower.ChatId, BotMessage.BuildMsg()); return(OkResult); } else { await SendMessage(new BotMessage { TextMessage = "Заявка в обработке у " + WhoItWorkNow.Follower.FirstName + " " + WhoItWorkNow.Follower.LastName }); return(OkResult); } }
private async Task <IActionResult> TakeToWork() { var WhoItWorkNow = HelpDeskFunction.WhoItWorkNow(HelpDeskId); HelpDesk = HelpDeskFunction.GetHelpDesk(HelpDeskId); if (WhoItWorkNow == null || WhoItWorkNow != null && WhoItWorkNow.Follower.Id == FollowerId) { var Inwork = HelpDeskFunction.TakeToWork(HelpDeskId, FollowerId); await SendHelpDesk(HelpDeskId); //уведомляем сотрудников о том что заявку взяли в работу BotMessage = new HelpDeskActionNotifiMessage(HelpDesk, Inwork); await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); return(OkResult); } if (WhoItWorkNow != null && WhoItWorkNow.Id != FollowerId) // заявка в обработке у другого пользователя. Отправляем сообщение с вопрос о переназначении { BotMessage = new OverridePerformerConfirmMessage(HelpDesk, WhoItWorkNow); await EditMessage(BotMessage.BuildMsg()); } return(OkResult); }
private async Task <IActionResult> SendHelpDesk() { try { if (HelpDeskId == 0) { HelpNumber = Convert.ToInt32(CommandName.Substring(7)); HelpDesk = HelpDeskFunction.HelpDeskFindByNumber(HelpNumber); } if (HelpDeskId > 0) { HelpDesk = HelpDeskFunction.GetHelpDesk(HelpDeskId); } if (HelpDesk != null) { AdminHelpDeskMessage adminHelpDesk = new AdminHelpDeskMessage(HelpDesk, FollowerId); await SendMessage(adminHelpDesk.BuildMsg()); } return(OkResult); } catch { return(OkResult); } }
private async Task <IActionResult> AddTextToHelpDesk() { var NoSendHelp = HelpDeskFunction.InsertHelpDesk(FollowerId, BotInfo.Id, ReplyToMessageText); BotMessage = new HelpDeskEditorMessage(NoSendHelp); await SendMessage(BotMessage.BuildMsg()); return(OkResult); }
private async Task <IActionResult> SendHelpDesk(int Id) { if (Id > 0) { HelpDesk = HelpDeskFunction.GetHelpDesk(Id); } if (HelpDesk != null) { AdminHelpDeskMessage adminHelpDesk = new AdminHelpDeskMessage(HelpDesk, FollowerId); await SendMessage(adminHelpDesk.BuildMsg()); } return(OkResult); }
/// <summary> /// Прикрепить еще вложения к заявке /// </summary> /// <returns></returns> private async Task <IActionResult> GetHelpDeskNoSendAndAddAttach() { int AttachId = await CheckAttach(); var NoSendHelp = HelpDeskFunction.GetHelpDesk(FollowerId, BotInfo.Id); var attach = HelpDeskFunction.AddAttachToHelpDesk(AttachId, NoSendHelp.Id); if (attach != null) { NoSendHelp.HelpDeskAttachment.Add(attach); } BotMessage = new HelpDeskEditorMessage(NoSendHelp); await SendMessage(BotMessage.BuildMsg()); return(OkResult); }
public override BotMessage BuildMsg() { if (this.HelpDesk == null) { this.HelpDesk = HelpDeskFunction.GetHelpDesk(HelpDeskId); } string HelpAnswerText = ""; if (HelpDesk != null && HelpDesk.Send == true) { base.TextMessage = Bold("Номер заявки: ") + HelpDesk.Number.ToString() + NewLine() + Bold("Пользователь: ") + Bot.GeneralFunction.FollowerFullName(HelpDesk.Follower) + NewLine() + Bold("Дата: ") + HelpDesk.Timestamp.ToString() + NewLine() + Bold("Описание проблемы: ") + HelpDesk.Text + NewLine() + Bold("Прикрепленных файлов: ") + HelpDesk.HelpDeskAttachment.Count.ToString() + NewLine() + "Что бы быстро открыть эту заявку введите команду /ticket" + HelpDesk.Number; if (HelpDesk.HelpDeskAnswer != null && HelpDesk.HelpDeskAnswer.Count > 0) { int counter = 1; foreach (HelpDeskAnswer answer in HelpDesk.HelpDeskAnswer) { HelpAnswerText += counter.ToString() + ") Комментарий:" + " " + answer.Text + " | " + " Время:" + " " + answer.Timestamp.ToString() + " | " + " Пользователь:" + " " + HrefUrl("https://t.me/" + answer.Follower.UserName, Bot.GeneralFunction.FollowerFullName(answer.Follower)) + NewLine() + NewLine(); counter++; } } // Узнаем у кого в обработке InWorkNow = HelpDesk.HelpDeskInWork.LastOrDefault(); base.TextMessage += NewLine() + NewLine() + HelpAnswerText; CreateBtn(); base.MessageReplyMarkup = SetInlineKeyBoard(); } return(this); }
private async Task <IActionResult> SaveHelpDesk(int HelpDeskId) { if (!FollowerFunction.IsBlocked(FollowerId)) { var Help = HelpDeskFunction.SaveHelpDesk(HelpDeskId); BotMessage = new HelpDeskEditorMessage(Help); await EditMessage(BotMessage.BuildMsg()); AdminHelpDeskMessage adminHelpDesk = new AdminHelpDeskMessage(Help); await base.SendMessageAllBotEmployeess(adminHelpDesk.BuildMsg()); } else { await SendMessage(new BotMessage { TextMessage = "Пользователь заблокирован!" }); } return(OkResult); }
public override Stream BuildReport() { HelpDeskList = HelpDeskFunction.GetAllHelpDeskList(); HelpWorksheet = Excel.Workbook.Worksheets.Add("Заявки"); // шапка HelpWorksheet.Cells[1, 1].Value = "Номер заявки"; HelpWorksheet.Cells[1, 2].Value = "Дата"; HelpWorksheet.Cells[1, 3].Value = "Пользователь"; HelpWorksheet.Cells[1, 4].Value = "Описание проблемы"; HelpWorksheet.Cells[1, 5].Value = "Комментарий оператора"; HelpWorksheet.Cells[1, 6].Value = "Время"; HelpWorksheet.Cells[1, 7].Value = "Оператор"; int row = 2; foreach (var help in HelpDeskList) { foreach (var answer in help.HelpDeskAnswer) { HelpWorksheet.Cells[row, 1].Value = help.Number; HelpWorksheet.Cells[row, 2].Value = help.Timestamp.ToString(); HelpWorksheet.Cells[row, 3].Value = help.Follower.FirstName + " " + help.Follower.LastName; HelpWorksheet.Cells[row, 4].Value = help.Text; HelpWorksheet.Cells[row, 5].Value = answer.Text; HelpWorksheet.Cells[row, 6].Value = answer.Timestamp.ToString(); HelpWorksheet.Cells[row, 7].Value = answer.Follower.FirstName + " " + answer.Follower.LastName; row++; } } return(new MemoryStream(Excel.GetAsByteArray())); }
public override InlineQueryResult[] GetResult() { list = HelpDeskFunction.GetHelpDeskList(Number).Take(MaxResult).ToList(); InputTextMessageContent[] textcontent = new InputTextMessageContent[list.Count]; InlineQueryResultArticle[] article = new InlineQueryResultArticle[list.Count]; InlineQueryResult[] result = new InlineQueryResult[list.Count]; int i = 0; foreach (var help in list) { textcontent[i] = new InputTextMessageContent(); textcontent[i].ParseMode = Telegram.Bot.Types.Enums.ParseMode.Html; textcontent[i].DisableWebPagePreview = true; textcontent[i].MessageText = "/ticket" + help.Number.ToString(); article[i] = new InlineQueryResultArticle(); article[i].HideUrl = false; article[i].Id = help.Id.ToString(); article[i].Title = "Заявка №" + help.Number.ToString(); article[i].Description = help.Number + BotMessage.NewLine() + "Время:" + help.Timestamp; article[i].ThumbUrl = "https://cdn2.iconfinder.com/data/icons/shop-payment-vol-6/128/shop-10-256.png"; article[i].InputMessageContent = textcontent[i]; result[i] = new InlineQueryResult(); result[i] = article[i]; i++; } return(result); }
private async Task <IActionResult> FreeHelpDesk() { var WhoItWorkNow = HelpDeskFunction.WhoItWorkNow(HelpDeskId); HelpDesk = HelpDeskFunction.GetHelpDesk(HelpDeskId); if (WhoItWorkNow.Follower.Id == FollowerId) { HelpDeskFunction.FreeHelpDesk(HelpDeskId, FollowerId); await SendHelpDesk(HelpDeskId); //уведомляем всех await SendMessageAllBotEmployeess(new BotMessage { TextMessage = "Заявка №" + HelpDesk.Number.ToString() + " Свободна. /ticket" + HelpDesk.Number.ToString() }); return(OkResult); } else { await SendMessage(new BotMessage { TextMessage = "Заявка в обработке у " + WhoItWorkNow.Follower.FirstName + " " + WhoItWorkNow.Follower.LastName }); return(OkResult); } }
private async Task <IActionResult> SendHelpDeskAttach() { var attach_list = HelpDeskFunction.GetHelpDeskAttachment(HelpDeskId); var help = HelpDeskFunction.GetHelpDesk(HelpDeskId); if (help != null && attach_list.Count > 0) { HelpDeskViewAttachMessage viewAttachMessage = new HelpDeskViewAttachMessage(help, attach_list, BotInfo.Id); var mess = viewAttachMessage.BuildMessage(); foreach (var attach in mess) { await SendMediaMessage(attach); } } else { await AnswerCallback(); } return(OkResult); }