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