/*
         * Devuelve el vaso completo, con el nombre de fertilidad en vez de la id
         */
        public List <Vasos> GetVasosColores(int año)
        {
            try
            {
                DataAccess.DataBase bd = new DataBase();
                bd.Connect();                         //método conectar
                List <Vasos> vasos  = new List <Vasos>();
                string       salida = "vasosObtener"; //comando sql
                bd.CreateCommandSP(salida);
                bd.CreateParameter("@ano_vasos", DbType.Int32, año);

                DbDataReader resultado = bd.Query();//disponible resultado

                while (resultado.Read())
                {
                    Vasos vaso = new Vasos(resultado.GetInt32(8), resultado.GetInt32(9), resultado.GetInt32(10), resultado.GetInt32(11));
                    vasos.Add(vaso);
                }
                resultado.Close();
                bd.Close();

                return(vasos);
            }
            catch (Exception e)
            {
                throw new Exception(e.ToString());
            }
        }
        /*
         * Actualizar vasos.
         */
        public int UpdateVasos(Vasos v)
        {
            try
            {
                DataAccess.DataBase bd = new DataBase();
                bd.Connect(); //método conectar
                string sql = "vasosActualizar";
                bd.CreateCommandSP(sql);
                bd.CreateParameter("@id_vasos", DbType.Int32, v.Id_vasos);
                bd.CreateParameter("@ubicacion_vasos", DbType.String, v.Ubicacion_vasos);
                bd.CreateParameter("@cantidad_vasos", DbType.Int32, v.Cantidad_vasos);
                bd.CreateParameter("@id_fertilidad", DbType.Int32, v.Id_fertilidad);
                bd.CreateParameter("@azul_vasos", DbType.Int32, v.Azul_vasos);
                bd.CreateParameter("@roja_vasos", DbType.Int32, v.Roja_vasos);
                bd.CreateParameter("@amarilla_vasos", DbType.Int32, v.Amarilla_vasos);
                bd.CreateParameter("@bicolor_vasos", DbType.Int32, v.Bicolor_vasos);
                bd.CreateParameter("@ano_vasos", DbType.Int32, v.Ano_vasos);

                int          existe_ubicacion;
                DbDataReader resultado = bd.Query();//disponible resultado
                resultado.Read();
                existe_ubicacion = resultado.GetInt32(0);
                resultado.Close();

                bd.Close();
                return(existe_ubicacion);
            }
            catch (Exception e)
            {
                throw new Exception(e.ToString());
            }
        }
