Esempio n. 1
0
        public IActionResult ViewTicket(int id)
        {
            HelpdeskTicket ticket = _helpdeskProvider.GetTicket(id);

            if (ticket == null)
            {
                GrowlAdd(Languages.LanguageStrings.TicketNotFound);
                return(RedirectToAction(nameof(FindTicket), Name));
            }

            return(View(GetTicketViewModel(ticket)));
        }
Esempio n. 2
0
        private ViewTicketViewModel GetTicketViewModel(HelpdeskTicket ticket)
        {
            List <ViewTicketResponseViewModel> messages = new List <ViewTicketResponseViewModel>();

            foreach (HelpdeskTicketMessage item in ticket.Messages)
            {
                messages.Add(new ViewTicketResponseViewModel(item.DateCreated, item.UserName, FormatTextForDisplay(item.Message)));
            }

            return(new ViewTicketViewModel(GetModelData(),
                                           ticket.Id, ticket.Priority.Description,
                                           ticket.Department.Description, ticket.Status.Description,
                                           ticket.Key, ticket.Subject, ticket.DateCreated, ticket.DateLastUpdated,
                                           ticket.CreatedBy, ticket.LastReplier, messages));
        }
Esempio n. 3
0
        public IActionResult ViewTicket(string email, string ticketKey)
        {
            if (!_settings.ShowTickets)
            {
                return(RedirectToAction(nameof(Index), Name));
            }

            HelpdeskTicket ticket = _helpdeskProvider.GetTicket(email, ticketKey);

            if (ticket == null)
            {
                GrowlAdd(Languages.LanguageStrings.TicketNotFound);
                return(RedirectToAction(nameof(FindTicket), Name));
            }

            return(View(GetTicketViewModel(ticket)));
        }
            private async Task <Unit> AddHelpdeskHistory(HelpdeskTicket TicketDetails, UserModel request)
            {
                await _mediator.Send(new CreateTicketHistoryCommand
                {
                    TicketHistory = new TicketHistoryCreateModel
                    {
                        Response     = Constants.NewTicketHistoryResponse,
                        Status       = TicketDetails.StatusId,
                        TicketId     = TicketDetails.TicketId,
                        TicketNumber = TicketDetails.TicketNumber,
                        ElapsedTime  = 0,
                    },
                    User = request
                });

                return(Unit.Value);
            }
Esempio n. 5
0
        public IActionResult TicketRespond(TicketResponseViewModel model)
        {
            if (!_settings.ShowTickets)
            {
                return(RedirectToAction(nameof(Index), Name));
            }

            HelpdeskTicket ticket = _helpdeskProvider.GetTicket(model.Id);

            if (ticket == null)
            {
                return(RedirectToAction(nameof(FindTicket), Name));
            }

            _helpdeskProvider.TicketRespond(ticket, model.Name, model.Message);

            return(RedirectToAction(nameof(ViewTicket), Name, new { id = model.Id }));
        }
        public IActionResult FindTicket(FindTicketViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (!_settings.ShowTickets)
            {
                return(RedirectToAction(nameof(Index), Name));
            }

            if (!Shared.Utilities.IsValidEmail(model.Email))
            {
                ModelState.AddModelError(nameof(model.Email), Languages.LanguageStrings.InvalidEmailAddress);
            }

            HelpdeskCacheItem helpdeskCache = GetCachedHelpdeskItem(true);

            if (_settings.ShowCaptchaText && helpdeskCache.Requests > 1)
            {
                if (!model.CaptchaText.Equals(helpdeskCache.CaptchaText, StringComparison.CurrentCultureIgnoreCase))
                {
                    ModelState.AddModelError(nameof(model.CaptchaText), Languages.LanguageStrings.CodeNotValid);
                }
            }

            if (ModelState.IsValid)
            {
                HelpdeskTicket ticket = _helpdeskProvider.GetTicket(model.Email, model.Key);

                if (ticket != null)
                {
                    return(RedirectToAction(nameof(ViewTicket), Name, new { ticket.Id }));
                }

                GrowlAdd(Languages.LanguageStrings.TicketNotFound);
            }

            return(View(GetFindTicketViewModel()));
        }