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