예제 #1
0
        /// <summary>
        /// Metoda pro vytvoření View modelu Prase / Prasnice, pro jejich úpravu
        /// </summary>
        /// <returns>View model</returns>
        public VM_Birth DefineVM_Birth()
        {
            // Kolekce porodů pro vybrané zvíře
            List <Birth> sawBirth = new List <Birth>();

            // Prasnice
            if (editPig is Saw)
            {
                Saw          mother  = (Saw)editPig;
                List <Birth> records = new List <Birth>();
                // Získání kolekce porodů a seřazení sestupně
                var query = mother.BirthRecords.OrderByDescending(a => a.DateRecessed);

                foreach (Birth rec in query)
                {
                    records.Add(rec);
                }
                // Vytvoření VIEW modelu
                return(new VM_Birth(records, mother));
            }
            else
            {
                throw new ArgumentException("Nelze zobrazit porody pro vybrané zvíře.");
            }
        }
예제 #2
0
        /// <summary>
        /// Konstruktor View modelu - zobrazení vytvořeného zvířete
        /// </summary>
        /// <param name="pig">Zobrazované prase</param>
        /// <param name="saw">Zobrazovaná prasnice</param>
        /// <param name="mothers">Pole jmen prasnic uložených v aplikaci</param>
        public VM_PigSaw(Pig pig, Saw saw, List <string> mothers, int selectMotherId)
        {
            ViewPig = pig;
            ViewSaw = saw;

            Mothers        = mothers;
            SelectMother   = selectMotherId;
            EditRecordFlag = true;
        }
예제 #3
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();
        }
예제 #4
0
        /// <summary>
        /// Základní konstruktor - povinné údaje
        /// </summary>
        /// <param name="born">Datum narození</param>
        /// <param name="registerNumber">Registrační číslo</param>
        /// <param name="sex">Pohlaví * True - muž * False - žena</param>
        /// <param name="mother">Matka - prasnice</param>
        public Pig(DateTime born, string registerNumber, Sex sex, Saw mother)
        {
            Id = ID;
            ID++;

            Born           = born;
            RegisterNumber = registerNumber;
            Sex            = sex;
            Mother         = mother;

            VeterinaryRecords = new List <Veterinary>();
        }
예제 #5
0
 /// <summary>
 /// Základní konstruktor - vyžaduje kolekci záznamů PRASNICE
 /// </summary>
 /// <param name="sawsBirth">Porodní záznamy prasnice</param>
 /// <param name="saw">Instance prasnice</param>
 public VM_Birth(List <Birth> sawsBirth, Saw saw)
 {
     SawBirth       = sawsBirth;
     SelectBirth    = null;
     EditRecordFlag = false;
     this.saw       = saw;
     //
     if (saw != null)
     {
         TotalLive   = saw.TotalLive.ToString();
         TotalDeath  = saw.TotalDeath.ToString();
         TotalReared = saw.TotalReared.ToString();
     }
 }
예제 #6
0
        /// <summary>
        /// Základní konstruktor - povinné údaje
        /// </summary>
        /// <param name="born">Datum narození</param>
        /// <param name="registerNumber">Registrační číslo</param>
        /// <param name="sex">Pohlaví * 0 - žena  * 1 - muž</param>
        /// <param name="mother">Matka - prasnice</param>
        /// <param name="despription">Doplňující popis ke zvířeti</param>
        /// <param name="name">Pojmenování zvířete</param>
        public Pig(DateTime born, string registerNumber, Sex sex, Saw mother, string name, string despription)
        {
            Id = ID;
            ID++;

            Born           = born;
            RegisterNumber = registerNumber;
            Sex            = sex;
            Mother         = mother;
            Name           = name;
            Description    = despription;

            VeterinaryRecords = new List <Veterinary>();
        }
예제 #7
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();
        }
예제 #8
0
 /// <summary>
 /// Odebrání záznamu zvířete
 /// </summary>
 /// <param name="removedPig">Odebíráné zvíře</param>
 public void RemoveSawPig(Pig removedPig)
 {
     if (removedPig != null)
     {
         if (removedPig is Saw)
         {
             Saw removedSaw = (Saw)removedPig;
             // Vyhledání prasnice z kolekce, které odpovídá ID
             var query = (from s in Saws
                          where (s.Id == removedSaw.Id)
                          select s).First();
             // Odebrání prasnice z kolekce
             Saw saw = query;
             if (saw != null)
             {
                 Saws.Remove(saw);
             }
         }
         else
         {
             // Vyhledání prasete z kolekce, které odpovídá ID
             var query = (from p in Pigs
                          where (p.Id == removedPig.Id)
                          select p).First();
             // Odebrání prasete z kolekce
             Pig pig = query;
             if (pig != null)
             {
                 Pigs.Remove(pig);
             }
         }
     }
     // Uložení ID a prasat
     SaveIDs();
     SavePigSaws();
 }
예제 #9
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();
        }