using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Kindlebox { public partial class AddRabbitForm : Form { public string rabbitR; public int listIndex; public string nextRel; public Guid rabbitID = Guid.Empty; public int status; public DateTime dateOfBirth; public AddRabbitForm(string rabbit) { InitializeComponent(); rabbitR = rabbit; string[] relationships = { "root", "sire", "dam", "ssire", "sdam", "dsire", "ddam", "sssire", "ssdam", "sdsire", "sddam", "dssire", "dsdam", "ddsire", "dddam" }; List rabbitRel = new List(relationships); } private void AddRabbitForm_Load(object sender, EventArgs e) { string[] relationships = { "root", "sire", "dam", "ssire", "sdam", "dsire", "ddam", "sssire", "ssdam", "sdsire", "sddam", "dssire", "dsdam", "ddsire", "dddam" }; List rabbitRel = new List(relationships); if (rabbitR == "root") { cbRabbitOwned.Checked = true; } else { munWeight.Value = 4; } if (rabbitR == "sire" || rabbitR == "ssire" || rabbitR == "sssire" || rabbitR == "sdsire" || rabbitR == "dsire" || rabbitR == "dssire" || rabbitR == "ddsire") { cbSex.Text = "Buck"; } else if (rabbitR == "dam" || rabbitR == "sdam" || rabbitR == "ssdam" || rabbitR == "sddam" || rabbitR == "ddam" || rabbitR == "dsdam" || rabbitR == "dddam") { cbSex.Text = "Doe"; } listIndex = rabbitRel.FindIndex(a => a.Contains(rabbitR)); } private void SaveRabbit(Guid _rabbitID) { if (_rabbitID == Guid.Empty) { rabbitID = Guid.NewGuid(); if (rabbitR == "root") { AddRabbitPedigree.rootID = rabbitID; if (cbRabbitOwned.Checked) { status = 0; } else { status = 4; } } else if (rabbitR == "sire") { AddRabbitPedigree.sireID = rabbitID; status = 4; } else if (rabbitR == "dam") { AddRabbitPedigree.damID = rabbitID; status = 4; } else if (rabbitR == "ssire") { AddRabbitPedigree.ssireID = rabbitID; status = 4; } else if (rabbitR == "sssire") { AddRabbitPedigree.sssireID = rabbitID; status = 4; } else if (rabbitR == "ssdam") { AddRabbitPedigree.ssdamID = rabbitID; status = 4; } else if (rabbitR == "sdam") { AddRabbitPedigree.sdamID = rabbitID; status = 4; } else if (rabbitR == "sdsire") { AddRabbitPedigree.sdsireID = rabbitID; status = 4; } else if (rabbitR == "sddam") { AddRabbitPedigree.sddamID = rabbitID; status = 4; } else if (rabbitR == "dsire") { AddRabbitPedigree.dsireID = rabbitID; status = 4; } else if (rabbitR == "ddam") { AddRabbitPedigree.ddamID = rabbitID; status = 4; } else if (rabbitR == "dssire") { AddRabbitPedigree.dssireID = rabbitID; status = 4; } else if (rabbitR == "dsdam") { AddRabbitPedigree.dsdamID = rabbitID; status = 4; } else if (rabbitR == "ddsire") { AddRabbitPedigree.ddsireID = rabbitID; status = 4; } else if (rabbitR == "dddam") { AddRabbitPedigree.dddamID = rabbitID; status = 4; } if (cbDOBUnknwon.Checked == true) { dateOfBirth = DateTime.Parse("01/01/2000"); } else { dateOfBirth = dateTimePicker1.Value; } var rabbitName = tbRabbitName.Text; if (rabbitName.EndsWith("'s")) { string[] rabbitNameA = rabbitName.Split('\''); rabbitName = rabbitNameA[0]; } Rabbit rabbit = new Rabbit(rabbitID, tbFarmName.Text, rabbitName, tbEarNum.Text, tbColor.Text, tbRegNum.Text, tbGCNum.Text, munWeight.Value, dateOfBirth, cbSex.Text, status); RabbitList.rabbits.Add(rabbit); } else { rabbitID = _rabbitID; if (rabbitR == "root") { AddRabbitPedigree.rootID = rabbitID; if (cbRabbitOwned.Checked) { status = 0; } else { status = 4; } } else if (rabbitR == "sire") { AddRabbitPedigree.sireID = rabbitID; status = 4; } else if (rabbitR == "dam") { AddRabbitPedigree.damID = rabbitID; status = 4; } else if (rabbitR == "ssire") { AddRabbitPedigree.ssireID = rabbitID; status = 4; } else if (rabbitR == "sssire") { AddRabbitPedigree.sssireID = rabbitID; status = 4; } else if (rabbitR == "ssdam") { AddRabbitPedigree.ssdamID = rabbitID; status = 4; } else if (rabbitR == "sdam") { AddRabbitPedigree.sdamID = rabbitID; status = 4; } else if (rabbitR == "sdsire") { AddRabbitPedigree.sdsireID = rabbitID; status = 4; } else if (rabbitR == "sddam") { AddRabbitPedigree.sddamID = rabbitID; status = 4; } else if (rabbitR == "dsire") { AddRabbitPedigree.dsireID = rabbitID; status = 4; } else if (rabbitR == "ddam") { AddRabbitPedigree.ddamID = rabbitID; status = 4; } else if (rabbitR == "dssire") { AddRabbitPedigree.dssireID = rabbitID; status = 4; } else if (rabbitR == "dsdam") { AddRabbitPedigree.dsdamID = rabbitID; status = 4; } else if (rabbitR == "ddsire") { AddRabbitPedigree.ddsireID = rabbitID; status = 4; } else if (rabbitR == "dddam") { AddRabbitPedigree.dddamID = rabbitID; status = 4; } } } private void bSave_Click(object sender, EventArgs e) { SaveRabbit(rabbitID); this.Close(); } private void bVerifyRabbit_Click(object sender, EventArgs e) { if (tbFarmName.Text == "" || tbRabbitName.Text == "") { MessageBox.Show("You must input both a Farm Name and Rabbit Name to check if the rabbit already exists in your rabbitry file."); } List r = new List(RabbitList.rabbits.FindAll(rabbit => rabbit.FarmName == tbFarmName.Text && rabbit.RabbitName == tbRabbitName.Text)); foreach(Rabbit i in r) { Console.WriteLine(i.ToString()); } if (r.Count > 0) { rabbitID = r[0].RabbitID; tbFarmName.Text = r[0].FarmName; tbRabbitName.Text = r[0].RabbitName; tbEarNum.Text = r[0].EarNumber; tbColor.Text = r[0].Color; tbRegNum.Text = r[0].RegNumber; tbGCNum.Text = r[0].GCNumber; munWeight.Value = r[0].Weight; dateTimePicker1.Value = r[0].Birthday; cbSex.Text = r[0].Sex; tbEarNum.Enabled = false; cbSex.Enabled = false; tbColor.Enabled = false; tbRegNum.Enabled = false; tbGCNum.Enabled = false; munWeight.Enabled = false; dateTimePicker1.Enabled = false; //AddRabbitPedigree.rabbitExists = true; MessageBox.Show(r[0].FarmName + "'s " + r[0].RabbitName + " is already in your rabbitry file."); } else { MessageBox.Show(tbFarmName.Text + "'s " + tbRabbitName.Text + " does not exist in your rabbitry file. Continue filling out the form to add them."); } } private void bVerifyRabbit_MouseHover(object sender, EventArgs e) { ToolTip toolTip = new ToolTip(); toolTip.SetToolTip(this.bVerifyRabbit, "Click to verify if the rabbit already exists."); } private void tbFarmName_MouseHover(object sender, EventArgs e) { ToolTip toolTip = new ToolTip(); toolTip.SetToolTip(this.tbFarmName, "Don't add the 's to the end, it will be added for you."); } private void cbDOBUnknwon_CheckedChanged(object sender, EventArgs e) { dateTimePicker1.Enabled = false; } } }