public IDataProvider GetProviderOrNull(Type type)
        {
            if (TypeProviders.TryGetValue(type, out var result))
            {
                return(result);
            }

            var factory = GetProviderFactory(type);

            if (factory != null)
            {
                lock (TypeProviders)
                {
                    try
                    {
                        return(TypeProviders[type] = factory.GetProvider(type));
                    }
                    catch
                    {
                        return(null);
                    }
                }
            }

            if (type.IsInterface)
            {
                return(new InterfaceDataProvider(type));
            }
            else
            {
                return(null);
            }
        }
        public IDataProvider GetProvider(Type type)
        {
            if (TypeProviders.TryGetValue(type, out var result))
            {
                return(result);
            }

            var factory = GetProviderFactory(type);

            if (factory != null)
            {
                lock (TypeProviders)
                    return(TypeProviders[type] = factory.GetProvider(type));
            }

            if (type.IsInterface)
            {
                return(new InterfaceDataProvider(type));
            }
            else
            {
                throw new InvalidOperationException("There is no registered 'data provider' for the assembly: " +
                                                    type.GetTypeInfo().Assembly.FullName);
            }
        }
Esempio n. 3
0
 public PianteView(Settore settore)
 {
     InitializeComponent();
     _settore = settore;
     _fac = FactoryGestoreInformazioni.GetFactory();
     _type = new TypeProviders();
 }
Esempio n. 4
0
 public PianteView(Settore settore)
 {
     InitializeComponent();
     _settore = settore;
     _fac     = FactoryGestoreInformazioni.GetFactory();
     _type    = new TypeProviders();
 }
Esempio n. 5
0
 private void Form1_Load(object sender, EventArgs e)
 {
     fac = FactoryGestoreInformazioni.GetFactory();
     type = new TypeProviders();
     ProviderVisitorInspector insp = ProviderVisitorInspector.Get() ;
     comboBox1.Items.AddRange(insp.GetListProvider().ToArray());
     comboBox2.Items.AddRange(insp.GetListVisitor().ToArray());
 }
Esempio n. 6
0
        private void Form1_Load(object sender, EventArgs e)
        {
            fac  = FactoryGestoreInformazioni.GetFactory();
            type = new TypeProviders();
            ProviderVisitorInspector insp = ProviderVisitorInspector.Get();

            comboBox1.Items.AddRange(insp.GetListProvider().ToArray());
            comboBox2.Items.AddRange(insp.GetListVisitor().ToArray());
        }
        //invocata dopo provider e gestinfo
        public GestoreInformazioni GetGestore(TypeProviders typeproviders)
        {
            Providers providers = typeproviders.GetProviders();

            foreach (GestoreInformazioni gest in _gestori)
            {
                //if (gest.Providers.Equals(providers))
                    return gest;
            }

            GestoreInformazioni gestore = new GestoreInformazioni();
               // gestore.Providers = providers;
            _gestori.Add(gestore);
            return gestore;
        }