예제 #1
0
        private void SaveDocumentRepositoryType()
        {
            DocumentRepositoryType item = new DocumentRepositoryType();

            item.Name = ItemName.Text;

            Configuration.GetInstance().DocumentRepositoryTypes.Add(item);
            DocumentRepositoryType.Save(item);
        }
예제 #2
0
        public IDocumentProvider GetProvider(DocumentRepository repository)
        {
            IDocumentProvider retVal = null;
            App app = Configuration.GetInstance().App;



            if (this.Repositories.ContainsKey(repository.Name))
            {
                //get cached data command provider
                retVal = this.Repositories[repository.Name];
            }
            else
            {
                DocumentRepositoryType repositoryType = repository.GetRepositoryType();

                string assemblyName = repositoryType.Assembly;
                string className    = repositoryType.Class;


                if (!String.IsNullOrEmpty(assemblyName) && !String.IsNullOrEmpty(className))
                {
                    try
                    {
                        Assembly providerAssembly = Assembly.Load(assemblyName);
                        if (providerAssembly != null)
                        {
                            Type type = providerAssembly.GetType(className, true, true);

                            if (type != null)
                            {
                                ConstructorInfo constructor = type.GetConstructor(Type.EmptyTypes);
                                retVal = constructor.Invoke(null) as IDocumentProvider;

                                retVal.Initialize(repository.Settings);

                                this.Repositories.Add(repository.Name, retVal);
                            }
                        }
                    }
                    catch
                    {
                        //silent error
                    }
                }
            }

            if (retVal == null)
            {
                throw new Exception(String.Format("No valid document provider was found"));
            }

            return(retVal);
        }
예제 #3
0
        public List <object> GetItems(string folder, string name)
        {
            List <object> retVal = new List <object>();

            if (String.IsNullOrEmpty(name))
            {
                retVal = new List <object>(Configuration.GetInstance().DocumentRepositoryTypes.Cast <object>());
            }
            else
            {
                retVal.Add(DocumentRepositoryType.GetByName(name));
            }

            return(retVal);
        }
예제 #4
0
 public void Save(object configurationItem)
 {
     DocumentRepositoryType.Save((DocumentRepositoryType)configurationItem);
 }
예제 #5
0
 public int GetCounts(string folder, string name)
 {
     return(DocumentRepositoryType.GetItemCount(name));
 }
예제 #6
0
 public void Load(XDocument doc, string folder)
 {
     DocumentRepositoryType.Load(doc);
 }