C sharp - Validar variable tipo int, windowsForm C# Visual Studio

 
Vista:
Imágen de perfil de MAS82

Validar variable tipo int, windowsForm C# Visual Studio

Publicado por MAS82 (3 intervenciones) el 11/07/2023 01:43:36
Un saludo a todos y gracias de antemano por la ayuda que puedan brindarme; Tengo ciertos TextBox donde ingreso informacion de un producto como: codigo, nombre, descripcion, stock y precio ; para luego almacenarlos en unas variables respectivamente en el evento clic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
string mensaje = string.Empty;
 
            Producto obj = new Producto()
            {
                IdProducto = Convert.ToInt32(txtid.Text),
                Codigo = txtcodigo.Text,
                Nombre = txtnombre.Text,
                Descripcion = txtdescripcion.Text,
 
                oCategoria = new Categoria() { IdCategoria = Convert.ToInt32(((OpcionCombo)cbocategoria.SelectedItem).Valor) },
                Stock = Convert.ToInt32(txtstock.Text),
                PrecioCompra = Convert.ToDecimal(txtpreciocompra.Text),
                PrecioVenta = Convert.ToDecimal(txtprecioventa.Text),
 
 
                Estado = Convert.ToInt32(((OpcionCombo)cboestado.SelectedItem).Valor) == 1 ? true : false
 
 
            };

clase producto:
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Producto
    {
        public int IdProducto { get; set; }
        public string Codigo { get; set; }
        public string Nombre { get; set; }
        public string Descripcion { get; set; }
        public Categoria oCategoria { get; set; }
        public int Stock { get; set; }
        public decimal PrecioCompra { get; set; }
        public decimal PrecioVenta { get; set; }
        public bool Estado { get; set; }
        public string FechaRegistro { get; set; }
    }

Ahora necesito lanzar una alerta, cuando en dichos campos TextBox no se llegue a ingresar nada, ademas de cancelar el proceso de guardado, e logrado hacerlo solo con las variables de tipo string pero con la variable Int de "stock" y la variable decimal de "precio" no e logrado hacerlo, muestro codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public int Registrar(Producto obj, out string Mensaje)
        {
            Mensaje = string.Empty;
 
            if (obj.Codigo == "")
            {
                Mensaje += "Es necesario el codigo del Producto\n";
            }
 
            if (obj.Nombre == "")
            {
                Mensaje += "Es necesario el nombre del Producto\n";
            }
 
            if (obj.Descripcion == "")
            {
                Mensaje += "Es necesario la Descripcion del Producto\n";
            }
 
            if (obj.Stock == '0')
            {
                Mensaje += "Es necesario el stock del Producto\n";
            }
 
            if (Mensaje != string.Empty)
            {
                return 0;
            }
            else
            {
                return objcd_Producto.Registrar(obj, out Mensaje);
            }
 
 
        }

cual es la forma correcta de validar que variables de tipo Int, y de tipo Decimal se encuentran vacias luego de no haber ingresado nada el el TextBox; y de esta forma condicionar una alerta de "Es necesario el stock del producto" y tanbien con respecto al precio.

adjunto imagen del error que se genera al correo el codigo.
4wI83
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Validar variable tipo int, windowsForm C# Visual Studio

Publicado por Jorge (3 intervenciones) el 18/07/2023 18:30:43
un objeto texto vacio o null no se puede convertir a valor numerico ( int, decimal, etc), de forma inicial te recomiendo que estos textos de numeros los inicialices siempre en 0 (CERO)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar variable tipo int, windowsForm C# Visual Studio

Publicado por Erick (1 intervención) el 14/09/2023 16:39:08
hola, un poco tarde para responder pero si todavía estás buscando una respuesta puedes probar con TryParse, esta función retorna un bool dependiendo si el contenido es un int o no
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar