private int FreeHelpDeskDb(HelpDesk help, HelpDeskInWork in_work) { try { using (MarketBotDbContext db = new MarketBotDbContext()) { if (help != null && in_work != null) { // освобождаем заявку help.InWork = false; //HelpDeskInWork inWork = new HelpDeskInWork { FollowerId = in_work.FollowerId, HelpDeskId = in_work.HelpDeskId, InWork = false, Timestamp = DateTime.Now }; // db.HelpDeskInWork.Add(inWork); int save = db.SaveChanges(); return(save); } else { return(-1); } } } catch (Exception exp) { return(-1); } }
/// <summary> /// освободить заявку. /// </summary> /// <param name="HelpDeskId"></param> /// <param name="FollowerId"></param> /// <returns></returns> public static HelpDeskInWork FreeHelpDesk(int HelpDeskId, int FollowerId) { MarketBotDbContext db = new MarketBotDbContext(); try { HelpDeskInWork helpDeskInWork = new HelpDeskInWork { FollowerId = FollowerId, HelpDeskId = HelpDeskId, InWork = false, Timestamp = DateTime.Now }; db.HelpDeskInWork.Add(helpDeskInWork); db.SaveChanges(); return(helpDeskInWork); } catch { return(null); } finally { db.Dispose(); } }
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); }
public OverridePerformerConfirmMessage(HelpDesk help, HelpDeskInWork helpDeskInWork) { HelpDesk = help; HelpDeskInWork = helpDeskInWork; }
public HelpDeskActionNotifiMessage(HelpDesk helpDesk, HelpDeskInWork deskInWork) { this.HelpDesk = helpDesk; this.HelpDeskInWork = deskInWork; }
private async Task <IActionResult> TakeHelpDesk() { try { using (MarketBotDbContext db = new MarketBotDbContext()) { var Help = db.HelpDesk.Where(h => h.Id == HelpDeskId).Include(h => h.HelpDeskAnswer). Include(h => h.HelpDeskAttachment).Include(h => h.HelpDeskInWork).FirstOrDefault(); if (Help != null && Help.Closed == false && Help.InWork == false) // Заявка не закрыта и не находится в обработке. Значит тек. пользвоателй берет ее в обработку { HelpDeskInWork work = new HelpDeskInWork { FollowerId = FollowerId, HelpDeskId = Help.Id, Timestamp = DateTime.Now, InWork = true }; Help.InWork = true; db.HelpDeskInWork.Add(work); db.SaveChanges(); AdminHelpDeskMsg = new AdminHelpDeskMessage(Help, FollowerId); await EditMessage(await AdminHelpDeskMsg.BuldMessage()); await Processing.NotifyChanges("Заявку №" + Help.Number.ToString() + " взял в работу пользователей:" + GeneralFunction.FollowerFullName(FollowerId), Help.Id); return(OkResult); } if (Help != null && Help.Closed == false && Help.InWork == true && Help.HelpDeskInWork.FirstOrDefault() != null && Help.HelpDeskInWork.OrderByDescending(h => h.Id).FirstOrDefault().FollowerId == FollowerId) // Заявка в обработке у пользователя который отправил сообщение { AdminHelpDeskMsg = new AdminHelpDeskMessage(Help, FollowerId); await EditMessage(await AdminHelpDeskMsg.BuldMessage()); return(OkResult); } if (Help != null && Help.Closed == false && Help.InWork == true && Help.HelpDeskInWork.FirstOrDefault() != null && Help.HelpDeskInWork.OrderByDescending(h => h.Id).FirstOrDefault().FollowerId != FollowerId) { await SendMessage( new BotMessage { TextMessage = "Заявка в обработке у пользователя: " + GeneralFunction.FollowerFullName(Help.HelpDeskInWork.OrderByDescending(h => h.Id).FirstOrDefault().FollowerId) }); return(OkResult); } if (Help != null && Help.Closed == true) { AdminHelpDeskMsg = new AdminHelpDeskMessage(Help, FollowerId); await EditMessage(await AdminHelpDeskMsg.BuldMessage()); return(OkResult); } else { return(OkResult); } } } catch { return(NotFoundResult); } }