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