示例#1
0
 private void ActualizarGrilla(string cadenaBuscar)
 {
     dgvGrilla.DataSource = _precioServicio.Obtener(cadenaBuscar);
 }
        private void AgregarArticulo()
        {
            var articulo = _articuloServicio.ObtenerPorCodigo(_mesaId, txtCodigos.Text);

            if (articulo != null)
            {
                if (articulo.Precio != null)
                {
                    var precio = _precioServicio.Obtener(_mesaId, articulo.Id);

                    if (!precio.ActivarHoraVenta || (precio.ActivarHoraVenta && (precio.FechaActualizacion.TimeOfDay >= DateTime.Now.TimeOfDay)))
                    {
                        if (!articulo.EstaDiscontinuado && !articulo.EstaEliminado)
                        {
                            if (!articulo.ActivarLimiteVenta || articulo.LimiteVenta >= nudCantidad.Value)
                            {
                                if (articulo.Stock >= nudCantidad.Value || articulo.PermiteStockNegativo ||
                                    !articulo.DescuentaStock)
                                {
                                    _mesaServicio.AgregarArticulo(_mesaId, articulo, nudCantidad.Value);

                                    ActualizarGrilla(_mesaId);
                                    if (articulo.StockMinimo >= articulo.Stock)
                                    {
                                        MessageBox.Show(
                                            $"Debe recargar el Stock de {articulo.Descripcion}! (Stock inferior al Stock Minimo)",
                                            $"Recarga de Stock de {articulo.Descripcion}", MessageBoxButtons.OK,
                                            MessageBoxIcon.Exclamation);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show(@"No se pudo realizar la operacion por falta de Stock", "Atencion",
                                                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                            }
                            else
                            {
                                MessageBox.Show(@"No se pudo realizar la operacion por limite de venta", "Atencion",
                                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            }
                        }
                        else
                        {
                            MessageBox.Show(
                                @"No se pudo realizar la operacion el articulo esta eliminado/descontinuado.",
                                "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                    }
                    else
                    {
                        MessageBox.Show(
                            $"No se pudo agregar el producto: '{articulo.Descripcion} ya que termino la hora de venta.",
                            "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    MessageBox.Show(
                        $"No se pudo agregar el producto: '{articulo.Descripcion} ya que carece de precio en este salon.",
                        "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            else
            {
                var fBuscar = new _00044_BuscarProducto(_mesaId);
                fBuscar.ShowDialog();
                if (fBuscar.RealizoOperacion)
                {
                    txtDescripcion.Text = fBuscar.Descripcion;
                    txtCodigos.Text     = fBuscar.Codigo;
                    txtPrecio.Text      = fBuscar.Precio;
                }
            }
        }