コード例 #1
0
        void SeleccionarTipoPromocion()
        {
            TabPage tabVisible = null;

            switch (TipoPromocion.ToUpper())
            {
            case "CANTIDAD X CANTIDAD":
                tabVisible = tbPromociones.TabPages[0];
                CargarDetallePromociones(dgvArticulos);
                break;

            case "DESCUENTO %":
                tabVisible = tbPromociones.TabPages[1];
                CargarDetallePromociones(dgvDescuentoPor);
                break;

            case "DESCUENTO $":
                tabVisible = tbPromociones.TabPages[2];
                CargarDetallePromociones(dgvDescuentoImp);
                break;

            case "PRECIO FIJO":
                tabVisible = tbPromociones.TabPages[3];
                CargarDetallePromociones(dgvPrecioFijo);
                break;

            case "PRODUCTO REGALO":
                tabVisible = tbPromociones.TabPages[4];
                CargarDetallePromociones(dgvNecesarios);
                CargarDetallePromocionesRegalo(dgvRegalo);
                break;
            }
            tbPromociones.TabPages.Clear();
            tbPromociones.TabPages.Add(tabVisible);
        }
コード例 #2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (productos.Count == 0)
            {
                MostrarMensajeInformacion("No se ha seleccionado ningún artículo");
                return;
            }

            if (productosRegalo.Count == 0 && CodigoPromocion.ToUpper() == "PRODUCTO REGALO")
            {
                MostrarMensajeInformacion("No se ha seleccionado ningún artículo de regalo");
                return;
            }

            string errores  = "";
            string errores1 = "";

            int veces = 1;

            foreach (Producto art in productos)
            {
                clsPromocion promocion = new clsPromocion();
                promocion.prar_codprom = string.Format("'{0}'", CodigoPromocion);
                promocion.prar_keyart  = string.Format("'{0}'", art.Codigo);
                promocion.prom_codigo  = string.Format("'{0}'", CodigoPromocion);
                switch (TipoPromocion.ToUpper())
                {
                case "CANTIDAD X CANTIDAD":
                    break;

                case "DESCUENTO %":
                    int porcentaje = 0;
                    if (!int.TryParse(txtDescPor.Text, out porcentaje))
                    {
                        MostrarMensajeInformacion("El porcentaje no es válido");
                        return;
                    }
                    promocion.prar_porcdesc = porcentaje;
                    break;

                case "DESCUENTO $":
                    decimal descuento = 0;
                    if (!decimal.TryParse(txtDescImp.Text, out descuento))
                    {
                        MostrarMensajeInformacion("El importe no es válido");
                        return;
                    }
                    promocion.prar_predesc = descuento;
                    break;

                case "PRECIO FIJO":
                    decimal precio = 0;
                    if (!decimal.TryParse(txtPrecioFijo.Text, out precio))
                    {
                        MostrarMensajeInformacion("El precio no es válido");
                        return;
                    }
                    promocion.prar_precio = precio;
                    break;

                case "PRODUCTO REGALO":
                    promocion.prar_esnec = true;
                    break;
                }

                DataSet consulta  = promocion.ValidarActualizacion();
                var     consSql   = consulta.Tables[0].Rows;
                int     artActivo = Convert.ToInt32(consSql[0].ItemArray[0].ToString());

                if (_tipoAccion == 0)
                {
                    if (artActivo == 0)
                    {
                        if (!promocion.GuardarDetalle())
                        {
                            errores = errores + art.NombreArticulo + " " + promocion.mensaje + Environment.NewLine;
                        }
                    }
                    else
                    {
                        errores = errores + art.NombreArticulo + " " + " Este artìculo pertenece a una promocion Activa.";
                    }
                }
                else
                {
                    if (veces == 1)
                    {
                        if (promocion.EliminarDetallePromocion())
                        {
                            string erro = "Bien";
                        }
                    }
                    if (artActivo == 0)
                    {
                        if (!promocion.GuardarDetalle())
                        {
                            errores1 = errores1 + art.NombreArticulo + " " + promocion.mensaje + Environment.NewLine;
                        }
                    }
                    else
                    {
                        errores1 = errores1 + art.NombreArticulo + " " + " Este artìculo pertenece a una promocion Activa.";
                    }
                }
                veces++;
            }

            foreach (Producto art in productosRegalo)
            {
                clsPromocion promocion = new clsPromocion();
                promocion.prar_codprom = string.Format("'{0}'", CodigoPromocion);
                promocion.prar_keyart  = string.Format("'{0}'", art.Codigo);
                promocion.prar_esreg   = true;

                if (_tipoAccion == 0)
                {
                    if (!promocion.GuardarDetalle())
                    {
                        errores = errores + art.NombreArticulo + "(Regalo) " + promocion.mensaje + Environment.NewLine;
                    }
                }
                else
                {
                    if (!promocion.GuardarDetalle())
                    {
                        errores1 = errores1 + art.NombreArticulo + "(Regalo) " + promocion.mensaje + Environment.NewLine;
                    }
                }
            }

            if (_tipoAccion == 0)
            {
                if (!string.IsNullOrEmpty(errores))
                {
                    MostrarMensajeInformacion("Promoción guardada pero con errores: " + Environment.NewLine + errores);
                }
                else
                {
                    MostrarMensajeInformacion("Promoción guardada");
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(errores1))
                {
                    MostrarMensajeInformacion("Promoción actualizada pero con errores: " + Environment.NewLine + errores1);
                }
                else
                {
                    MostrarMensajeInformacion("Promoción actualizada");
                }
            }

            Limpiar();
            DialogResult = DialogResult.OK;
            this.Close();
        }