kindlebox/Kindlebox/EditRabbitForm.cs

145 lines
4.5 KiB
C#

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Kindlebox
{
public partial class EditRabbitForm : Form
{
public Guid _rabbitID;
public EditRabbitForm(Guid rabbitID)
{
InitializeComponent();
_rabbitID = rabbitID;
}
private void EditRabbitForm_Load(object sender, EventArgs e)
{
foreach (Rabbit r in RabbitList.rabbits)
{
if (r.RabbitID == _rabbitID)
{
tbColor.Text = r.Color;
tbEarNum.Text = r.EarNumber;
tbFarmName.Text = r.FarmName;
tbGCNum.Text = r.GCNumber;
tbRabbitName.Text = r.RabbitName;
tbRegNum.Text = r.RegNumber;
cbSex.Text = r.Sex;
munWeight.Value = r.Weight;
dateTimePicker1.Value = r.Birthday.Date;
switch (r.Status)
{
case 0: cbStatus.Text = "Herd";
break;
case 1: cbStatus.Text = "Holding";
break;
case 2: cbStatus.Text = "Sold";
break;
case 3: cbStatus.Text = "Culled/Dead";
break;
case 4: cbStatus.Text = "Other";
break;
}
if (r.PregnantStatus == false)
checkPregnant.Checked = false;
else
{
checkPregnant.Checked = true;
dateTimePicker2.Value = r.LastPregnantDate.Date;
}
}
cbAGene.Text = r.AGene;
cbBGene.Text = r.BGene;
cbCGene.Text = r.CGene;
cbDGene.Text = r.DGene;
cbEGene.Text = r.EGene;
cbEnGene.Text = r.EnGene;
cbVGene.Text = r.VGene;
}
}
private void SaveRabbit()
{
foreach(var rabbit in RabbitList.rabbits.Where(Rabbit => Rabbit.RabbitID == _rabbitID))
{
rabbit.Color = tbColor.Text;
rabbit.EarNumber = tbEarNum.Text;
rabbit.FarmName = tbFarmName.Text;
rabbit.GCNumber = tbGCNum.Text;
rabbit.RabbitName = tbRabbitName.Text;
rabbit.RegNumber = tbRegNum.Text;
rabbit.Sex = cbSex.Text;
rabbit.Weight = munWeight.Value;
rabbit.Birthday = dateTimePicker1.Value;
switch (cbStatus.Text)
{
case "Other":
rabbit.Status = 4;
break;
case "Herd":
rabbit.Status = 0;
break;
case "Holding":
rabbit.Status = 1;
break;
case "Sold":
rabbit.Status = 2;
break;
case "Culled/Dead":
rabbit.Status = 3;
break;
}
if (checkPregnant.Checked == true)
{
rabbit.PregnantStatus = true;
rabbit.LastPregnantDate = dateTimePicker2.Value;
}
else
rabbit.PregnantStatus = false;
rabbit.AGene = cbAGene.Text;
rabbit.BGene = cbBGene.Text;
rabbit.CGene = cbCGene.Text;
rabbit.DGene = cbDGene.Text;
rabbit.EGene = cbEGene.Text;
rabbit.EnGene = cbEnGene.Text;
rabbit.VGene = cbVGene.Text;
}
UpdateJson.UpdateRabbits();
//string fileName = Properties.Settings.Default.RabbitFile;
//var json = JsonConvert.SerializeObject(RabbitList.rabbits);
//System.IO.File.WriteAllText(fileName, json);
}
private void bSave_Click(object sender, EventArgs e)
{
SaveRabbit();
this.Close();
}
}
}