Beispiel #1
0
        private void Guardar_Click(object sender, EventArgs e)
        {
            try
            {
                string sresultado = ValidarDatos();

                if (sresultado == "") // significa que tiene un nombre valido
                {
                    if (text_Id.Text == "")
                    {
                        Producto producto = new Producto();
                        producto.Nombre       = text_Nombre.Text;
                        producto.Categoria.Id = Convert.ToInt32(text_Categoria.Text);
                        producto.Descripcion  = text_Descripcion.Text;
                        if (Servicios == 0)
                        {
                            producto.Stock        = Convert.ToInt32(text_Stock.Text);
                            producto.PrecioCompra = Convert.ToDouble(text_PrecioCompra.Text);
                        }
                        producto.FechaVencimiento = text_FechadeVencimiento.Value;
                        producto.PrecioVenta      = Convert.ToDouble(text_PrecioVenta.Text);
                        producto.ProdServ         = Servicios == 0 ? "Productos" : "Servicios";
                        producto.Itbis            = Convert.ToInt32(cbx_ITBIS.Text);

                        MemoryStream ms = new MemoryStream();
                        if (Imagen.Image != null)
                        {
                            Imagen.Image.Save(ms, Imagen.Image.RawFormat);
                        }

                        else
                        {
                            Imagen.Image = Resources.Transparente;
                            Imagen.Image.Save(ms, Imagen.Image.RawFormat);
                        }

                        producto.Imagen = ms.GetBuffer();
                        int idProducto = Fproducto.Insertar(producto);
                        if (idProducto > 0)
                        {
                            MessageBox.Show("Datos insertados correctamente");

                            //este es el metodo para guardar el log con la accion Inserto producto
                            Form1.Log(Usuario.Nombreusuario, "Inserto producto: " + idProducto + " - " + producto.Nombre);

                            FRM_Producto_Load(null, null);
                        }
                    }

                    else
                    {
                        Producto producto = new Producto();
                        producto.Id           = Convert.ToInt32(text_Id.Text);
                        producto.Nombre       = text_Nombre.Text;
                        producto.Categoria.Id = Convert.ToInt32(text_Categoria.Text);
                        producto.Descripcion  = text_Descripcion.Text;
                        if (Servicios == 0)
                        {
                            producto.Stock        = Convert.ToInt32(text_Stock.Text);
                            producto.PrecioCompra = Convert.ToDouble(text_PrecioCompra.Text);
                        }
                        producto.PrecioVenta      = Convert.ToDouble(text_PrecioVenta.Text);
                        producto.FechaVencimiento = text_FechadeVencimiento.Value;
                        producto.ProdServ         = Servicios == 0 ? "Productos" : "Servicios";
                        producto.Itbis            = Convert.ToInt32(cbx_ITBIS.Text);

                        MemoryStream ms = new MemoryStream();
                        if (Imagen.Image != null)
                        {
                            Imagen.Image.Save(ms, Imagen.Image.RawFormat);
                        }

                        else
                        {
                            Imagen.Image = Resources.Transparente;
                            Imagen.Image.Save(ms, Imagen.Image.RawFormat);
                        }

                        //Solucion del error de no guardar la imagen
                        producto.Imagen = ms.GetBuffer();
                        int idProducto = Fproducto.Actualizar(producto);

                        if (idProducto > 0)
                        {
                            //este es el metodo para guardar el log con la accion Actualizo producto
                            Form1.Log(Usuario.Nombreusuario, "Actualizo producto: " + idProducto + " - " + producto.Nombre);

                            MessageBox.Show("Datos Modificados correctamente");
                            FRM_Producto_Load(null, null);
                        }
                    }
                }

                else
                {
                    MessageBox.Show("Faltan Completar Datos: \n " + sresultado);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Algo está mal, Favor intentar denuevo", "Error");
            }
        }