Пример #1
0
        }//Delete

        /// <summary>
        /// Nalezeni Knihy na zaklade jeho ID
        /// </summary>
        /// <param name="id">Hledane ID </param>
        /// <param name="kniha">Nalezeny BO kniha nebo null</param>
        /// <param name="errMsg">Chybové hlášení</param>
        /// <returns>TRUE hledání se provedlo, FALSE nastala chyba hledání</returns>
        public bool Find(long id, out Kniha kniha, out string errMsg)
        {
            errMsg = string.Empty;
            kniha = null;

            //Nalezeni knihy podle jeho id v DB
            try
            {
                DataConnection.Instance.Connect();
                try
                {
                    string sql =
                        "SELECT AutorJmeno,AutorPrijmeni,NazevKnihy,Vydavatel,RokVydani,Vydani,Jazyk FROM Knihy WHERE (Id=@id)";
                    SqlCommand sqlCmd = DataConnection.Instance.CreateCommand(sql);
                    try
                    {
                        sqlCmd.Parameters.AddWithValue("@id", id);
                        var result = DataConnection.Instance.Select(sqlCmd);
                        try
                        {
                            if (result.HasRows)
                            {
                                //Precteme jen prvni nalezeny, podle ID musí být jen jeden
                                result.Read();
                                kniha = new Kniha()
                                {
                                    Id = id,
                                    AutorJmeno = result.GetString(0),
                                    AutorPrijmeni = result.GetString(1),
                                    NazevKnihy = result.GetString(2),
                                    Vydavatel = result.GetString(3),
                                    RokVydani = result.GetInt32(4),
                                    Vydani = result.GetInt32(5),
                                    Jazyk = result.GetString(6)
                                };
                            }
                        }
                        finally
                        {
                            result.Close();
                        }
                    }
                    finally
                    {
                        sqlCmd.Dispose();
                    }
                }
                finally
                {
                    DataConnection.Instance.Close();
                }
            }
            catch (Exception e)
            {
                errMsg = $"Chyba při Connection do DB \n{e.Message}";
                return false;
            }

            return true;
        }//Find
Пример #2
0
 public ListViewVM()
 {
     data      = new Model.Kniha();
     this.Zpet = new Command(this.Zpet_Execute);
     this.HA   = new Command(this.HA_Execute);
     this.HN   = new Command(this.HN_Execute);
 }
