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> AddTextToHelpDesk() { using (MarketBotDbContext db = new MarketBotDbContext()) { var NoSendHelp = db.HelpDesk.Where(h => h.Send == false && FollowerId == FollowerId).Include(h => h.HelpDeskAttachment).FirstOrDefault(); //У пользователя есть не отправленная заявка. Работаем с ней if (NoSendHelp != null && ReplyToMessageText != null || NoSendHelp != null && ReplyToMessageText != null) { NoSendHelp.Text = ReplyToMessageText; db.SaveChanges(); AddAttachToHelpDesk(await CheckAttach(), NoSendHelp.Id); if (NoSendHelp.Id > 0) { HelpDeskEditorMsg = new HelpDeskEditorMessage(NoSendHelp); await SendMessage(HelpDeskEditorMsg.BuildMessage()); } return(OkResult); } //У пользователя нет не отправленных заявок. Создаем новую, но не даем Номер и делам статус не отправлена if (NoSendHelp == null && ReplyToMessageText != null || NoSendHelp == null && ReplyToMessageText != null) { HelpDesk help = new HelpDesk { FollowerId = FollowerId, Text = ReplyToMessageText, Send = false }; db.HelpDesk.Add(help); db.SaveChanges(); AddAttachToHelpDesk(await CheckAttach(), help.Id); if (help.Id > 0) { HelpDeskEditorMsg = new HelpDeskEditorMessage(help); await SendMessage(HelpDeskEditorMsg.BuildMessage()); } return(OkResult); } if (ReplyToMessageText == null && Caption == null) { await SendMessage(new BotMessage { TextMessage = "Вы должны описать вашу проблему!" }); return(OkResult); } else { return(NotFoundResult); } } }
private async Task <IActionResult> AddTextToHelpDesk() { var NoSendHelp = HelpDeskFunction.InsertHelpDesk(FollowerId, BotInfo.Id, ReplyToMessageText); BotMessage = new HelpDeskEditorMessage(NoSendHelp); await SendMessage(BotMessage.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); }
/// <summary> /// Прикрепить еще вложения к заявке /// </summary> /// <returns></returns> private async Task <IActionResult> GetHelpDeskNoSendAndAddAttach() { using (MarketBotDbContext db = new MarketBotDbContext()) { var NoSendHelp = db.HelpDesk.Where(h => h.Send == false && FollowerId == FollowerId).Include(h => h.HelpDeskAttachment).FirstOrDefault(); var attach = AddAttachToHelpDesk(await CheckAttach(), NoSendHelp.Id); if (attach != null) { NoSendHelp.HelpDeskAttachment.Add(attach); } HelpDeskEditorMsg = new HelpDeskEditorMessage(NoSendHelp); await SendMessage(HelpDeskEditorMsg.BuildMessage()); return(OkResult); } }
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); }
private async Task <IActionResult> SaveHelpDesk(int HelpDeskId) { using (MarketBotDbContext db = new MarketBotDbContext()) { var Help = db.HelpDesk.Where(h => h.Id == HelpDeskId && h.Send == false).FirstOrDefault(); var LastHelp = db.HelpDesk.Where(h => h.Send == true).OrderByDescending(h => h.Number).Include(h => h.HelpDeskAttachment).FirstOrDefault(); if (Help != null) { int number = 1; if (LastHelp != null) { number = Convert.ToInt32(LastHelp.Number) + 1; } Help.Number = number; Help.Send = true; Help.Timestamp = DateTime.Now; Help.InWork = false; Help.Closed = false; db.SaveChanges(); HelpDeskEditorMsg = new HelpDeskEditorMessage(Help); var message = HelpDeskEditorMsg.BuildMessage(); await EditMessage(message); AdminHelpDeskMessage adminHelpDesk = new AdminHelpDeskMessage(Help.Id); await base.SendMessageAllBotEmployeess(await adminHelpDesk.BuldMessage()); return(OkResult); } else { return(NotFoundResult); } } }