using Newtonsoft.Json; 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; using System.Windows.Forms.VisualStyles; using static System.Windows.Forms.VisualStyles.VisualStyleElement; namespace Kindlebox { public partial class AddALitter : Form { Guid damID; Guid litterID; Guid sireID; Guid breedingID; int litterSize = 0; Form addLitterForm = new Form(); public AddALitter(Guid _damID) { InitializeComponent(); damID = _damID; } private void AddALitter_Load(object sender, EventArgs e) { addLitterForm = this; foreach (Breeding b in BreedingList.breedings) { if (b.DamID == damID) { breedingID = b.BreedingID; sireID = b.SireID; } } foreach (Rabbit r in RabbitList.rabbits) { //if (r.Sex == "Buck" && r.Status.Equals(0)) //{ // cbChooseSire.Items.Add(new BreedingComboBoxItem { Text = r.RabbitName, Value = r.RabbitID }); //} if (r.RabbitID == sireID) { lblSire.Text = "Sire: " + r.RabbitName; } if (r.RabbitID == damID) { lblDam.Text = "Dam: " + r.RabbitName; } } } private void bAddLitter_Click(object sender, EventArgs e) { //sireID = (cbChooseSire.SelectedItem as BreedingComboBoxItem).Value; litterID = Guid.NewGuid(); litterSize = int.Parse(tbLitterSize.Text); if (LitterList.litters != null) { Litter litter = new Litter(litterID, sireID, damID, litterSize, dtpBirthDate.Value); LitterList.litters.Add(litter); } else { LitterList.litters = new List(); Litter litter = new Litter(litterID, sireID, damID, litterSize, dtpBirthDate.Value); LitterList.litters.Add(litter); } // Update the dam's pregnancy status foreach (var rabbit in RabbitList.rabbits.Where(Rabbit => Rabbit.RabbitID == damID)) { rabbit.PregnantStatus = false; } // Add each new kit that was in the litter for (int i = 0; i < litterSize; i++) { Guid newKitID = Guid.NewGuid(); var firstChars = Properties.Settings.Default.FarmName.Split(' ').Select(s => s[0]); var FarmInitials = ""; foreach (var firstChar in firstChars) { FarmInitials += firstChar; } String newKitName = FarmInitials + " kit (" + newKitID.ToString("N").Substring(0,5) + ")"; Rabbit rabbit = new Rabbit(newKitID, Properties.Settings.Default.FarmName, newKitName, dtpBirthDate.Value, sireID, damID, litterID); RabbitList.rabbits.Add(rabbit); } UpdateJson.UpdateRabbits(); SaveLitter(); addLitterForm.Close(); } private void SaveLitter() { foreach (var litter in LitterList.litters.Where(Litter => Litter.LitterID == litterID)){ litter.SireID = sireID; litter.DamID = damID; litter.LitterSize = litterSize; litter.LitterDate = dtpBirthDate.Value; } UpdateJson.UpdateLitters(); foreach (Breeding b in BreedingList.breedings.Where(Breeding => Breeding.BreedingID == breedingID)) { b.isSuccessful = true; b.isActive = false; b.LitterID = litterID; } //BreedingList.breedings.RemoveAll(x => x.BreedingID == breedingID); UpdateJson.UpdateBreedings(); } } }