public bool UlozitPrepis(Prepis prpPrepis) { IZpracovani zp = prpPrepis.Zpracovani; Dictionary <string, object> gdcVlastnosti = new Dictionary <string, object>(); gdcVlastnosti.Add("htx_id", zp.GUID); gdcVlastnosti.Add("htx_fazeZpracovani", zp.FazeZpracovani); gdcVlastnosti.Add("ovj_casoveZarazeni", zp.CasoveZarazeni); gdcVlastnosti.Add("ovj_zpusobVyuziti", zp.ZpusobVyuziti); gdcVlastnosti.Add("htx_neexportovat", zp.Neexportovat); return(Metadata.UlozUzivatelskeVlastnosti(prpPrepis.Soubor.CelaCesta, gdcVlastnosti)); }
public Prepisy NacistPrepisy(bool blnJenomZaklad) { DirectoryInfo di = new DirectoryInfo(mstrSlozka); if (String.IsNullOrEmpty(mstrMaska)) { mstrMaska = "*.do*?"; } FileInfo[] fis = di.GetFiles(mstrMaska, SearchOption.TopDirectoryOnly); Prepis[] dkm = new Prepis[fis.Length]; Prepisy prp = new Prepisy(); mintPocetSouboru = fis.Length; if (NacteniSouboru != null) { NacteniSouboru(this, new NacteniPrepisuEventArgs(mintPocetSouboru)); } for (int i = 0; i < fis.Length; i++) { if (NacteniSouboru != null) { NacteniSouboru(this, new NacteniPrepisuEventArgs(mintPocetSouboru, i + 1, fis[i].Name)); } string sSouborDocx = null; ISoubor sb = new Evidence.Soubor(); sb.Adresar = mstrSlozka; sb.Nazev = fis[i].Name; sb.Zmeneno = fis[i].LastWriteTime; sb.Velikost = fis[i].Length; if (fis[i].Extension.ToLower() == ".docx" | fis[i].Extension.ToLower() == ".docm") { sSouborDocx = sb.CelaCesta; sb.FormatWordu = FormatSouboru.Docx; } else if (fis[i].Extension.ToLower() == ".doc") { sb.FormatWordu = FormatSouboru.Doc; } else { sb.FormatWordu = FormatSouboru.Neznamy; } sb.KontrolniSoucet = KontrolniSoucet.GetMD5Hash(fis[i].FullName); if (!blnJenomZaklad) { if (sb.FormatWordu == FormatSouboru.Doc) { throw new FormatException("Sobory DOC nejsou podporovány"); sSouborDocx = System.IO.Path.GetTempPath() + fis[i].Name + "x"; //Konverze.Doc2Docx(fis[i].FullName, sSouborDocx); FileInfo fi = new FileInfo(sSouborDocx); if (fi.Exists) { sb.Velikost = fi.Length; } } } Hlavicka hl = new Hlavicka(); Zpracovani zp = new Zpracovani(); //object oGuid = Metadata.NactiUzivatelskouVlastnost(sb.CelaCesta, Enum.GetName(typeof(Metaudaje), Metaudaje.htx_id)); //if (oGuid != null) // dk.GUID = oGuid.ToString(); string[] asMetaudaje = Enum.GetNames(typeof(Metaudaje)); object[] aoUdaje = Metadata.NactiUzivatelskeVlastnosti(sb.CelaCesta, asMetaudaje); for (int j = 0; j < asMetaudaje.Length; j++) { if (aoUdaje[j] != null) { DateTime dtExport; switch (asMetaudaje[j]) { case "htx_id": zp.GUID = aoUdaje[j].ToString(); break; case "htx_posledniExport_1": if (PrevestNaDatum(aoUdaje[j], out dtExport)) { zp.Exporty.Add(new Export(ZpusobVyuziti.Manuscriptorium, dtExport)); } break; case "htx_posledniExport_2": if (PrevestNaDatum(aoUdaje[j], out dtExport)) { zp.Exporty.Add(new Export(ZpusobVyuziti.StaroceskyKorpus, dtExport)); } break; case "htx_posledniExport_4": if (PrevestNaDatum(aoUdaje[j], out dtExport)) { zp.Exporty.Add(new Export(ZpusobVyuziti.StredoceskyKorpus, dtExport)); } break; case "htx_fazeZpracovani": zp.FazeZpracovani = (FazeZpracovani)Enum.Parse(typeof(FazeZpracovani), aoUdaje[j].ToString()); break; case "ovj_casoveZarazeni": zp.CasoveZarazeni = (CasoveZarazeni)Enum.Parse(typeof(CasoveZarazeni), aoUdaje[j].ToString()); break; case "ovj_zpusobVyuziti": zp.ZpusobVyuziti = (ZpusobVyuziti)Enum.Parse(typeof(ZpusobVyuziti), aoUdaje[j].ToString()); break; case "htx_neexportovat": bool bNeexportovat; if (Boolean.TryParse(aoUdaje[j].ToString(), out bNeexportovat)) { zp.Neexportovat = bNeexportovat; } else { zp.Neexportovat = false; } break; default: break; } } } asMetaudaje = new string[] { "Titul", "Předmět", "Komentář", "Autor" }; aoUdaje = Metadata.NactiZabudovaneVlastnosti(sb.CelaCesta, asMetaudaje); for (int j = 0; j < asMetaudaje.Length; j++) { if (aoUdaje[j] != null) { switch (asMetaudaje[j]) { case "Titul": hl.Titul = aoUdaje[j].ToString(); break; case "Předmět": hl.InstituceUlozeni = aoUdaje[j].ToString(); break; case "Komentář": hl.Signatura = aoUdaje[j].ToString(); break; case "Autor": hl.EditoriPrepisu = GetCleanEditori(aoUdaje[j].ToString()); break; default: break; } } } string grantovaPodpora = null; if (!blnJenomZaklad) { NactiHlavickuZTabulky(sSouborDocx, ref hl); grantovaPodpora = ZjistiGrantovouPodporu(sSouborDocx); } Prepis dk = new Prepis(hl, sb, zp); //dk.Identifikator = i; dk.Zpracovani.GrantovaPodpora = grantovaPodpora; dkm[i] = dk; prp.Add(dk); if (dk.Soubor.CelaCesta != sSouborDocx & sSouborDocx != null) { File.Delete(sSouborDocx); } } return(prp); //return dkm; }