Esempio n. 3
0
        protected void VasosGridView_RowUpdating(Object sender, GridViewUpdateEventArgs e)
        {
            CatalogVasos cv = new CatalogVasos();

            try
            {
                this.lblVasosError.Visible = true;
                int    invalido = 0;
                string id_vasos = HttpUtility.HtmlDecode((string)this.gdvVasos.Rows[e.RowIndex].Cells[2].Text);

                //ubicacion
                string ubicacion_vasos = e.NewValues[0].ToString();
                if (ubicacion_vasos.Length == 3)
                {
                    string uvPrimero = ubicacion_vasos.Substring(0, 1);
                    string uvSegundo = ubicacion_vasos.Substring(1, 1);
                    string uvTercero = ubicacion_vasos.Substring(2, 1);
                    if (EsNumero(uvPrimero) == false || EsNumero(uvSegundo) == true || EsNumero(uvTercero) == false)
                    {
                        this.lblVasosError.Text += "Ubicación incorrecta, Ejemplo '1D1' o '1I1'.<br/>";
                        invalido = 1;
                    }
                }
                else
                {
                    this.lblVasosError.Text += "Ubicación incorrecta, Ejemplo '1D1' o '1I1'.<br/>";
                    invalido = 1;
                }

                //cantidad papas
                int    cantidad       = 0;
                string cantidad_vasos = e.NewValues[1].ToString();
                if ((EsNumero(cantidad_vasos) == true && (Int32.Parse(cantidad_vasos) < 0 || Int32.Parse(cantidad_vasos) > 999)) || (EsNumero(cantidad_vasos) == false))
                {
                    this.lblVasosError.Text += "La cantidad de vasos debe ser un número positivo menor a 999.<br/>";
                    invalido = 1;
                }
                else
                {
                    cantidad = Int32.Parse(cantidad_vasos);
                }

                //fertilidad
                DropDownList ddlVasosFertilidad = (DropDownList)gdvVasos.Rows[e.RowIndex].FindControl("ddlVasosFertilidad");
                string       id_fertilidad      = ddlVasosFertilidad.SelectedValue;

                //azules
                int    azul       = 0;
                string azul_vasos = this.txtVasosAzul.Text;
                if ((EsNumero(azul_vasos) == true && (Int32.Parse(azul_vasos) < 0 || Int32.Parse(azul_vasos) > 99)) || (EsNumero(azul_vasos) == false))
                {
                    this.lblVasosError.Text += "Las azules deben ser un número positivo menor a 100.<br/>";
                    invalido = 1;
                }
                else
                {
                    azul = Int32.Parse(azul_vasos);
                }

                //rojas
                int    roja       = 0;
                string roja_vasos = this.txtVasosRoja.Text;
                if ((EsNumero(roja_vasos) == true && (Int32.Parse(roja_vasos) < 0 || Int32.Parse(roja_vasos) > 99)) || (EsNumero(roja_vasos) == false))
                {
                    this.lblVasosError.Text += "Las rojas deben ser un número positivo menor a 100.<br/>";
                    invalido = 1;
                }
                else
                {
                    roja = Int32.Parse(roja_vasos);
                }

                //amarillas
                int    amarilla       = 0;
                string amarilla_vasos = this.txtVasosAmarilla.Text;
                if ((EsNumero(amarilla_vasos) == true && (Int32.Parse(amarilla_vasos) < 0 || Int32.Parse(amarilla_vasos) > 99)) || (EsNumero(amarilla_vasos) == false))
                {
                    this.lblVasosError.Text += "Las amarillas deben ser un número positivo menor a 100.<br/>";
                    invalido = 1;
                }
                else
                {
                    amarilla = Int32.Parse(amarilla_vasos);
                }

                //bicolores
                int    bicolor       = 0;
                string bicolor_vasos = this.txtVasosBicolor.Text;
                if ((EsNumero(bicolor_vasos) == true && (Int32.Parse(bicolor_vasos) < 0 || Int32.Parse(bicolor_vasos) > 99)) || (EsNumero(bicolor_vasos) == false))
                {
                    this.lblVasosError.Text += "Las bicolores deben ser un número positivo menor a 100.<br/>";
                    invalido = 1;
                }
                else
                {
                    bicolor = Int32.Parse(bicolor_vasos);
                }

                if (invalido == 0)
                {
                    int suma = azul + roja + amarilla + bicolor;
                    if (suma > cantidad)
                    {
                        Page.ClientScript.RegisterStartupScript(GetType(), "Script", "<script>alert('La suma de azules, rojas, amarillas y bicolores(" + suma + ") no debe ser mayor a la cantidad total(" + cantidad + ") del vaso')</script>");
                    }

                    Project.BusinessRules.Vasos vasos = new Project.BusinessRules.Vasos(Int32.Parse(id_vasos),
                                                                                        ubicacion_vasos, cantidad, Int32.Parse(id_fertilidad),
                                                                                        azul, roja, amarilla, bicolor, valorAñoInt32);
                    int valor = cv.UpdateVasos(vasos);
                    if (valor == 0)
                    {
                        this.lblVasosError.Text += "La ubicación ingresada ya existe, inténtelo nuevamente.<br/>";
                    }
                }
            }
            catch (Exception ex)
            {
                Page.ClientScript.RegisterStartupScript(GetType(), "Script", "<script>alert('¡Error al modificar, repare los parámetros que ingresó!')</script>");
            }
            this.txtVasosAzul.Text          = "";
            this.txtVasosRoja.Text          = "";
            this.txtVasosAmarilla.Text      = "";
            this.txtVasosBicolor.Text       = "";
            gdvVasos.EditIndex              = -1;
            this.txtCantidadTotalVasos.Text = cv.GetCantidadTotalVasos_fn(valorAñoInt32).ToString() + " Vasos";
            PoblarGrilla();
        }