示例#1
0
        private void btnParto_Click(object sender, EventArgs e)
        {
            if ((!string.IsNullOrEmpty(txtParto.Text) || !string.IsNullOrWhiteSpace(txtParto.Text)))
            {
                Swine  swine = new Swine();
                Main   main  = new Main();
                string arete = txtParto.Text;
                swine = main.ExisteArete(arete);

                if (swine != null)
                {
                    Birth newBirth = new Birth();

                    DateTime dateParto       = fechaParto.Value;
                    int      lechonesTotales = Convert.ToInt32(txtLechonesTotales.Text);
                    int      lechonesVivos   = Convert.ToInt32(txtLechonesVivos.Text);
                    int      hembras         = Convert.ToInt32(txtHembras.Text);
                    int      machos          = Convert.ToInt32(txtMachos.Text);
                    int      lechonesMuertos = Convert.ToInt32(txtMuertos.Text);
                    int      lechonesMomias  = Convert.ToInt32(txtMomias.Text);
                    string   pesos           = txtPesos.Text;

                    int totaGenero       = hembras + machos;
                    int totalDistribuido = lechonesVivos + lechonesMuertos + lechonesMomias;

                    if (swine.partos.Count > 0)
                    {
                        newBirth = swine.partos.Last();

                        if (newBirth.getFechaFalsaPreniez().Equals("-"))
                        {
                            if (lechonesTotales == totaGenero && lechonesTotales == totalDistribuido)
                            {
                                newBirth.setFechaParto(dateParto.Date.ToString("dd-MM-yyyy"));
                                newBirth.setTotalNacidos(lechonesTotales);
                                newBirth.setNacidosVivos(lechonesVivos);
                                newBirth.setNacidosMuertos(lechonesMuertos);
                                newBirth.setNacidosMomias(lechonesMomias);
                                newBirth.setTotalHembras(hembras);
                                newBirth.setTotalMachos(machos);
                                newBirth.setMovimientoLechones(Convert.ToInt32(txtMovLechones.Text));
                                //newBirth.setPorcentajeMortalidad();
                                newBirth.setGrasaDorsal(Convert.ToDouble(txtGrasaDorsal.Text));
                                newBirth.setCantidadTetas(Convert.ToInt32(txtCantTetas.Text));
                                newBirth.setTipoBaja(txtTipoBaja.Text);

                                var items = pesos.Split(',');
                                newBirth.pesos.Clear();

                                if (items.Count() == lechonesVivos)
                                {
                                    for (int i = 0; i < items.Count(); i++)
                                    {
                                        newBirth.pesos.Add(Convert.ToInt32(items.ElementAt(i)));
                                    }

                                    swine.setTotalPartos(swine.getTotalPartos() + 1);
                                    int actualVivos   = swine.getTotalLechonesVivos();
                                    int actualMuertos = swine.getTotalLechonesMuertos();
                                    int actualMomias  = swine.getTotalLechonesMomia();

                                    swine.setTotalLechonesVivos(actualVivos + lechonesVivos);
                                    swine.setTotalLechonesMuertos(actualMuertos + lechonesMuertos);
                                    swine.setTotalLechonesMomia(actualMomias + lechonesMomias);

                                    main.Update(swine);

                                    MessageBox.Show("El parto fue ingresado con éxito");
                                }
                                else
                                {
                                    MessageBox.Show("La cantidad de pesos ingresados no coinciden con el total de lechones");
                                }
                            }
                            else
                            {
                                MessageBox.Show("Los datos de hembras/machos o vivos/muertos/momias no coinciden");
                            }
                        }
                        else
                        {
                            MessageBox.Show("La hembra " + swine.getArete() + " no está preñada");
                        }
                    }
                    else if (swine.partos == null || swine.partos.Count == 0 || newBirth.getFechaInseminacion().Equals("-"))
                    {
                        MessageBox.Show("Verifique que la hembra seleccionada haya sido inseminada");
                    }
                }
                else
                {
                    MessageBox.Show("El número de arete que ingresó no existe");
                }
            }
            else
            {
                MessageBox.Show("Debe ingresar el arete de una hembra para continuar");
            }
        }