예제 #1
0
 /// <summary>
 /// Odebrání záznamu o porodu u nějaké prasnice
 /// </summary>
 /// <param name="record">Odebíráný záznam o porodu</param>
 public void RemoveBirth(Birth record)
 {
     if (record != null && editPig is Saw && editPig != null)
     {
         admin.RemoveBirth(record, (Saw)editPig);
     }
     else if (record == null)
     {
         throw new ArgumentException("Nejprve musíš vybrat záznam, který chceš odebrat!");
     }
     else
     {
         throw new ArgumentException("Něco se nepodařilo. Záznam nebyl odebrán. Zkuste to prosím znovu.");
     }
 }
예제 #2
0
        /// <summary>
        /// Odebrání záznamu o porodu u nějaké prasnice
        /// </summary>
        /// <param name="record">Odebíráný záznam o porodu</param>
        /// <param name="saw">Vztažná prasnice, která obsahuje zadaný záznam</param>
        public void RemoveBirth(Birth record, Saw saw)
        {
            saw.BirthRecords.Remove(record);

            SaveAll();
        }
예제 #3
0
        /// <summary>
        /// Metoda pro přidání nebo úpravu záznamu porodu
        /// </summary>
        /// <param name="operation">0 - nový záznam, 1 - úprava stávajícího</param>
        /// <param name="dateRecessed">Datum zapuštění</param>
        /// <param name="live">Počet živých selat při porodu</param>
        /// <param name="death">Počet mrtvých selat při porodu</param>
        /// <param name="reared">Počet odchovaných selat při odstavu</param>
        /// <param name="dateBirthReal">Skutečné datum porodu</param>
        /// <param name="pregnancyCheck">Kontrola březosti - Ano/Ne</param>
        /// <param name="editRecord">Upravovaný záznam</param>
        public void AddEditBirth(byte operation, DateTime dateRecessed, int live, int death, int reared, DateTime dateBirthReal, bool pregnancyCheck, Birth editRecord
                                 , Pig relationalPig)
        {
            // Přetypování na chovnou prasnici - ostatní nemohou mít seznam porodů
            Saw saw = (Saw)relationalPig;

            // nový záznam
            if (operation == 0)
            {
                saw.BirthRecords.Add(new Birth(dateRecessed, live, death, reared, dateBirthReal, pregnancyCheck));
            }
            // Úprava stávajícího
            else
            {
                editRecord.DateRecessed   = dateRecessed;
                editRecord.Live           = live;
                editRecord.Death          = death;
                editRecord.Reared         = reared;
                editRecord.DateBirth_real = dateBirthReal;
                editRecord.PregnancyCheck = pregnancyCheck;
            }

            SaveAll();
        }
예제 #4
0
        /// <summary>
        /// Metoda pro přidání nebo úpravu záznamu porodu
        /// </summary>
        /// <param name="operation">0 - nový záznam, 1 - úprava stávajícího</param>
        /// <param name="dateRecessed">Datum zapuštění</param>
        /// <param name="live">Počet živých selat při porodu</param>
        /// <param name="death">Počet mrtvých selat při porodu</param>
        /// <param name="reared">Počet odchovaných selat při odstavu</param>
        /// <param name="dateBirthReal">Skutečné datum porodu</param>
        /// <param name="pregnancyCheck">Kontrola březosti</param>
        /// <param name="editRecord">Upravovaný záznam</param>
        public void AddEditBirth(byte operation, string dateRecessed, string live, string death, string reared, string dateBirthReal,
                                 int pregnancyCheck, Birth editRecord)
        {
            // Pomocné proměnné
            bool     pregnancyCheck_help = false;
            DateTime dateRecessed_help   = DateTime.Now;

            // Datum porodu skutečné - kontrola pouze až uživatel něco zadá
            if (!DateTime.TryParse(dateBirthReal, out DateTime dateBirthReal_help) && dateBirthReal != "")
            {
                throw new ArgumentException("Zadal jste datum porodu, ve špatném formátu. Má vypadat jako 12.10.2020");
            }

            // Datum zapuštění - povinný parametr
            if (dateRecessed == "")
            {
                throw new ArgumentException("Nezadal jste datum zapuštění!");
            }
            else if (!DateTime.TryParse(dateRecessed, out dateRecessed_help))
            {
                throw new ArgumentException("Zadal jste datum zapuštění ve špatném formátu. Má vypadat jako 12.10.2020");
            }

            // Ošetření situace, kdy uživatel něco zadal, ale nepodařilo se to převést - nepovinné parametry, proto jsou zkoumány až když je zapsáno
            if (!int.TryParse(live, out int live_help) && live != "")
            {
                throw new ArgumentException("Nezadal jste číslo do počtu živých selat! Zkuste to znovu");
            }

            if (!int.TryParse(death, out int death_help) && death != "")
            {
                throw new ArgumentException("Nezadal jste číslo do počtu mrtvých selat! Zkuste to znovu");
            }

            if (!int.TryParse(reared, out int reared_help) && reared != "")
            {
                throw new ArgumentException("Nezadal jste číslo do počtu odchovaných selat! Zkuste to znovu");
            }
            //Kontrola březosti
            if (pregnancyCheck == 1)
            {
                pregnancyCheck_help = true;
            }

            // Vztažné prase je definováno - uživatel kliknul na seznam a k existujícímu praseti chce přidat záznam
            if (editPig != null)
            {
                // Jedná se o prasnici
                if (editPig is Saw)
                {
                    // Přidání nového záznamu
                    if (operation == 0)
                    {
                        admin.AddEditBirth(0, dateRecessed_help, live_help, death_help, reared_help, dateBirthReal_help, pregnancyCheck_help, null, editPig);
                    }
                    // Úprava stávajícího
                    else if (operation == 1 && editRecord != null)
                    {
                        admin.AddEditBirth(1, dateRecessed_help, live_help, death_help, reared_help, dateBirthReal_help, pregnancyCheck_help, editRecord, editPig);
                    }
                }
                else
                {
                    throw new ArgumentException("Upravované zvíře není PRASNICE, proto nelze přidat porod");
                }
            }
            else
            {
                throw new ArgumentException("Nemůžete přidat porod pro neexistující prace. Nejprve prase vytvořte!");
            }
        }
예제 #5
0
 /// <summary>
 /// Změna výběru - uživatel vybral nějaký porod, nebo změnil
 /// </summary>
 /// <param name="record"></param>
 public void ChangeRecord(Birth record)
 {
     EditRecordFlag = true;
     SelectBirth    = record;
 }