Пример #3
0
        public void UpdateKniha(Kniha kniha)
        {
            var service = new Team024KnihaPortTypeClient();

            service.update("024", "FYmoj1", kniha.id, kniha);

            service.Close();
        }
 private void VygenerovatOdstavec(CastTextu cast, Bible bible, Kniha kniha)
 {
     AktualniTextVerse += "<br/>";
     foreach (CastTextu potomek in cast.Potomci)
     {
         VygenerovatCastSql(potomek, bible, kniha);
     }
 }
        private void VygenerovatCastKnihy(CastTextu cast, Bible bible, Kniha kniha)
        {
            VlozitSqlNadpis(cast is HlavniCastKnihy knihy ? knihy.Nadpis : ((CastKnihy)cast).Nadpis);

            foreach (CastTextu potomek in cast.Potomci)
            {
                VygenerovatCastSql(potomek, bible, kniha);
            }
        }
        private void VygenerovatRadekPoezie(CastTextu cast, Bible bible, Kniha kniha)
        {
            foreach (CastTextu potomek in cast.Potomci)
            {
                VygenerovatCastSql(potomek, bible, kniha);
            }

            AktualniTextVerse += "<br/>";
        }
        private void VygenerovatKnihu(CastTextu cast, Bible bible, Kniha kniha)
        {
            foreach (CastTextu potomek in cast.Potomci)
            {
                VygenerovatCastSql(potomek, bible, kniha);

                PridatRozpracovanyVers();
            }
        }
 private void VygenerovatCastPoezie(CastTextu cast, Bible bible, Kniha kniha)
 {
     if (!string.IsNullOrEmpty(AktualniTextVerse))
     {
         AktualniTextVerse += "<br/>";
     }
     foreach (CastTextu potomek in cast.Potomci)
     {
         VygenerovatCastSql(potomek, bible, kniha);
     }
 }
        public void VygenerovatCastSql(CastTextu cast, Bible bible, Kniha kniha)
        {
            switch (cast.GetType().Name)
            {
            case "HlavniCastKnihy":
                PridatRozpracovanyVers();
                goto case "CastKnihy";

            case "CastKnihy":
                VygenerovatCastKnihy(cast, bible, kniha);
                break;

            case "UvodKapitoly":
                PridatRozpracovanyVers();
                PocitadloVerse = 1;
                PocitadloKapitol++;
                break;

            case "Vers":
                PridatRozpracovanyVers();
                break;

            case "Poezie":
                VygenerovatCastPoezie(cast, bible, kniha);
                break;

            case "RadekPoezie":
                VygenerovatRadekPoezie(cast, bible, kniha);
                break;

            case "Odstavec":
                VygenerovatOdstavec(cast, bible, kniha);
                break;

            case "FormatovaniTextu":
                VygenerovatFormatovaniTextu(cast, bible, kniha);
                break;

            case "CastPoezie":
                AktualniTextVerse += $"<h5>{cast.TextovaData}</h5>\n";
                break;

            case "CastTextuSTextem":
                AktualniTextVerse += cast.TextovaData;
                break;

            case "Kniha":
                VygenerovatKnihu(cast, bible, kniha);
                break;
            }
        }
        private void VygenerovatFormatovaniTextu(CastTextu cast, Bible bible, Kniha kniha)
        {
            if ((cast as FormatovaniTextu).Kurziva)
            {
                AktualniTextVerse += "<i>";

                foreach (CastTextu potomek in cast.Potomci)
                {
                    VygenerovatCastSql(potomek, bible, kniha);
                }

                AktualniTextVerse += "</i>";
            }
        }
        public string VygenerovatSql(Bible bible)
        {
            PocitadloNadpisu = 1;

            for (int poradi = 0; poradi < bible.Knihy.Count; poradi++)
            {
                Kniha kniha = bible.Knihy[poradi];

                PoradiKnihy       = poradi + 1;
                PocitadloKapitol  = 0;
                PocitadloVerse    = 0;
                AktualniTextVerse = string.Empty;
                Nadpisy.Clear();
                Verse.Clear();

                string   nadpis     = bible.MapovaniZkratekKnih[kniha.Id].Nadpis;
                string[] nadpisPale = nadpis.Split(';');

                StavecKnihy.Append("INSERT INTO bible_knihy (id, kod, nazev, `order`) VALUES " +
                                   $"({poradi + 1}, '{nadpisPale[1]}', '{nadpisPale[0]}', {poradi + 1});\n");

                VygenerovatSqlProKnihu(bible, kniha);

                StavecNadpisy.Append(string.Join(string.Empty, Nadpisy));
                StavecNadpisy.AppendLine();

                StavecVerse.Append("INSERT INTO bible_verse (kniha_id, kapitola, vers, text, stripped, `order`) VALUES \n");
                StavecVerse.Append(string.Join(",\n", Verse));
                StavecVerse.Append(";");
            }

            string   pracovniAdresar = Environment.CurrentDirectory;
            string   sqlSoubor       = Path.Combine(pracovniAdresar, $"{bible.Metadata.Nazev}.sql");
            Encoding kodovani        = new UTF8Encoding(false);

            File.WriteAllText(sqlSoubor, string.Empty, kodovani);
            File.AppendAllText(sqlSoubor, StavecKnihy.ToString(), kodovani);
            File.AppendAllText(sqlSoubor, StavecNadpisy.ToString(), kodovani);
            File.AppendAllText(sqlSoubor, StavecVerse.ToString(), kodovani);

            return(sqlSoubor);
        }
Пример #12
0
        public Bible NacistBibli(string xmlOsisSoubor)
        {
            XmlDocument xml = new XmlDocument();

            NsManager = VygenerovatNamespaceManager(xml);

            xml.PreserveWhitespace = false;
            xml.Load(xmlOsisSoubor);

            XmlNode osisText = xml.SelectSingleNode("/os:osis/os:osisText", NsManager);

            Bible bible = new Bible
            {
                Revize = new Revize
                {
                    Datum = DateTime.ParseExact(
                        osisText?.SelectSingleNode("os:header/os:revisionDesc/os:date", NsManager)?.InnerText,
                        "yyyy.M.d",
                        CultureInfo.InvariantCulture),
                    Popis = osisText?.SelectSingleNode("os:header/os:revisionDesc/os:p", NsManager)?.InnerText
                },
                Metadata = new Metadata
                {
                    Copyright = osisText?.SelectSingleNode("os:header/os:work/os:rights", NsManager)?.InnerText,
                    Isbn      = osisText?.SelectSingleNode("os:header/os:work/os:identifier", NsManager)?.InnerText,
                    Nazev     = osisText?.SelectSingleNode("os:header/os:work/os:title", NsManager)?.InnerText,
                    Vydavatel = osisText?.SelectSingleNode("os:header/os:work/os:publisher", NsManager)?.InnerText
                }
            };

            // Provedeme načtení knih.
            foreach (XmlNode kniha in osisText?.SelectNodes("//os:div[@type='book']", NsManager))
            {
                Kniha k = NacistKnihu(kniha);
                bible.Knihy.Add(k);
            }

            return(bible);
        }
