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