Пример #1
0
        public ITicketActivityHandler getTicketActivityHandler(IDataProcessingProvider dataProcessingProvider, AbstractTicketParam ticketParams)
        {
            ITicketActivityHandler ticketActivityInstance = getInstance(dataProcessingProvider, ticketParams);

            if (ticketActivityInstance != null)
            {
                return(ticketActivityInstance);
            }

            throw new Exception(String.Format(" {0} cannot be found to instance. Please make sure that it have been registered", ticketParams.ActivityCode));
        }
Пример #2
0
        public object takeAction(ITicketDataParser ticketDataParser, IActivityMessageHandler moreActMsgHandler)
        {
            var ticketParam = ticketDataParser.parse();
            ITicketActivityHandler acitivity = TicketActivityFactoryImpl.getInstance().getTicketActivityHandler(dataProcessingProvider, ticketParam);

            IActivityMessageHandler actMsgHandler = new ActivityMessageHandler(dataProcessingProvider);

            acitivity.addActMsgHandler(actMsgHandler);
            if (moreActMsgHandler != null)
            {
                acitivity.addActMsgHandler(moreActMsgHandler);
            }

            if (ticketDataParser.getActivityDto() != null)
            {
                acitivity.addActMsgHandler(new K2ActionHandlers(ticketEnquiry, ticketDataParser.getActivityDto().CurrUser));
            }

            acitivity.setNotifyHandler(new TicketNotifyHander(dataProcessingProvider));

            var tran = this.unitOfWork.begin();

            try
            {
                acitivity.takeAction();
                unitOfWork.commit(tran);
            }
            catch (Exception e)
            {
                unitOfWork.rollBack(tran);
                logger.Error(e);
                throw e;
            }

            var message = ((ITicketMessaging)actMsgHandler).getMessage();

            return(message);
        }