Пример #13
0
        /// <summary>
        /// Načtení všech Knih z databáze do objektu typu seznam knih
        /// </summary>
        /// <param name="seznam">Vraci seznam BO objektu</param>
        /// <param name="errMsg">Chybové hlášení, pokud nastala chyba</param>
        /// <returns>True - načtení proběhlo bez chyby, False - chyba při načítání</returns>
        public bool LoadAll(out List<Kniha> seznam , out string errMsg)
        {
            seznam = new List<Kniha>();
            errMsg = string.Empty;

            var sql = "SELECT Id,AutorJmeno,AutorPrijmeni,NazevKnihy,Vydavatel,RokVydani,Vydani,Jazyk FROM Knihy";

            //Nazcteni Knih z uloziste
            try
            {
                DataConnection.Instance.Connect();
                try
                {
                    SqlCommand sqlCmd = DataConnection.Instance.CreateCommand(sql);
                    try
                    {
                        try
                        {
                            var result = DataConnection.Instance.Select(sqlCmd);
                            if (result.HasRows)
                            {
                                while (result.Read())
                                {
                                    Kniha kn = new Kniha()
                                    {
                                        Id = result.GetInt64(0),
                                        AutorJmeno = result.GetString(1),
                                        AutorPrijmeni = result.GetString(2),
                                        NazevKnihy = result.GetString(3),
                                        Vydavatel = result.GetString(4),
                                        RokVydani = result.GetInt32(5),
                                        Vydani = result.GetInt32(6),
                                        Jazyk = result.GetString(7)
                                    };
                                    seznam.Add(kn);
                                };
                            }
                        }
                        catch (Exception e)
                        {
                            //nastala chyba vykonání SELECT
                            errMsg = $"Chyba při SELECT tabulky Knihy \n{e.Message}";
                            return false;
                        }
                    }
                    finally
                    {
                        sqlCmd.Dispose();
                    }
                }
                finally
                {
                    DataConnection.Instance.Close();
                }
            }
            catch (Exception e)
            {
                errMsg = $"Chyba při Connection do DB \n{e.Message}";
                return false;
            }
            return true;
        }//LoadAll
Пример #14
0
 /// <summary>
 /// Vrací ID string pro místo, kde je poznámka citovaná ([x]).
 /// </summary>
 /// <param name="kniha"></param>
 /// <param name="pozn"></param>
 /// <returns></returns>
 private static string ZiskatIdCitace(Kniha kniha, PouzitaPoznamka pozn)
 {
     return($"c-{kniha.Id}-{pozn.Id}");
 }
Пример #15
0
        private string VygenerovatCastTextu(CastTextu cast, Kniha kniha, Bible bible, bool dlouheCislaVerse)
        {
            if (cast is HlavniCastKnihy)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append($"<h2>{((HlavniCastKnihy) cast).Nadpis}</h2>\n");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                return(stavec.ToString());
            }
            else if (cast is CastKnihy)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append($"<h4>{((CastKnihy) cast).Nadpis}</h4>\n");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                return(stavec.ToString());
            }
            else if (cast is UvodKapitoly)
            {
                return($"<h3 id=\"{ZiskatIdKapitoly(((UvodKapitoly) cast).Id)}\">Kapitola {ZiskatKratkeCisloVerse(((UvodKapitoly) cast).Id)}</h3>\n");
            }
            else if (cast is Vers)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append($"<sup>{(dlouheCislaVerse ? ZiskatDlouheCisloVerse(bible, (cast as Vers).Id) : ZiskatKratkeCisloVerse(((Vers) cast).Id))}</sup>");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                return(stavec.ToString());
            }
            else if (cast is Poznamka)
            {
                StringBuilder stavec = new StringBuilder();

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                int poradiKnihy = bible.Knihy.IndexOf(kniha);

                if (!PouzitePoznamky.ContainsKey(poradiKnihy))
                {
                    PouzitePoznamky.Add(poradiKnihy, new List <PouzitaPoznamka>());
                }

                PouzitaPoznamka poznamka = new PouzitaPoznamka
                {
                    Text = stavec.ToString(),
                    Id   = $"{PouzitePoznamky[poradiKnihy].Count + 1}"
                };

                PouzitePoznamky[poradiKnihy].Add(poznamka);

                return($"<sup class=\"poznamka\"><a id=\"{ZiskatIdCitace(kniha, poznamka)}\" href=\"{KnihaPoznamky}#{ZiskatIdPoznamky(kniha, poznamka)}\" epub:type=\"noteref\">[{PouzitePoznamky[poradiKnihy].Count}]</a></sup> ");
            }
            else if (cast is Poezie)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append("<div class=\"poezie\">");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                stavec.Append("</div>");

                return(stavec.ToString());
            }
            else if (cast is RadekPoezie)
            {
                StringBuilder stavec = new StringBuilder("<p>");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                stavec.Append("</p>");

                return(stavec.ToString());
            }
            else if (cast is Odstavec)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append("<p>");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                stavec.Append("</p>");

                return(stavec.ToString());
            }
            else if (cast is FormatovaniTextu)
            {
                StringBuilder stavec = new StringBuilder();

                if ((cast as FormatovaniTextu).Kurziva)
                {
                    stavec.Append("<i>");

                    foreach (CastTextu potomek in cast.Potomci)
                    {
                        stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                    }

                    stavec.Append("</i>");
                }

                return(stavec.ToString());
            }
            else if (cast is CastPoezie)
            {
                return($"<h5>{cast.TextovaData}</h5>\n");
            }
            else if (cast is CastTextuSTextem)
            {
                return(cast.TextovaData);
            }
            else
            {
                StringBuilder stavec = new StringBuilder();

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                return(stavec.ToString());
            }
        }
        public void VygenerovatCastSql(CastTextu cast, Bible bible, Kniha kniha)
        {
            if (cast is HlavniCastKnihy || cast is CastKnihy)
            {
                if (cast is HlavniCastKnihy)
                {
                    PridatRozpracovanyVers();
                    PocitadloVerse = 1;
                }

                VlozitSqlNadpis(cast is HlavniCastKnihy knihy ? knihy.Nadpis : ((CastKnihy)cast).Nadpis);

                foreach (CastTextu potomek in cast.Potomci)
                {
                    VygenerovatCastSql(potomek, bible, kniha);
                }
            }
            else if (cast is UvodKapitoly)
            {
                PridatRozpracovanyVers();
                PocitadloVerse = 1;

                PocitadloKapitol++;
            }
            else if (cast is Vers)
            {
                PridatRozpracovanyVers();
            }
            else if (cast is Poezie)
            {
                foreach (CastTextu potomek in cast.Potomci)
                {
                    VygenerovatCastSql(potomek, bible, kniha);
                }
            }
            else if (cast is RadekPoezie)
            {
                foreach (CastTextu potomek in cast.Potomci)
                {
                    VygenerovatCastSql(potomek, bible, kniha);
                }

                AktualniTextVerse += "<br/>";
            }
            else if (cast is Odstavec)
            {
                foreach (CastTextu potomek in cast.Potomci)
                {
                    VygenerovatCastSql(potomek, bible, kniha);
                }
            }
            else if (cast is FormatovaniTextu)
            {
                if ((cast as FormatovaniTextu).Kurziva)
                {
                    AktualniTextVerse += "<i>";

                    foreach (CastTextu potomek in cast.Potomci)
                    {
                        VygenerovatCastSql(potomek, bible, kniha);
                    }

                    AktualniTextVerse += "</i>";
                }
            }
            else if (cast is CastPoezie)
            {
                AktualniTextVerse += $"<h5>{cast.TextovaData}</h5>\n";
            }
            else if (cast is CastTextuSTextem)
            {
                AktualniTextVerse += cast.TextovaData;
            }
            else if (cast is Kniha)
            {
                foreach (CastTextu potomek in cast.Potomci)
                {
                    PocitadloVerse = 1;

                    VygenerovatCastSql(potomek, bible, kniha);

                    PridatRozpracovanyVers();
                }
            }
        }
 public string VygenerovatKnihu(Kniha kniha, Bible bible, bool dlouheCislaVerse)
 {
     return(VygenerovatCastTextu(kniha, kniha, bible, dlouheCislaVerse));
 }
        private string VygenerovatCastTextu(CastTextu cast, Kniha kniha, Bible bible, bool dlouheCislaVerse)
        {
            if (cast is HlavniCastKnihy)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append($"<h2>{(cast as HlavniCastKnihy).Nadpis}</h2>\n");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                return(stavec.ToString());
            }
            else if (cast is CastKnihy)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append($"<h4>{(cast as CastKnihy).Nadpis}</h4>\n");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                return(stavec.ToString());
            }
            else if (cast is UvodKapitoly)
            {
                return($"<h3>Kapitola {ZiskatKratkeCisloVerse((cast as UvodKapitoly).Id)}</h3>\n");
            }
            else if (cast is Vers)
            {
                StringBuilder stavec = new StringBuilder();

                if (dlouheCislaVerse)
                {
                    stavec.Append($"<sup>{ZiskatDlouheCisloVerse((cast as Vers).Id)}</sup>");
                }
                else
                {
                    // S tooltipem.
                    string kratkeCislo = ZiskatKratkeCisloVerse((cast as Vers).Id);
                    string dlouheCislo = ZiskatDlouheCisloVerse((cast as Vers).Id);
                    stavec.Append($"<sup><a href=\"#\" data-html=\"true\" data-toggle=\"tooltip\" title=\"{HttpUtility.HtmlEncode(dlouheCislo)}\">{kratkeCislo}</a></sup>");
                }

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                return(stavec.ToString());
            }
            else if (cast is Poznamka)
            {
                StringBuilder stavec = new StringBuilder();

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                PouzitaPoznamka poznamka = new PouzitaPoznamka
                {
                    Text = stavec.ToString(),
                    Id   = $"pozn-{PouzitePoznamky.Count + 1}"
                };

                PouzitePoznamky.Add(poznamka);
                return($"<sup class=\"poznamka\"><a href=\"#\" data-html=\"true\" data-toggle=\"tooltip\" title=\"{HttpUtility.HtmlEncode(poznamka.Text)}\">[{PouzitePoznamky.Count}]</a></sup> ");
            }
            else if (cast is Poezie)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append("<p class=\"poezie\">");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                stavec.Append("</p>");

                return(stavec.ToString());
            }
            else if (cast is RadekPoezie)
            {
                StringBuilder stavec = new StringBuilder();

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                stavec.Append("<br/>");

                return(stavec.ToString());
            }
            else if (cast is Odstavec)
            {
                StringBuilder stavec = new StringBuilder();

                stavec.Append("<p>");

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                stavec.Append("</p>");

                return(stavec.ToString());
            }
            else if (cast is FormatovaniTextu)
            {
                StringBuilder stavec = new StringBuilder();

                if ((cast as FormatovaniTextu).Kurziva)
                {
                    stavec.Append("<i>");

                    foreach (CastTextu potomek in cast.Potomci)
                    {
                        stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                    }

                    stavec.Append("</i>");
                }

                return(stavec.ToString());
            }
            else if (cast is CastPoezie)
            {
                return($"<h5>{cast.TextovaData}</h5>\n");
            }
            else if (cast is CastTextuSTextem)
            {
                return(cast.TextovaData);
            }
            else
            {
                StringBuilder stavec = new StringBuilder();

                foreach (CastTextu potomek in cast.Potomci)
                {
                    stavec.Append(VygenerovatCastTextu(potomek, kniha, bible, dlouheCislaVerse));
                }

                return(stavec.ToString());
            }
        }
