Exemplo n.º 1
0
        public static ITaxProvider CreateTaxProvider(PXGraph graph, TaxPlugin plugin)
        {
            ITaxProvider service = null;

            if (!string.IsNullOrEmpty(plugin.PluginTypeName))
            {
                try
                {
                    Type taxType = PXBuildManager.GetType(plugin.PluginTypeName, true);
                    service = (ITaxProvider)Activator.CreateInstance(taxType);

                    PXSelectBase <TaxPluginDetail> select    = new PXSelect <TaxPluginDetail, Where <TaxPluginDetail.taxPluginID, Equal <Required <TaxPluginDetail.taxPluginID> > > >(graph);
                    PXResultset <TaxPluginDetail>  resultset = select.Select(plugin.TaxPluginID);
                    var list = new List <ITaxProviderSetting>(resultset.Count);

                    foreach (TaxPluginDetail item in resultset)
                    {
                        list.Add(item);
                    }

                    service.Initialize(list);
                }
                catch (Exception ex)
                {
                    throw new PXException(Messages.FailedToCreateTaxPlugin, ex.Message);
                }
            }


            return(service);
        }