Esempio n. 1
0
        /// <summary>
        /// Se encarga de seleccionar un Articulo de acuerdo al ID ingresado
        /// </summary>
        ///<param name="id">EL ID unico del Articulo a consultar</param>
        ///<returns>Objeto de tipo Articulo</returns>
        public static Articulo SeleccionarPorId(int id)
        {
            using (IDataBase db = FactoryDatabase.CreateDefaultDataBase())
            {
                SqlCommand comando = new SqlCommand();
                comando.CommandType = System.Data.CommandType.StoredProcedure;
                comando.CommandText = "PA_SeleccionarArticuloPorID";
                comando.Parameters.AddWithValue("@id", id);

                DataSet ds = db.ExecuteDataSet(comando);

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    Articulo art = null;
                    //Se crea el objeto transporte de acuerdo a su tipo
                    FactoryArticulo fa = new FactoryArticulo();
                    art = fa.CrearArticulo((SeleccionarTipoArticuloPorID((int)dr["TIPO_ARTICULO_ID"])));

                    // Se agregan las propiedades especificas de cada
                    if (art is Producto)
                    {
                        (art as Producto).Precio = (double)dr["PRECIO"];
                    }

                    if (art is CupoDescuento)
                    {
                        (art as CupoDescuento).PorcentajeDescuento = ((int)dr["CUPON_DESCUENTO_PORCENTAJE"]) / 100.0d;
                        (art as CupoDescuento).FechaVencimiento    = (DateTime)dr["FECHA_VENCIMIENTO"];
                        (art as CupoDescuento).Codigo_QR           = dr["CODIGO_QR"].ToString();
                    }

                    if (art is CuponProductoGratis)
                    {
                        (art as CuponProductoGratis).IDProducto       = (int)dr["PRODUCTO_GRATIS_ID"];
                        (art as CuponProductoGratis).FechaVencimiento = (DateTime)dr["FECHA_VENCIMIENTO"];
                        (art as CuponProductoGratis).Codigo_QR        = dr["CODIGO_QR"].ToString();
                    }


                    art.Id          = (int)dr["ARTICULO_ID"];
                    art.UsuarioId   = (int)dr["USUARIO_ID"];
                    art.Descripcion = dr["DESCRIPCION"].ToString();

                    art.Fotografia = Util.ConvertirImagen((byte[])dr["FOTOGRAFIA"]);

                    art.Nombre = dr["NOMBRE"].ToString();
                    art.Activo = dr["Activo"].ToString().ToLower().Equals("activo");
                    return(art);
                }
            }

            return(null);
        }
