示例#1
0
        protected virtual void CalcBasicPay()
        {
            var basicPayEarnRef = p_Processor.Run(new GetEarningQr(EarningCodeConstants.BasicPay));
            var handlerProvider = basicPayEarnRef.TaskHandlerProvider;

            var basicPayInstance = JobInstanceHelper.NewInstance <ITasq>
                                   (
                handlerProvider.TaskAssembly,
                handlerProvider.TaskClass,
                p_ProcessTracker,
                p_OldMasterData,
                p_NewMasterData,
                basicPayEarnRef
                                   );

            if (!handlerProvider.IsDefaultHandler)
            {
                var assembly = Assembly.Load(assemblyString: handlerProvider.HandlerAssembly);
                var type     = assembly.GetType(name: handlerProvider.HandlerClass);

                p_Processor.UsingAsHandler(type)
                .Run(basicPayInstance);
            }
            else
            {
                p_Processor.Run(basicPayInstance);
            }
        }
示例#2
0
        protected virtual void CalcEarnings()
        {
            var earnings        = p_Processor.Run(new GetEarningListQr());
            var basicPayEarning = p_Processor.Run(new GetEarningQr(EarningCodeConstants.BasicPay));

            foreach (var earning in earnings)
            {
                try
                {
                    if (earning.EarningID == basicPayEarning.EarningID)
                    {
                        continue;
                    }

                    var handlerProvider = earning.TaskHandlerProvider;

                    var instance = JobInstanceHelper.NewInstance <ITasq>
                                   (
                        handlerProvider.TaskAssembly,
                        handlerProvider.TaskClass,
                        p_ProcessTracker,
                        p_OldMasterData,
                        p_NewMasterData,
                        earning
                                   );

                    if (handlerProvider.IsDefaultHandler)
                    {
                        p_Processor.Run(instance);
                    }
                    else
                    {
                        var assembly = Assembly.Load(assemblyString: handlerProvider.HandlerAssembly);
                        var type     = assembly.GetType(name: handlerProvider.HandlerClass);

                        p_Processor.UsingAsHandler(type).Run(instance);
                    }
                }
                catch (Exception ex)
                {
                    p_ProcessTracker.LogError(ex);
                }
            }
        }
示例#3
0
        protected virtual void CalcLoans()
        {
            var loans = p_Processor.Run(new GetLoanListQr());

            foreach (var loan in loans)
            {
                try
                {
                    var handlerProvider = loan.TaskHandlerProvider;
                    var instance        = JobInstanceHelper.NewInstance <ITasq>
                                          (
                        handlerProvider.TaskAssembly,
                        handlerProvider.TaskClass,
                        p_ProcessTracker,
                        p_OldMasterData,
                        p_NewMasterData,
                        loan
                                          );

                    if (handlerProvider.IsDefaultHandler)
                    {
                        p_Processor.Run(instance);
                    }
                    else
                    {
                        var assembly = Assembly.Load(assemblyString: handlerProvider.HandlerAssembly);
                        var type     = assembly.GetType(name: handlerProvider.HandlerClass);

                        p_Processor.UsingAsHandler(type)
                        .Run(instance);
                    }
                }
                catch (Exception ex)
                {
                    p_ProcessTracker.LogError(ex);
                }
            }
        }