示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
        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);
        }