Example #1
0
        public List <ContentDokument> GetDokumente(string uniqueId)
        {
            List <ContentDokument> contentDokumentList = new List <ContentDokument>();
            ContentElementInfo     contentElementInfo  = ((IEnumerable <ContentElementInfo>) this.EnthalteneContentElementInfos).Where <ContentElementInfo>((Func <ContentElementInfo, bool>)(i => i.UniqueKey == uniqueId)).FirstOrDefault <ContentElementInfo>();

            if (contentElementInfo == null)
            {
                throw new ApplicationException(string.Format("Contentdokument mit unique-ID '{0}' nicht vorhanden!", (object)uniqueId));
            }
            Assembly executingAssembly = Assembly.GetExecutingAssembly();

            foreach (string manifestResourceName in executingAssembly.GetManifestResourceNames())
            {
                if (!manifestResourceName.EndsWith(".info"))
                {
                    string[] strArray1 = manifestResourceName.Split(new char[1]
                    {
                        '.'
                    }, StringSplitOptions.RemoveEmptyEntries);
                    string str1 = strArray1[strArray1.Length - 2];
                    string str2 = strArray1[strArray1.Length - 1];
                    bool   flag;
                    if (contentElementInfo.DateiPattern.EndsWith("*"))
                    {
                        string lower = contentElementInfo.DateiPattern.Substring(0, contentElementInfo.DateiPattern.Length - 1).ToLower();
                        flag = manifestResourceName.ToLower().StartsWith(lower) && manifestResourceName.Length > lower.Length;
                    }
                    else
                    {
                        flag = manifestResourceName.ToLower() == contentElementInfo.DateiPattern.ToLower();
                    }
                    if (flag)
                    {
                        StreamReader streamReader = new StreamReader(executingAssembly.GetManifestResourceStream(manifestResourceName), Encoding.GetEncoding("ISO-8859-15"));
                        string       end          = streamReader.ReadToEnd();
                        string[]     strArray2    = new string[1]
                        {
                            contentElementInfo.Name
                        };
                        contentDokumentList.Add(new ContentDokument()
                        {
                            Inhalt                = end,
                            Titel                 = str1,
                            Unterverzeichnise     = strArray2,
                            DateiExtension        = str2,
                            ZusatzContentUniqueId = uniqueId
                        });
                        streamReader.Close();
                    }
                }
            }
            if (contentDokumentList.Count == 0)
            {
                throw new ApplicationException(string.Format("Keine Dokumente für Content UniqueID '{0}' gefunden!", (object)uniqueId));
            }
            return(contentDokumentList);
        }
Example #2
0
        public List <ContentDokument> GetDokumente(string uniqueId)
        {
            List <ContentDokument> list = new List <ContentDokument>();
            ContentElementInfo     contentElementInfo = (from i in this.EnthalteneContentElementInfos
                                                         where i.UniqueKey == uniqueId
                                                         select i).FirstOrDefault();

            if (contentElementInfo == null)
            {
                throw new ApplicationException(string.Format("Contentdokument mit unique-ID '{0}' nicht vorhanden!", uniqueId));
            }
            Assembly executingAssembly = Assembly.GetExecutingAssembly();

            string[] manifestResourceNames = executingAssembly.GetManifestResourceNames();
            foreach (string text in manifestResourceNames)
            {
                if (!text.EndsWith(".info"))
                {
                    bool     flag  = false;
                    string[] array = text.Split(new char[1]
                    {
                        '.'
                    }, StringSplitOptions.RemoveEmptyEntries);
                    string titel          = array[array.Length - 2];
                    string dateiExtension = array[array.Length - 1];
                    if (contentElementInfo.DateiPattern.EndsWith("*"))
                    {
                        string text2 = contentElementInfo.DateiPattern.Substring(0, contentElementInfo.DateiPattern.Length - 1).ToLower();
                        flag = (text.ToLower().StartsWith(text2) && text.Length > text2.Length);
                    }
                    else
                    {
                        flag = (text.ToLower() == contentElementInfo.DateiPattern.ToLower());
                    }
                    if (flag)
                    {
                        Stream       manifestResourceStream = executingAssembly.GetManifestResourceStream(text);
                        StreamReader streamReader           = new StreamReader(manifestResourceStream, Encoding.GetEncoding("ISO-8859-15"));
                        string       inhalt            = streamReader.ReadToEnd();
                        string[]     unterverzeichnise = new string[1]
                        {
                            contentElementInfo.Name
                        };
                        list.Add(new ContentDokument
                        {
                            Inhalt                = inhalt,
                            Titel                 = titel,
                            Unterverzeichnise     = unterverzeichnise,
                            DateiExtension        = dateiExtension,
                            ZusatzContentUniqueId = uniqueId
                        });
                        streamReader.Close();
                    }
                }
            }
            if (list.Count == 0)
            {
                throw new ApplicationException(string.Format("Keine Dokumente für Content UniqueID '{0}' gefunden!", uniqueId));
            }
            return(list);
        }