Пример #19
0
        private static void Main(string[] args)
        {

            //Ukazka prace s TableDataGateway pro Zamestnance - ulozeni do XML souboru
            int x = SpravaZamestnancu.Instance.CelkovyPocetZamestnancu;
            Console.WriteLine($"Celkovy pocet zamestnanu v IS: {x}");
            //Pokud jich je méně než 5 tak vytvoříme 2 a uložíme
            if (x < 5)
            {
                SpravaZamestnancu.Instance.AddZamestnanec(new Zamestnanec()
                {
                    Jmeno = "Pepa",
                    Prijmeni = "Novák",
                    TypZamestnance = EnTypZamest.eJuniorKnihovnik,
                    ZamestnanOd = new DateTime(2000, 06, 01)
                });

                SpravaZamestnancu.Instance.AddZamestnanec(new Zamestnanec()
                {
                    Jmeno = "Igor",
                    Prijmeni = "Hnízdo",
                    TypZamestnance = EnTypZamest.eSpravce,
                    ZamestnanOd = new DateTime(1993, 01, 26)
                });
                SpravaZamestnancu.Instance.SaveAll();
            }
            Console.WriteLine($"Novy pocet zamestnancu v IS {SpravaZamestnancu.Instance.CelkovyPocetZamestnancu}");

            //Ukazka prace s TableDataGateway pro Uzivatele IS, prace s SQL serverem
            int u = SpravaUzivatelu.Instance.CelkovyPocetUzivatelu;
            Console.WriteLine($"Celkovy pocet Uzivatelu v IS {u}");
            //Pokud je méně uživatelů než 5 tak dva nové vytvoříme a uložíme
            if (u < 5)
            {
                SpravaUzivatelu.Instance.AddUzivatel(new Uzivatel()
                {
                    Jmeno = "Arne",
                    Prijmeni = "Farin",
                    DatumNarozeni = new DateTime(2000,1,10),
                    ClenemOd = new DateTime(2015,6,7),
                    Spolehlivost = EnHodnoceni.eSpolehlivy
                });

                SpravaUzivatelu.Instance.AddUzivatel(new Uzivatel()
                {
                    Jmeno = "Jules",
                    Prijmeni = "Verne",
                    DatumNarozeni = new DateTime(1900, 7, 1),
                    ClenemOd = new DateTime(1920, 3, 19),
                    Spolehlivost = EnHodnoceni.eSpolehlivy
                });

                SpravaUzivatelu.Instance.AddUzivatel(new Uzivatel()
                {
                    Jmeno = "Pepe",
                    Prijmeni = "Novotny",
                    DatumNarozeni = new DateTime(1945, 5, 13),
                    ClenemOd = new DateTime(1955, 11, 9),
                    Spolehlivost = EnHodnoceni.eNespolehlivy
                });
            }
            Console.WriteLine($"Celkovy pocet Uzivatelu v IS {SpravaUzivatelu.Instance.CelkovyPocetUzivatelu}");

            //Update prvni ho uzivatele v seznamu
            var uFirst = SpravaUzivatelu.Instance.Uzivatele.First();
            Console.WriteLine($"Prvni uzivatel ({uFirst.Id})  {uFirst.Jmeno} {uFirst.Prijmeni}");
            //Zmena uzivatele
            uFirst.Jmeno = "Pepa";
            uFirst.Prijmeni = "Mares";
            string err = string.Empty;
            Uzivatel uziv = null;
            if (SpravaUzivatelu.Instance.UpdateUzivatel(uFirst, out err))
            {
                if (SpravaUzivatelu.Instance.FindUzivatel(uFirst.Id, out uziv, out err))
                {
                    Console.WriteLine($"Prvni uzivatel ({uziv.Id}) upraveno v DB {uziv.Jmeno} {uziv.Prijmeni}");
                }
                else
                {
                    Console.WriteLine($"Nastala chyba při hledani uživatele {uFirst.Id} v DB\n {err}");
                }
            }
            else
            {
                Console.WriteLine($"Nastala chyba při aktualizaci uživatele v DB\n {err}");
            }

            //Ukazka použití DataMapperuKniha
            //Vložení dependency - nastavujeme do spravce knih referenci na mapper pomoci interface
            SpravaKnih.KnihaDataMapper = KnihaMapper.Instance;

            //Počet knih v IS, v ramci konstruktoru se zavola nacteni vsech knih z uložistě
            int k = SpravaKnih.Instance.CelkovyPocetKnih;

            Console.WriteLine($"Celkovy pocet Knih v IS {k}");
            //Pokud je méně uživatelů než 5 tak dva nové vytvoříme a uložíme
            if (k < 5)
            {
                SpravaKnih.Instance.AddKniha(new Kniha()
                {
                    AutorJmeno = "Olgoj",
                    AutorPrijmeni = "Chorchoj",
                    NazevKnihy = "Dune",
                    Vydavatel = "Computer Press",
                    RokVydani = 2020,
                    Vydani = 1,
                    Jazyk = "CZ"
                });

                SpravaKnih.Instance.AddKniha(new Kniha()
                {
                    AutorJmeno = "Jan",
                    AutorPrijmeni = "Novak",
                    NazevKnihy = "Rozhledna",
                    Vydavatel = "Mlada Fronta",
                    RokVydani = 1976,
                    Vydani = 5,
                    Jazyk = "CZ"
                });
            }
            Console.WriteLine($"Celkovy pocet Knih v IS {SpravaKnih.Instance.CelkovyPocetKnih}");
            //Pokud je méně uživatelů než 5 tak dva nové vytvoříme a uložíme

            //Upravime v knihach
            Kniha kn = SpravaKnih.Instance.VyhledejKnihu(3);
            kn.AutorPrijmeni = "Upraveny Autor";
            SpravaKnih.Instance.UpdateKniha(kn);

        }
