Exemple #1
0
        /**
         * Fill None register employee
         */
        public void fill(TicketViewDto ticket)
        {
            if (ticket.empId > 0)
            {
                return;
            }

            try
            {
                var info = dataPsProvider.getUnknowRequestor(new Domain.Entities.Ticket.Ticket()
                {
                    Id = ticket.id
                });

                ticket.empName = info.DisplayName;
                ticket.empNo   = info.EmpNo;
                ticket.email   = info.Email;
            }
            catch
            {
                return;
            }
        }
Exemple #2
0
        public List <ActionDto> getActions(int id, EmployeeDto emp, TicketViewDto ticketViewDto = null)
        {
            if (ticketViewDto == null)
            {
                ticketViewDto = dataProcessingProvider.getTicketView(id);
            }

            var agent = dataProcessingProvider.getAgentByEmpId(emp.id);


            if (agent != null && agent.Id > 0 && ticketViewDto.assignedEmpId != emp.id)
            {
                var canAccessAsAgent = dataProcessingProvider.canAccessAsAgent(agent.Id, (int)ticketViewDto.teamId);
                if (!canAccessAsAgent)
                {
                    agent = null;
                }
            }


            var actions = dataProcessingProvider.getAvailableActions(ticketViewDto.stateId, agent == null ? 0 : agent.Id);

            return(actions);
        }
Exemple #3
0
        public void fill(TicketViewDto ticket, SimpleActivityViewDto act)
        {
            //if (ticket != null && TicketActivityHandler.ACTIVITY_CODE.Equals(act.activityType))
            //{
            //    act.subject = ticket.subject;
            //}
            //else

            if (!actvityTypesFlag.Exists(t => t.Equals(act.activityType)))
            {
                actvityTypesFlag.Add(act.activityType);
                actvityTypes.Add(new { id = act.activityType, display = act.activityName });
            }


            if (ticket != null)
            {
                ticket.activityTypes = actvityTypes;
            }

            if (AssignTicketActivityHandler.ACTIVITY_CODE.Equals(act.activityType))
            {
                try
                {
                    var assignedInfo = dataPsProvider.getAssingeeInfo(act.id);

                    act.team            = assignedInfo.team;
                    act.assignee        = assignedInfo.assignee;
                    act.empNoAssignee   = assignedInfo.empNoAssignee;
                    act.assignedExpired = assignedInfo.expired;
                    if (act.actionBy == null)
                    {
                        act.actionBy = "System";
                    }
                }catch (Exception e)
                {
                    logger.Error(e);
                }
            }
            else if (ChangeStatusActivityHandler.ACTIVITY_CODE.Equals(act.activityType))
            {
                act.moreData = dataPsProvider.getChangeStatusDesc(act.id);
            }

            else if (TicketMergedActivityHandler.ACTIVITY_CODE.Equals(act.activityType))
            {
                act.addData = dataPsProvider.getMergeInfo(act.id);
            }
            else if (SubTicketActivityHandler.ACTIVITY_CODE.Equals(act.activityType))
            {
                act.addData = dataPsProvider.getSubTitket(act.id);
            }
            else if (TicketActivityHandler.ACTIVITY_CODE.Equals(act.activityType))
            {
                act.addData = dataPsProvider.getMainTicket(act.id);
                if (act.addData == null)
                {
                    var k2integrate = dataPsProvider.getFormIntegrated(ticket.id);
                    act.addData = k2integrate;
                    if (k2integrate != null)
                    {
                        ticket.description = dataPsProvider.GetITFormContent(k2integrate.Id);
                    }
                }
            }

            act.fileUpload = getFileInfo(act);
            if (ticket != null)
            {
                if (ticket.fileUpload == null)
                {
                    ticket.fileUpload = new List <FileUploadInfo>();
                }

                ticket.fileUpload.AddRange(act.fileUpload);

                if (!ticket.hasAttachment && act.fileUpload.Count > 0)
                {
                    ticket.hasAttachment = true;
                }
            }

            if (ticket != null && ticket.reference != null)
            {
                var email = dataPsProvider.GetEmailItem(ticket.reference);
                if (email != null)
                {
                    ticket.emailItem = email;
                }
            }
        }
Exemple #4
0
        // GET api/<controller>
        public HttpResponseMessage Get(string by = "User", int ticketId = 0)
        {
            try
            {
                if ("User".Equals(by))
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, new { }));
                }

                TicketViewDto formData = null;

                if (ticketId > 0)
                {
                    formData = ticketService.loadTicket(ticketId);
                }

                IEnumerable <GeneralLookupDto> ticketAgents = null;
                IEnumerable <GeneralLookupDto> subCates     = null;
                IEnumerable <GeneralLookupDto> items        = null;
                EmployeeDto requestor = null;
                int?        priority  = null;
                if (formData != null)
                {
                    ticketAgents = ticketLookupService.listTicketAgent((int)formData.itemId);
                    subCates     = ticketLookupService.listTicketSubCate((int)formData.categoryId, false);
                    items        = ticketLookupService.listTicketItem((int)formData.subCateId);
                    IEmployeeService empService = new EmployeeService();
                    if (formData.empId > 0)
                    {
                        requestor = empService.GetEmployee(formData.empId);
                        priority  = formData.priorityId;
                    }
                }

                var data = new
                {
                    types      = ticketLookupService.listTicketType(false),
                    sources    = ticketLookupService.listTicketSource(),
                    statuses   = ticketLookupService.listTicketStatus(ticketId == 0? 2:1, formData == null?0: (int)formData.statusId),
                    impacts    = ticketLookupService.listTicketImpact(),
                    urgencies  = ticketLookupService.listTicketUrgency(),
                    priorities = ticketLookupService.listTicketPriority(),
                    sites      = ticketLookupService.listTicketSite(),
                    teams      = ticketLookupService.listTicketTeam(),
                    agents     = ticketAgents,
                    cates      = ticketLookupService.listTicketCategory(),
                    subCates   = subCates,
                    items      = items,
                    requestor  = requestor,
                    formData   = formData
                };

                return(Request.CreateResponse(HttpStatusCode.OK, data));
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, new
                {
                    status = "success",
                    message = e.Message
                }));
            }
        }