/// <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."); } }
/// <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; }
/// <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(); }
/// <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>(); }
/// <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(); } }
/// <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>(); }
/// <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(); }
/// <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(); }
/// <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(); }