Esempio n. 1
0
        private void btnModificar_Click(object sender, EventArgs e)
        {
            ProductoNegocio negocioP   = new ProductoNegocio();
            VentaNegocio    negocioV   = new VentaNegocio();
            MailNegocio     negocioM   = new MailNegocio();
            PedidoNegocio   negocioPed = new PedidoNegocio();

            local.Estado = cmbEstado.SelectedItem.ToString();
            if (local.Estado == "Entregado")
            {
                Venta ventaCombo = new Venta();
                ventaCombo.Detalle     = new List <DetalleVenta>();
                ventaCombo.Cliente     = local.Cliente;
                ventaCombo.Importe     = local.Combo.Precio;
                ventaCombo.Descripcion = local.Combo.Nombre;
                foreach (DetalleCombo item in local.Combo.Productos)
                {
                    DetalleVenta detalle = new DetalleVenta();
                    detalle.Cantidad       = item.Unidades;
                    detalle.Kilos          = item.Kilos;
                    detalle.Producto       = item.Producto;
                    detalle.PrecioUnitario = item.Producto.calcularPrecio();
                    detalle.PrecioParcial  = (detalle.PrecioUnitario * item.Unidades) + (detalle.PrecioUnitario * item.Kilos);
                    ventaCombo.Detalle.Add(detalle);
                    negocioP.descontarStock(item.Producto, item.Unidades, item.Kilos);
                }
                ventaCombo.Factura = new Factura();
                llenarFactura(ventaCombo, ventaCombo.Detalle);
                ventaCombo.ID = negocioV.agregarVenta(ventaCombo);
                foreach (DetalleVenta item in ventaCombo.Detalle)
                {
                    negocioV.agregarProductosXVenta(ventaCombo.ID, item.Producto.ID, item.Cantidad, item.Kilos);
                }
            }
            if (txtComentario.Enabled)
            {
                Cursor.Current = Cursors.WaitCursor;
                if (negocioM.mandarMail(local.Cliente.Mails[0].Direccion, local, txtComentario.Text))
                {
                    Cursor.Current = Cursors.Default;
                    MessageBox.Show("El mail ha sido enviado correctamente.", "Confirmación");
                    negocioPed.modificarPedido(local);
                }
                else
                {
                    if (MessageBox.Show("Hubo un error al enviar el mail.\n\nDesea modificar el pedido?", "Atención!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        negocioPed.modificarPedido(local);
                    }
                }
            }
            Cursor.Current = Cursors.Default;
            this.Close();
        }