Пример #20
0
 public NewListVM()
 {
     data      = new Model.Kniha();
     this.Zpet = new Command(this.Zpet_Execute);
     this.Vse  = new Command(this.Vse_Execute);
 }
 public void VygenerovatSqlProKnihu(Bible bible, Kniha kniha)
 {
     VygenerovatCastSql(kniha, bible, kniha);
 }
Пример #22
0
        private Kniha NacistKnihu(XmlNode xml)
        {
            Kniha kniha = new Kniha();

            kniha.Id = xml.SelectSingleNode("@osisID").InnerText;

            // Budeme iterativně zpracovávat seznam XML potomků a přidávát
            // ekvivalenty.
            List <CastTextu> rodice = new List <CastTextu>
            {
                kniha
            };

            // Tento seznam obashuje seznamy XML prvků, které patří do daného rodiče.
            List <List <XmlNode> > xmlProRodice = new List <List <XmlNode> >
            {
                xml.ChildNodes.OfType <XmlNode>().ToList()
            };

            while (rodice.Count > 0)
            {
                CastTextu rodic = rodice[0];
                rodice.RemoveAt(0);

                List <XmlNode> xmlProTohotoRodice = xmlProRodice[0];
                xmlProRodice.RemoveAt(0);

                foreach (XmlNode xmlPotomek in xmlProTohotoRodice)
                {
                    if (xmlPotomek is XmlElement)
                    {
                        XmlElement xmlPotomekElem = xmlPotomek as XmlElement;

                        if (
                            xmlPotomek.Name == "div" && xmlPotomekElem.HasAttribute("type") &&
                            xmlPotomek.Attributes["type"].InnerText == "majorSection")
                        {
                            // Máme major section.
                            HlavniCastKnihy hlavniCast = new HlavniCastKnihy
                            {
                                Nadpis = xmlPotomek.SelectSingleNode("os:title", NsManager).InnerText
                            };

                            rodic.PridatPotomka(hlavniCast);
                            rodice.Add(hlavniCast);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else if (
                            xmlPotomek.Name == "div" && xmlPotomekElem.HasAttribute("type") &&
                            xmlPotomek.Attributes["type"].InnerText == "section")
                        {
                            CastKnihy castKnihy = new CastKnihy
                            {
                                Nadpis = xmlPotomek.SelectSingleNode("os:title", NsManager).InnerText.Trim('<', '>', '"')
                            };

                            rodic.PridatPotomka(castKnihy);
                            rodice.Add(castKnihy);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else if (
                            xmlPotomek.Name == "div" && xmlPotomekElem.HasAttribute("type") &&
                            xmlPotomek.Attributes["type"].InnerText == "preface")
                        {
                            // Předmluva.
                            CastKnihy castKnihy = new CastKnihy
                            {
                                Nadpis = xmlPotomek.SelectSingleNode("os:title", NsManager).InnerText
                            };

                            rodic.PridatPotomka(castKnihy);
                            rodice.Add(castKnihy);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else if (xmlPotomek.Name == "lg")
                        {
                            // Máme báseň.
                            Poezie poezie = new Poezie();

                            rodic.PridatPotomka(poezie);
                            rodice.Add(poezie);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else if (xmlPotomek.Name == "p")
                        {
                            // Odstavec složený z veršů, řádků básně či dalšího obsahu.
                            Odstavec odstavec = new Odstavec();

                            rodic.PridatPotomka(odstavec);
                            rodice.Add(odstavec);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else if (xmlPotomek.Name == "chapter")
                        {
                            if (xmlPotomekElem.HasAttribute("osisID") && xmlPotomekElem.HasAttribute("sID"))
                            {
                                UvodKapitoly uvodKapitoly = new UvodKapitoly
                                {
                                    Id = xmlPotomek.SelectSingleNode("@osisID", NsManager).InnerText
                                };

                                rodic.PridatPotomka(uvodKapitoly);
                                rodice.Add(uvodKapitoly);
                                xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                            }
                            else
                            {
                                // Konec kapitoly, zatím se neřeší.
                            }
                        }
                        else if (xmlPotomekElem.Name == "verse")
                        {
                            if (xmlPotomekElem.HasAttribute("osisID"))
                            {
                                Vers vers = new Vers
                                {
                                    Id = xmlPotomek.SelectSingleNode("@osisID", NsManager).InnerText
                                };

                                rodic.PridatPotomka(vers);
                                rodice.Add(vers);
                                xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                            }
                            else
                            {
                                // Konec verše, zatím se neřeší.
                            }
                        }
                        else if (xmlPotomek.Name == "l")
                        {
                            RadekPoezie radekPoezie = new RadekPoezie();

                            rodic.PridatPotomka(radekPoezie);
                            rodice.Add(radekPoezie);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else if (xmlPotomek.Name == "note")
                        {
                            // Poznámka (pod čarou).
                            Poznamka poznamka = new Poznamka();

                            rodic.PridatPotomka(poznamka);
                            rodice.Add(poznamka);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else if (xmlPotomek.Name == "i")
                        {
                            // Poznámka (pod čarou).
                            FormatovaniTextu formatovaniTextu = new FormatovaniTextu
                            {
                                Kurziva = true
                            };

                            rodic.PridatPotomka(formatovaniTextu);
                            rodice.Add(formatovaniTextu);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else if (xmlPotomek.Name == "head")
                        {
                            // Poznámka (pod čarou).
                            CastPoezie castPoezie = new CastPoezie();

                            rodic.PridatPotomka(castPoezie);
                            rodice.Add(castPoezie);
                            xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                        }
                        else
                        {
                        }
                    }
                    else if (xmlPotomek is XmlText)
                    {
                        // Máme čistě textový záznam.
                        CastTextuSTextem textovaCast = new CastTextuSTextem
                        {
                            /*
                             * TextovaData = HttpUtility.HtmlEncode(Regex.Replace(
                             * xmlPotomek.Value,
                             * "[\\n\\r ]+$",
                             * " "))
                             */
                            TextovaData = Regex.Replace(
                                xmlPotomek.Value,
                                "[\\n\\r ]+$",
                                " ")
                        };

                        rodic.PridatPotomka(textovaCast);
                        rodice.Add(textovaCast);
                        xmlProRodice.Add(xmlPotomek.ChildNodes.OfType <XmlNode>().ToList());
                    }
                    else
                    {
                    }
                }
            }

            return(kniha);
        }
Пример #23
0
 private string ZiskatNazevSouboruKnihy(Kniha kniha)
 {
     return($"kniha-{kniha.Id}.html");
 }
Пример #24
0
        }//SaveAll


        /// <summary>
        /// Vložení nebo aktualizace Knihy v DB
        /// </summary>
        ///<param name="kniha">BO Kniha určený pro uložení nebo změnu</param>
        /// <param name="errMsg">Chybové hlášení pokud nastala chyba</param>
        /// <returns>True nebyla chyba, False chyba nastala</returns>
        public bool InsertOrUpdate(Kniha kniha, out string errMsg)
        {
            errMsg = string.Empty;

            string sqlInsert =
                "SET NOCOUNT ON; INSERT INTO Knihy (AutorJmeno,AutorPrijmeni,NazevKnihy,Vydavatel,RokVydani,Vydani,Jazyk) " +
                "VALUES (@ajm,@aprij,@nazev,@vydavatel,@rokvyd,@vydani,@jazyk); SELECT SCOPE_IDENTITY(); SET NOCOUNT OFF;";
            string sqlUpdate =
                "UPDATE Knihy SET AutorJmeno = @ajm, AutorPrijmeni = @aprij, NazevKnihy = @nazev, " +
                "Vydavatel = @vydavatel, RokVydani = @rokvyd, Vydani = @vydani, Jazyk = @jazyk WHERE (Id=@id)";

            var sql = kniha.Id < 0 ? sqlInsert : sqlUpdate;

            //Vlozeni nebo aktualizace uzivatele v ulozisti
            try
            {
                DataConnection.Instance.Connect();
                try
                {
                    DataConnection.Instance.BeginTransaction();
                    SqlCommand sqlCmd = DataConnection.Instance.CreateCommand(sql);
                    try
                    {
                        sqlCmd.Parameters.AddWithValue("@id", kniha.Id);
                        sqlCmd.Parameters.AddWithValue("@ajm", kniha.AutorJmeno);
                        sqlCmd.Parameters.AddWithValue("@aprij", kniha.AutorPrijmeni);
                        sqlCmd.Parameters.AddWithValue("@nazev", kniha.NazevKnihy);
                        sqlCmd.Parameters.AddWithValue("@vydavatel", kniha.Vydavatel);
                        sqlCmd.Parameters.AddWithValue("@vydani", kniha.Vydani);
                        sqlCmd.Parameters.AddWithValue("@rokvyd", kniha.RokVydani);
                        sqlCmd.Parameters.AddWithValue("@jazyk", kniha.Jazyk);
                        try
                        {

                            var result = -1;
                            if (kniha.Id == -1)
                            {
                                result = DataConnection.Instance.ExecuteScalar(sqlCmd);
                            }
                            else
                            {
                                result = DataConnection.Instance.ExecuteNonQuery(sqlCmd);
                            }

                            //Pokud je návratová hodnota záp**ná nepovedlo se vložit/upravit
                            if (result < 0)
                                throw new DataException($"Nepovedlo se vložit/upravit Knihu ID:({kniha.Id})");
                            DataConnection.Instance.EndTransaction();
                            if (kniha.Id < 0)
                                kniha.Id = result;  //id vytvořené na DB serveru a přidělené novému záznamu v DB
                        }
                        catch (Exception e)
                        {
                            //nastala chyba vykonání INSERT/UPDATE - vrátíme změny v DB
                            DataConnection.Instance.Rollback();
                            errMsg = $"Chyba při INSERT/UPDATE objektu Kniha \n{e.Message}";
                            return false;
                        }
                    }
                    finally
                    {
                        sqlCmd.Dispose();
                    }
                }
                finally
                {
                    DataConnection.Instance.Close();
                }
            }
            catch (Exception e)
            {
                errMsg = $"Chyba při Connection do DB \n{e.Message}";
                return false;
            }
            return true;
        }//InsertOrUpdate