kindlebox/Kindlebox/Form1.cs

977 lines
43 KiB
C#

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