using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Security.Cryptography.X509Certificates; using System.Security.Policy; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Windows.Forms.VisualStyles; using Newtonsoft.Json; namespace Kindlebox { public partial class AddRabbitPedigree : Form { //Rabbit IDs public static Guid rootID, sireID, ssireID, sdamID, sssireID, ssdamID, sdsireID, sddamID, damID, dsireID, ddamID, dssireID, dsdamID, ddsireID, dddamID; public bool unsavedChanges = false; public static bool rabbitExists = false; public AddRabbitPedigree() { InitializeComponent(); } private void AddRabbitPedigree_Load(object sender, EventArgs e) { bAddRabbitDam.Enabled = false; bAddRabbitDDam.Enabled = false; bAddRabbitDDDam.Enabled = false; bAddRabbitDDSire.Enabled = false; bAddRabbitDSDam.Enabled = false; bAddRabbitDSire.Enabled = false; bAddRabbitDSSire.Enabled = false; bAddRabbitSDam.Enabled = false; bAddRabbitSDDam.Enabled = false; bAddRabbitSDSire.Enabled = false; bAddRabbitSire.Enabled = false; bAddRabbitSSDam.Enabled = false; bAddRabbitSSire.Enabled = false; bAddRabbitSSSire.Enabled = false; } //Check if there are unsaved changes before closing the window private void AddRabbitPedigree_FormClosing(object sender, FormClosingEventArgs e) { if (unsavedChanges == true) if (MessageBox.Show("You have unsaved changes. Are you sure you want to close this window?", "Unsaved Changes", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { e.Cancel = true; this.Activate(); } } //Save Button private void bSave_Click(object sender, EventArgs e) { if (rootID == Guid.Empty || sireID == Guid.Empty || ssireID == Guid.Empty || sdamID == Guid.Empty || sssireID == Guid.Empty || ssdamID == Guid.Empty || sdsireID == Guid.Empty || sddamID == Guid.Empty || damID == Guid.Empty || dsireID == Guid.Empty || ddamID == Guid.Empty || dssireID == Guid.Empty || dsdamID == Guid.Empty || ddsireID == Guid.Empty || dddamID == Guid.Empty) { MessageBox.Show("You will need to fill out the entire pedigree before saving.", "Unable to save Rabbit"); } else { string fileName = ""; var json = JsonConvert.SerializeObject(RabbitList.rabbits); if (Properties.Settings.Default.RabbitFile == "") { MessageBox.Show("You do not have a rabbitry file created. You will need to create one now", "Create a rabbitry"); saveFileDialog1.FileName = "rabbitry.json"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { fileName = saveFileDialog1.FileName; } System.IO.File.WriteAllText(fileName, json); Properties.Settings.Default.RabbitFile = fileName; } else { fileName = Properties.Settings.Default.RabbitFile; System.IO.File.WriteAllText(fileName, json); } unsavedChanges = false; ClearPedigree(); MessageBox.Show("Rabbit saved successfully. You can close this window or input another rabbit.", "Success"); } } private void bAddRabbitDSDam_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("dsdam"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("dsdam"); } private void bAddRabbitDDSire_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("ddsire"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("ddsire"); } private void bAddRabbitDDDam_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("dddam"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("dddam"); } private void bAddRabbitDSSire_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("dssire"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("dssire"); } private void bAddRabbitDDam_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("ddam"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("ddam"); bAddRabbitDDSire.Enabled=true; bAddRabbitDDDam.Enabled=true; } private void bAddRabbitDSire_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("dsire"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("dsire"); bAddRabbitDSSire.Enabled = true; bAddRabbitDSDam.Enabled=true; } private void bAddRabbitSDDam_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("sddam"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("sddam"); } private void bAddRabbitSDSire_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("sdsire"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("sdsire"); } private void bAddRabbitSSDam_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("ssdam"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("ssdam"); } private void bAddRabbitSSSire_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("sssire"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("sssire"); } private void bAddRabbitSDam_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("sdam"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("sdam"); bAddRabbitSDSire.Enabled = true; bAddRabbitSDDam.Enabled = true; } private void bAddRabbitSSire_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("ssire"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("ssire"); bAddRabbitSSSire.Enabled = true; bAddRabbitSSDam.Enabled = true; } private void bAddRabbitDam_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("dam"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("dam"); bAddRabbitDSire.Enabled = true; bAddRabbitDDam.Enabled = true; } private void bAddRoot_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("root"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); if (rootID != Guid.Empty) { UpdatePedigree("root"); bAddRabbitSire.Enabled = true; bAddRabbitDam.Enabled = true; unsavedChanges = true; this.Text = "Add Rabbit by Pedigree *"; } } private void bAddRabbitSire_Click(object sender, EventArgs e) { AddRabbitForm addRabbitForm = new AddRabbitForm("sire"); addRabbitForm.StartPosition = FormStartPosition.CenterScreen; addRabbitForm.ShowDialog(); UpdatePedigree("sire"); bAddRabbitSSire.Enabled = true; bAddRabbitSDam.Enabled = true; } //Update Pedigree form with new rabbit info public void UpdatePedigree(string rabbitR) { if (rabbitR == "root") { rabbitBoxAddRoot.Visible = false; rabbitBoxViewRoot.Visible = true; lblRabbitNameRoot.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).RabbitName; lblFarmNameRoot.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).EarNumber != "") { lblEarNumRoot.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).EarNumber; } else { lblEarNumRoot.Text = ""; } lblColorRoot.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).Color; lblWeightRoot.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).Weight + " lbs"; lblSexRoot.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).RegNumber != "") { lblRegNumRoot.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).RegNumber; } else { lblRegNumRoot.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).GCNumber != "") { lblGCNumRoot.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).GCNumber; } else { lblGCNumRoot.Text = ""; } lblBirthdayRoot.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == rootID).Birthday.ToShortDateString(); } else if (rabbitR == "sire") { rabbitBoxAddSire.Visible = false; rabbitBoxViewSire.Visible = true; lblRabbitNameSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).RabbitName; lblFarmNameSire.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).EarNumber != "") { lblEarNumSire.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).EarNumber; } else { lblEarNumSire.Text = ""; } lblColorSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).Color; lblWeightSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).Weight + " lbs"; lblSexSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).RegNumber != "") { lblRegNumSire.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).RegNumber; } else { lblRegNumSire.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).GCNumber != "") { lblGCNumSire.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).GCNumber; } else { lblGCNumSire.Text = ""; } lblBirthdaySire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sireID).Birthday.ToShortDateString(); //Set previous rabbit's Sire ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == rootID); RabbitList.rabbits[index].SireID = sireID; } else if (rabbitR == "ssire") { rabbitBoxAddSSire.Visible = false; rabbitBoxViewSSire.Visible = true; lblRabbitNameSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).RabbitName; lblFarmNameSSire.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).EarNumber != "") { lblEarNumSSire.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).EarNumber; } else { lblEarNumSSire.Text = ""; } lblColorSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).Color; lblWeightSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).Weight + " lbs"; lblSexSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).RegNumber != "") { lblRegNumSSire.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).RegNumber; } else { lblRegNumSSire.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).GCNumber != "") { lblGCNumSSire.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).GCNumber; } else { lblGCNumSSire.Text = ""; } lblBirthdaySSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssireID).Birthday.ToShortDateString(); //Set previous rabbit's Sire ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == sireID); RabbitList.rabbits[index].SireID = ssireID; } else if (rabbitR == "sdam") { rabbitBoxAddSDam.Visible = false; rabbitBoxViewSDam.Visible = true; lblRabbitNameSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).RabbitName; lblFarmNameSDam.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).EarNumber != "") { lblEarNumSDam.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).EarNumber; } else { lblEarNumSDam.Text = ""; } lblColorSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).Color; lblWeightSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).Weight + " lbs"; lblSexSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).RegNumber != "") { lblRegNumSDam.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).RegNumber; } else { lblRegNumSDam.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).GCNumber != "") { lblGCNumSDam.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).GCNumber; } else { lblGCNumSDam.Text = ""; } lblBirthdaySDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdamID).Birthday.ToShortDateString(); //Set previous rabbit's Dam ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == sireID); RabbitList.rabbits[index].DamID = sdamID; } else if (rabbitR == "sssire") { rabbitBoxAddSSSire.Visible = false; rabbitBoxViewSSSire.Visible = true; lblRabbitNameSSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).RabbitName; lblFarmNameSSSire.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).EarNumber != "") { lblEarNumSSSire.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).EarNumber; } else { lblEarNumSSSire.Text = ""; } lblColorSSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).Color; lblWeightSSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).Weight + " lbs"; lblSexSSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).RegNumber != "") { lblRegNumSSSire.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).RegNumber; } else { lblRegNumSSSire.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).GCNumber != "") { lblGCNumSSSire.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).GCNumber; } else { lblGCNumSSSire.Text = ""; } lblBirthdaySSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sssireID).Birthday.ToShortDateString(); //Set previous rabbit's Sire ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == ssireID); RabbitList.rabbits[index].SireID = sssireID; } else if (rabbitR == "ssdam") { rabbitBoxAddSSDam.Visible = false; rabbitBoxViewSSDam.Visible = true; lblRabbitNameSSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).RabbitName; lblFarmNameSSDam.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).EarNumber != "") { lblEarNumSSDam.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).EarNumber; } else { lblEarNumSSDam.Text = ""; } lblColorSSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).Color; lblWeightSSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).Weight + " lbs"; lblSexSSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).RegNumber != "") { lblRegNumSSDam.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).RegNumber; } else { lblRegNumSSDam.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).GCNumber != "") { lblGCNumSSDam.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).GCNumber; } else { lblGCNumSSDam.Text = ""; } lblBirthdaySSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ssdamID).Birthday.ToShortDateString(); //Set previous rabbit's Dam ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == ssireID); RabbitList.rabbits[index].DamID = ssdamID; } else if (rabbitR == "sdsire") { rabbitBoxAddSDSire.Visible = false; rabbitBoxViewSDSire.Visible = true; lblRabbitNameSDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).RabbitName; lblFarmNameSDSire.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).EarNumber != "") { lblEarNumSDSire.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).EarNumber; } else { lblEarNumSDSire.Text = ""; } lblColorSDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).Color; lblWeightSDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).Weight + " lbs"; lblSexSDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).RegNumber != "") { lblRegNumSDSire.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).RegNumber; } else { lblRegNumSDSire.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).GCNumber != "") { lblGCNumSDSire.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).GCNumber; } else { lblGCNumSDSire.Text = ""; } lblBirthdaySDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sdsireID).Birthday.ToShortDateString(); //Set previous rabbit's Sire ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == sdamID); RabbitList.rabbits[index].SireID = sdsireID; } else if (rabbitR == "sddam") { rabbitBoxAddSDDam.Visible = false; rabbitBoxViewSDDam.Visible = true; lblRabbitNameSDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).RabbitName; lblFarmNameSDDam.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).EarNumber != "") { lblEarNumSDDam.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).EarNumber; } else { lblEarNumSDDam.Text = ""; } lblColorSDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).Color; lblWeightSDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).Weight + " lbs"; lblSexSDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).RegNumber != "") { lblRegNumSDDam.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).RegNumber; } else { lblRegNumSDDam.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).GCNumber != "") { lblGCNumSDDam.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).GCNumber; } else { lblGCNumSDDam.Text = ""; } lblBirthdaySDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == sddamID).Birthday.ToShortDateString(); //Set previous rabbit's Dam ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == sdamID); RabbitList.rabbits[index].DamID = sddamID; } else if (rabbitR == "dam") { rabbitBoxAddDam.Visible = false; rabbitBoxViewDam.Visible = true; lblRabbitNameDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).RabbitName; lblFarmNameDam.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).EarNumber != "") { lblEarNumDam.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).EarNumber; } else { lblEarNumDam.Text = ""; } lblColorDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).Color; lblWeightDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).Weight + " lbs"; lblSexDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).RegNumber != "") { lblRegNumDam.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).RegNumber; } else { lblRegNumDam.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).GCNumber != "") { lblGCNumDam.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).GCNumber; } else { lblGCNumDam.Text = ""; } lblBirthdayDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == damID).Birthday.ToShortDateString(); //Set previous rabbit's Dam ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == rootID); RabbitList.rabbits[index].DamID = damID; } else if (rabbitR == "dsire") { rabbitBoxAddDSire.Visible = false; rabbitBoxViewDSire.Visible = true; lblRabbitNameDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).RabbitName; lblFarmNameDSire.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).EarNumber != "") { lblEarNumDSire.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).EarNumber; } else { lblEarNumDSire.Text = ""; } lblColorDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).Color; lblWeightDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).Weight + " lbs"; lblSexDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).RegNumber != "") { lblRegNumDSire.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).RegNumber; } else { lblRegNumDSire.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).GCNumber != "") { lblGCNumDSire.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).GCNumber; } else { lblGCNumDSire.Text = ""; } lblBirthdayDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsireID).Birthday.ToShortDateString(); //Set previous rabbit's Sire ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == damID); RabbitList.rabbits[index].SireID = dsireID; } else if (rabbitR == "dssire") { rabbitBoxAddDSSire.Visible = false; rabbitBoxViewDSSire.Visible = true; lblRabbitNameDSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).RabbitName; lblFarmNameDSSire.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).EarNumber != "") { lblEarNumDSSire.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).EarNumber; } else { lblEarNumDSSire.Text = ""; } lblColorDSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).Color; lblWeightDSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).Weight + " lbs"; lblSexDSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).RegNumber != "") { lblRegNumDSSire.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).RegNumber; } else { lblRegNumDSSire.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).GCNumber != "") { lblGCNumDSSire.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).GCNumber; } else { lblGCNumDSSire.Text = ""; } lblBirthdayDSSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dssireID).Birthday.ToShortDateString(); //Set previous rabbit's Sire ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == dsireID); RabbitList.rabbits[index].SireID = dssireID; } else if (rabbitR == "dsdam") { rabbitBoxAddDSDam.Visible = false; rabbitBoxViewDSDam.Visible = true; lblRabbitNameDSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).RabbitName; lblFarmNameDSDam.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).EarNumber != "") { lblEarNumDSDam.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).EarNumber; } else { lblEarNumDSDam.Text = ""; } lblColorDSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).Color; lblWeightDSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).Weight + " lbs"; lblSexDSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).RegNumber != "") { lblRegNumDSDam.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).RegNumber; } else { lblRegNumDSDam.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).GCNumber != "") { lblGCNumDSDam.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).GCNumber; } else { lblGCNumDSDam.Text = ""; } lblBirthdayDSDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dsdamID).Birthday.ToShortDateString(); //Set previous rabbit's Dam ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == dsireID); RabbitList.rabbits[index].DamID = dsdamID; } else if (rabbitR == "ddam") { rabbitBoxAddDDam.Visible = false; rabbitBoxViewDDam.Visible = true; lblRabbitNameDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).RabbitName; lblFarmNameDDam.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).EarNumber != "") { lblEarNumDDam.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).EarNumber; } else { lblEarNumDDam.Text = ""; } lblColorDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).Color; lblWeightDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).Weight + " lbs"; lblSexDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).RegNumber != "") { lblRegNumDDam.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).RegNumber; } else { lblRegNumDDam.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).GCNumber != "") { lblGCNumDDam.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).GCNumber; } else { lblGCNumDDam.Text = ""; } lblBirthdayDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddamID).Birthday.ToShortDateString(); //Set previous rabbit's Dam ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == damID); RabbitList.rabbits[index].DamID = ddamID; } else if (rabbitR == "ddsire") { rabbitBoxAddDDSire.Visible = false; rabbitBoxViewDDSire.Visible = true; lblRabbitNameDDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).RabbitName; lblFarmNameDDSire.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).EarNumber != "") { lblEarNumDDSire.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).EarNumber; } else { lblEarNumDDSire.Text = ""; } lblColorDDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).Color; lblWeightDDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).Weight + " lbs"; lblSexDDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).RegNumber != "") { lblRegNumDDSire.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).RegNumber; } else { lblRegNumDDSire.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).GCNumber != "") { lblGCNumDDSire.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).GCNumber; } else { lblGCNumDDSire.Text = ""; } lblBirthdayDDSire.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == ddsireID).Birthday.ToShortDateString(); //Set previous rabbit's Sire ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == ddamID); RabbitList.rabbits[index].SireID = ddsireID; } else if (rabbitR == "dddam") { rabbitBoxAddDDDam.Visible = false; rabbitBoxViewDDDam.Visible = true; lblRabbitNameDDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).RabbitName; lblFarmNameDDDam.Text = EscapeFarmName(RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).FarmName) + "'s"; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).EarNumber != "") { lblEarNumDDDam.Text = "Ear: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).EarNumber; } else { lblEarNumDDDam.Text = ""; } lblColorDDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).Color; lblWeightDDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).Weight + " lbs"; lblSexDDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).Sex; if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).RegNumber != "") { lblRegNumDDDam.Text = "Reg #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).RegNumber; } else { lblRegNumDDDam.Text = ""; } if (RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).GCNumber != "") { lblGCNumDDDam.Text = "GC #: " + RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).GCNumber; } else { lblGCNumDDDam.Text = ""; } lblBirthdayDDDam.Text = RabbitList.rabbits.First(rabbit => rabbit.RabbitID == dddamID).Birthday.ToShortDateString(); //Set previous rabbit's Dam ID int index = RabbitList.rabbits.FindIndex(rabbit => rabbit.RabbitID == ddamID); RabbitList.rabbits[index].DamID = dddamID; } } // Clear Pedigree form public void ClearPedigree() { rabbitBoxAddDam.Show(); rabbitBoxAddDDam.Show(); rabbitBoxAddDDDam.Show(); rabbitBoxAddDDSire.Show(); rabbitBoxAddDSDam.Show(); rabbitBoxAddDSire.Show(); rabbitBoxAddDSSire.Show(); rabbitBoxAddRoot.Show(); rabbitBoxAddSDam.Show(); rabbitBoxAddSDDam.Show(); rabbitBoxAddSDSire.Show(); rabbitBoxAddSire.Show(); rabbitBoxAddSSDam.Show(); rabbitBoxAddSSire.Show(); rabbitBoxAddSSSire.Show(); rabbitBoxViewDam.Hide(); rabbitBoxViewDDam.Hide(); rabbitBoxViewDDDam.Hide(); rabbitBoxViewDDSire.Hide(); rabbitBoxViewDSDam.Hide(); rabbitBoxViewDSSire.Hide(); rabbitBoxViewDSire.Hide(); rabbitBoxViewRoot.Hide(); rabbitBoxViewSDam.Hide(); rabbitBoxViewSDDam.Hide(); rabbitBoxViewSDSire.Hide(); rabbitBoxViewSire.Hide(); rabbitBoxViewSSDam.Hide(); rabbitBoxViewSSire.Hide(); rabbitBoxViewSSSire.Hide(); } private void groupBox1_Enter(object sender, EventArgs e) { } private string EscapeFarmName(string farmName) { if (farmName.Contains("&")) { farmName = farmName.Replace("&", "&&"); } return farmName; } } }