Example #1
0
        /// <summary>
        /// Přidání / úprava prasnice nebo prasete
        /// </summary>
        /// <param name="operation">0 - Nové prase, 1 - úprava stávajcího</param>
        /// <param name="type">Prasnice / ostatní prase</param>
        /// <param name="motherId">Id v ComboBoxu pro výběr matky</param>
        /// <param name="dateBorn">Datum narození prasete</param>
        /// <param name="registerNumber">Registrační číslo prasete</param>
        /// <param name="name">Pojmenování prasete</param>
        /// <param name="description">Podrobný popis prasete</param>
        /// <param name="editPig">Upravované prase</param>
        /// <param name="sex">Pohlaví 0 - Prasnice, 1 - Kanec</param>
        public void AddEditSawPig(byte operation, TypePig type, int motherId, DateTime dateBorn, string registerNumber, string name, string description, Pig editPig, Sex sex)
        {
            // Nové zvíře
            if (operation == 0)
            {
                // Prasnice
                if (type == TypePig.Saw)
                {
                    Saws.Add(new Saw(dateBorn, registerNumber, name, description));
                }
                // Ostatní
                else
                {
                    // Ošetření, pokud by uživatel nevybral matku
                    Saw mother = null;
                    if (motherId != -1)
                    {
                        mother = Saws[motherId];
                    }

                    Pigs.Add(new Pig(dateBorn, registerNumber, sex, mother, name, description));
                }
            }
            // Úprava stávajícího
            else if (operation == 1)
            {
                // Prasnice
                if (editPig is Saw)
                {
                    // Změna parametrů konkrétní PRASNICE
                    Saw editSaw = editPig as Saw;
                    editSaw.Name           = name;
                    editSaw.RegisterNumber = registerNumber;
                    editSaw.Born           = dateBorn;
                    editSaw.Description    = description;
                }
                // Ostatní
                else
                {
                    // Vyhledání konkrétní matky v seznamu PRASNIC
                    Saw mother = null;
                    if (motherId != -1)
                    {
                        mother = Saws[motherId];
                    }
                    // Úprava hodnot zadaného prasate
                    editPig.Name           = name;
                    editPig.RegisterNumber = registerNumber;
                    editPig.Born           = dateBorn;
                    editPig.Description    = description;
                    editPig.Mother         = mother;
                }
            }
            // Uložení identifikátorů tříd a samotných záznamů prasat
            SaveIDs();
            SavePigSaws();
        }
Example #2
0
        /// <summary>
        /// Přidání / úprava prasnice nebo prasete
        /// </summary>
        /// <param name="operation">0 - Nové prase, 1 - úprava stávajcího</param>
        /// <param name="typePig">Prasnice / ostatní prase</param>
        /// <param name="motherId">Id v ComboBoxu pro výběr matky</param>
        /// <param name="dateBorn">Datum narození prasete</param>
        /// <param name="registerNumber">Registrační číslo prasete</param>
        /// <param name="name">Pojmenování prasete</param>
        /// <param name="description">Podrobný popis prasete</param>
        /// <param name="sex">Pohlaví zvířete 0 - prasnice * 1 - kanec</param>
        public void AddEditSawPig(byte operation, int typePig, int motherId, string dateBorn, string registerNumber, string name, string description, int sex)
        {
            //Pomocné proměnné
            DateTime born = DateTime.Now;
            TypePig  type = (TypePig)typePig;

            // Uživatel nevybral prasnici ani ostatní
            if (typePig == -1)
            {
                throw new ArgumentException("Nevybral jste zda se jedná o prasnici / ostatní prase");
            }
            // Uživatel vybral matku pro prasnici
            if (typePig == 0 && motherId != -1)
            {
                throw new ArgumentException("Nemůžete vybrat matku pro chovnou PRASNICI");
            }

            // Ošetření datumu
            if (!DateTime.TryParse(dateBorn, out born) && dateBorn != "")
            {
                throw new ArgumentException("Zadal jste datum ve špatném formátu. Má vypadat jako 12.10.2020");
            }
            else if (dateBorn == "")
            {
                throw new ArgumentException("Nezadal jste datum narození");
            }
            else if (born > DateTime.Now.AddDays(10))
            {
                throw new ArgumentException("Zadal jste datum do budoucnosti více jak 10 dní");
            }
            // Ošetření evidenčního čísla
            if (registerNumber == "")
            {
                throw new ArgumentException("Nezadal jste žádné registrační číslo prasete");
            }
            // U prasnice se pohlaví nekontroluje, protože je zjevné a defaultně definované jako ženské
            Sex sex_help = Sex.Saw;

            // Ostatní prase
            if (typePig == 1)
            {
                // Ošetření výběru pohlaví
                if (sex == -1)
                {
                    throw new ArgumentException("Nevybral jste pohlaví zvířete");
                }
                else
                {
                    sex_help = (Sex)sex;
                }
            }

            // Nové zvíře
            if (operation == 0)
            {
                admin.AddEditSawPig(0, type, motherId, born, registerNumber, name, description, null, sex_help);
            }
            // Úprava stávajícího
            else if (operation == 1 && editPig != null)
            {
                // Ošetření, uživatel se pokusil změnit ostatní prase na chovnou prasnici - toto aplikace neumožňuje
                if (!(editPig is Saw) && type == TypePig.Saw)
                {
                    throw new ArgumentException("Nemůžeš změnit ostatní na chovnou prasnici. Vymaž daný záznam a vytvoř nové zvíře.");
                }
                else if (editPig is Saw && type == TypePig.OtherPig)
                {
                    throw new ArgumentException("Nemůžeš změnit chovnou prasnici na ostatní. Vymaž daný záznam a vytvoř nové zvíře.");
                }

                admin.AddEditSawPig(1, type, motherId, born, registerNumber, name, description, editPig, sex_help);
            }
            else
            {
                throw new ArgumentException("Nelze provést zadanou operaci. Lze pouze 0 nebo 1 (Nový záznam / úprava)");
            }

            // Zavolaní metody pro vykreslení, která zavolá dále třídu GRAPHIC, která provede samotné vykreslení
            ConstructGraphicPigSawList(true, false, false);
        }