예제 #1
0
 public void Insertar(AnimalApi animal)
 {
     try
     {
         this.AbrirConexion();
         SqlCommand cmdInsertar = new SqlCommand("" +
                                                 " insert into " +
                                                 " Animal(fecha_nacimiento,nombre_animal,estado_animal, hba, id_categoria,rp_madre,rp_padre,hba_madre, " +
                                                 " hba_padre,id_tambo,id_raza,habilitado,caravana) " +
                                                 " values (@fecha_nacimiento,@nombre_animal,@estado_animal,@hba,@id_categoria,@rp_madre,@rp_padre,@hba_madre," +
                                                 " @hba_padre,@id_tambo,@id_raza,@habilitado,@caravana)", Conn);
         cmdInsertar.Parameters.Add("fecha_nacimiento", SqlDbType.DateTime).Value = animal.FechaNacimiento;
         //cmdInsertar.Parameters.Add("edad", SqlDbType.Int).Value = animal.Edad; ;
         cmdInsertar.Parameters.Add("nombre_animal", SqlDbType.VarChar, 50).Value = animal.NombreAnimal;
         cmdInsertar.Parameters.Add("estado_animal", SqlDbType.VarChar, 50).Value = animal.EstadoAnimal;
         cmdInsertar.Parameters.Add("hba", SqlDbType.Int).Value              = animal.Hba;
         cmdInsertar.Parameters.Add("id_categoria", SqlDbType.Int).Value     = animal.IdCategoria;
         cmdInsertar.Parameters.Add("rp_madre", SqlDbType.Int).Value         = animal.RpMadre;
         cmdInsertar.Parameters.Add("rp_padre", SqlDbType.Int).Value         = animal.RpPadre;
         cmdInsertar.Parameters.Add("hba_madre", SqlDbType.Int).Value        = animal.HbaMadre;
         cmdInsertar.Parameters.Add("hba_padre", SqlDbType.Int).Value        = animal.HbaPadre;
         cmdInsertar.Parameters.Add("id_tambo", SqlDbType.Int).Value         = animal.IdTambo;
         cmdInsertar.Parameters.Add("id_raza", SqlDbType.Int).Value          = animal.IdRaza;
         cmdInsertar.Parameters.Add("habilitado", SqlDbType.Bit).Value       = animal.Habilitado;
         cmdInsertar.Parameters.Add("caravana", SqlDbType.VarChar, 50).Value = animal.Caravana;
         cmdInsertar.ExecuteNonQuery();
     }
     catch (SqlException sqe)
     {
         throw sqe;
     }
     catch (Exception ex)
     {
         Exception exepcionnueva = new Exception("Error al insertar animal", ex);
         throw exepcionnueva;
     }
     finally
     {
         this.CerrarConexion();
     }
 }
예제 #2
0
 public void Init()
 {
     instance = new AnimalApi();
 }
예제 #3
0
 public void Actualizar(AnimalApi animal)
 {
     animalDatos.Actualizar(animal);
 }
예제 #4
0
 public void Insertar(AnimalApi animal)
 {
     animalDatos.Insertar(animal);
 }
예제 #5
0
        private async void btnSubir_Click(object sender, EventArgs e)
        {
            try
            {
                btnGuardar.Visible       = false;
                dataGridView1.DataSource = null;
                progressBar1.Style       = ProgressBarStyle.Marquee;
                btnSincronizar.Enabled   = false;
                btnSubir.Enabled         = false;
                lbSincronizacion.Text    = "En proceso...";
                t = new System.Threading.Thread(start);
                t.Start();


                AnimalApi_Negocio an                 = new AnimalApi_Negocio();
                AnimalApi         animal             = new AnimalApi();
                List <AnimalApi>  listaAnimalesBase  = an.RecuperarPorTambo(Principal.Tambo.Id_tambo); //La lista se llena correctamente
                List <AnimalApi>  listadoanimalesApi = await TraerListadoAnimalesApi();

                List <AnimalApi> listaResultado   = new List <AnimalApi>();
                List <AnimalApi> listaModificados = new List <AnimalApi>();
                List <AnimalApi> listaNuevos      = new List <AnimalApi>();

                ComunicacionApi comApi = new ComunicacionApi();
                var             Url    = "http://localhost:8081/api/animales";

                foreach (var item in listaAnimalesBase)
                {
                    animal = item;

                    if (listadoanimalesApi.Count == 0)
                    {
                        Url    = "http://localhost:8081/api/animales";
                        animal = await comApi.Post <string, AnimalApi>(Url, animal);

                        if (!comApi.response.IsSuccessStatusCode)
                        {
                            MessageBox.Show(this, "No se pudo subir correctamente el registro " + item.NombreAnimal);
                        }
                        else
                        {
                            listaNuevos.Add(animal);
                            listaResultado.Add(animal);
                        }
                    }
                    else if (!listadoanimalesApi.Exists(x => x.Caravana == animal.Caravana && x.IdTambo == animal.IdTambo))
                    {
                        Url    = "http://localhost:8081/api/animales";
                        animal = await comApi.Post <string, AnimalApi>(Url, animal);

                        if (!comApi.response.IsSuccessStatusCode)
                        {
                            MessageBox.Show(this, "No se pudo subir correctamente el registro " + item.NombreAnimal);
                        }
                        else
                        {
                            listaNuevos.Add(animal);
                            listaResultado.Add(animal);
                        }
                    }
                    else
                    {
                        if (listadoanimalesApi.Exists(a => a.Caravana == animal.Caravana && (a.FechaNacimiento != animal.FechaNacimiento || a.NombreAnimal != animal.NombreAnimal || a.EstadoAnimal != animal.EstadoAnimal)))
                        {
                            Url = "http://localhost:8081/api/animales/" + animal.Rp;
                            await comApi.Put <string, AnimalApi>(Url, animal);

                            if (!comApi.response.IsSuccessStatusCode)
                            {
                                MessageBox.Show(this, "No se pudo subir correctamente el registro " + item.NombreAnimal);
                            }
                            if (comApi.response.StatusCode == System.Net.HttpStatusCode.NoContent)
                            {
                                listaResultado.Add(animal);
                                listaModificados.Add(animal);
                            }
                        }
                    }
                }

                dataGridView1.DataSource = listaResultado;

                string nombres = "";
                string mensaje = "";



                if (listaModificados.Count == 0 && listaNuevos.Count == 0)
                {
                    MessageBox.Show(this, "La sincronizacion se realizó correctamente. No hubo cambios ");
                }
                else if (listaNuevos.Count > 0)
                {
                    nombres = "";
                    mensaje = "Los siguientes animales fueron dados de alta:\n";
                    foreach (var nuevo in listaNuevos)
                    {
                        nombres = nombres + nuevo.NombreAnimal + "\n";
                    }
                    mensaje = mensaje + nombres;
                    if (listaModificados.Count > 0)
                    {
                        mensaje = mensaje + "\n **Los registros se sincronizaron correctamente";
                    }
                    MessageBox.Show(this, mensaje);
                }
                else
                {
                    MessageBox.Show(this, "La sincronizacion se realizó correctamente. ");
                }

                finishProcess();
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message);
            }
        }