Esempio n. 2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (btnGuardar.Text.Equals("Guardar"))
                {
                    if (Validar())
                    {
                        FactoryArticulo fArticulo  = new FactoryArticulo();
                        ArticuloLN      articuloLN = new ArticuloLN();
                        Articulo        _Articulo  = null;

                        // Obtener las propiedades generales
                        string nombre      = txtNombre.Text;
                        string descripcion = txtDescripcion.Text;
                        Image  imagen      = pbImagen.Image;

                        // Crear el objeto articulo dependiendo de los seleccionado por el usuario
                        if (rbProducto.Checked)
                        {
                            _Articulo = fArticulo.CrearArticulo(TipoArticulo.Producto);

                            // Obtener las propiedades unicas
                            double precio = Convert.ToDouble(txtPrecio.Text);

                            _Articulo.Nombre      = nombre;
                            _Articulo.Descripcion = descripcion;
                            _Articulo.Fotografia  = imagen;

                            (_Articulo as Producto).Precio = precio;

                            // Insertar el producto a la base de datos
                            articuloLN.InsertarProducto((_Articulo as Producto), _Negocio.Id);
                        }

                        if (rbDescuento.Checked)
                        {
                            _Articulo = fArticulo.CrearArticulo(TipoArticulo.CuponDescuento);

                            // Obtener las propiedades unicas
                            string   codigoQRDesc = Util.DecodificarQR(pbQR.Image);
                            DateTime fechaV       = dtpFechaV.Value;
                            double   porcenteje   = Convert.ToDouble(txtPorcentaje.Text);

                            _Articulo.Nombre      = nombre;
                            _Articulo.Descripcion = descripcion;
                            _Articulo.Fotografia  = imagen;

                            (_Articulo as CupoDescuento).FechaVencimiento    = fechaV;
                            (_Articulo as CupoDescuento).Codigo_QR           = codigoQRDesc;
                            (_Articulo as CupoDescuento).PorcentajeDescuento = porcenteje;

                            // Insertar el producto a la base de datos
                            articuloLN.InsertarCuponDescuento((_Articulo as CupoDescuento), _Negocio.Id);
                        }

                        if (rbProductoGratis.Checked)
                        {
                            _Articulo = fArticulo.CrearArticulo(TipoArticulo.CuponProductoGratis);

                            // Obtener las propiedades unicas
                            string   codigoQRGratis = Util.DecodificarQR(pbQR2.Image);
                            DateTime fechaV         = dtpFechaV2.Value;
                            int      productoId     = (int)cmbProductos.SelectedValue;

                            _Articulo.Nombre      = nombre;
                            _Articulo.Descripcion = descripcion;
                            _Articulo.Fotografia  = imagen;

                            (_Articulo as CuponProductoGratis).FechaVencimiento = fechaV;
                            (_Articulo as CuponProductoGratis).Codigo_QR        = codigoQRGratis;
                            (_Articulo as CuponProductoGratis).IDProducto       = productoId;

                            // Insertar el producto a la base de datos
                            articuloLN.InsertarCuponProd((_Articulo as CuponProductoGratis), _Negocio.Id);
                        }

                        MessageBox.Show(this, "Agregado exitosamente", "Felicidades", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        log.Info("El negocio: " + _Negocio.Nombre + " agrego un nuevo producto");

                        Refrescar();
                    }
                    else
                    {
                        MessageBox.Show(this, "Ocurrió un error al validar los campos, asegurese de que todos los campos esten correctos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    if (Validar())
                    {
                        // Obtener las propiedades generales
                        string nombre      = txtNombre.Text;
                        string descripcion = txtDescripcion.Text;
                        Image  imagen      = pbImagen.Image;

                        // Crear el objeto articulo dependiendo de los seleccionado por el usuario
                        if (rbProducto.Checked)
                        {
                            // Obtener las propiedades unicas
                            double precio = Convert.ToDouble(txtPrecio.Text);

                            articulo.Nombre      = nombre;
                            articulo.Descripcion = descripcion;
                            articulo.Fotografia  = imagen;

                            (articulo as Producto).Precio = precio;

                            // Insertar el producto a la base de datos
                            articuloLN.ActualizarProducto((articulo as Producto));
                        }

                        if (rbDescuento.Checked)
                        {
                            // Obtener las propiedades unicas
                            string   codigoQRDesc = Util.DecodificarQR(pbQR.Image);
                            DateTime fechaV       = dtpFechaV.Value;
                            double   porcenteje   = Convert.ToDouble(txtPorcentaje.Text);

                            articulo.Nombre      = nombre;
                            articulo.Descripcion = descripcion;
                            articulo.Fotografia  = imagen;

                            (articulo as CupoDescuento).FechaVencimiento    = fechaV;
                            (articulo as CupoDescuento).Codigo_QR           = codigoQRDesc;
                            (articulo as CupoDescuento).PorcentajeDescuento = porcenteje;

                            // Insertar el producto a la base de datos
                            articuloLN.ActualizarCuponDescuento((articulo as CupoDescuento));
                        }

                        if (rbProductoGratis.Checked)
                        {
                            // Obtener las propiedades unicas
                            string   codigoQRGratis = Util.DecodificarQR(pbQR2.Image);
                            DateTime fechaV         = dtpFechaV2.Value;
                            int      productoId     = (int)cmbProductos.SelectedValue;

                            articulo.Nombre      = nombre;
                            articulo.Descripcion = descripcion;
                            articulo.Fotografia  = imagen;

                            (articulo as CuponProductoGratis).FechaVencimiento = fechaV;
                            (articulo as CuponProductoGratis).Codigo_QR        = codigoQRGratis;
                            (articulo as CuponProductoGratis).IDProducto       = productoId;

                            // Insertar el producto a la base de datos
                            articuloLN.ActualizarCuponProd((articulo as CuponProductoGratis));
                        }

                        MessageBox.Show(this, "Actualizado exitosamente", "Felicidades", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        log.Info("El negocio: " + _Negocio.Nombre + " modifico un producto");

                        Refrescar();
                    }
                    else
                    {
                        MessageBox.Show(this, "Ocurrió un error al validar los campos, asegurese de que todos los campos esten correctos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                LimpiarCampos();
                tabControl.SelectedIndex = 0;
            }
            catch (Exception error)
            {
                MessageBox.Show(this, "Ocurrió un error al validar los campos, asegurese de que todos los campos esten correctos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                StringBuilder msg = new StringBuilder();

                msg.AppendFormat("No se pudo guardar/actualizar el producto\n");
                msg.AppendFormat("Message: {0}\n", error.Message);
                msg.AppendFormat("Source: {0}\n", error.Source);
                msg.AppendFormat("Data: {0}\n", error.Data);

                //Salvar el error en el log
                log.Error(msg.ToString());
            }
        }