/// <summary>
        /// El primer elemento de la tupla indica el idPresupuesto, el segundo indica si se guardó correctamente
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <returns></returns>
        private Tuple <int, Boolean> GuardarPresupuesto(object sender, EventArgs e)
        {
            Boolean Guardado      = false;
            Boolean errorCantidad = false;

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                if (row.Cells[2].Value.ToString() == "0" && !errorCantidad)
                {
                    errorCantidad = true;
                }
            }


            if (IdCliente == 0)
            {
                MessageBox.Show("Debe seleccionar un cliente");
            }
            else if (dataGridView1.Rows.Count < 1)
            {
                MessageBox.Show("Debe seleccionar al menos un producto");
            }
            else if (errorCantidad)
            {
                MessageBox.Show("Hay al menos un producto que tiene cantidad 0, modifiquelo");
            }
            else if (FechaVencimiento.Date < DateTime.Now.Date)
            {
                MessageBox.Show("Debe seleccionar una fecha de Vencimiento posterior a la seleccionada");
            }
            else if (DescuentoTotal.Text == "")
            {
                DescuentoTotal.Text = "0";
            }
            else
            {
                PresupuestoDTO pre = new PresupuestoDTO();
                pre.FechaGeneracion  = DateTime.Now;
                pre.IdCliente        = IdCliente;
                pre.FechaVencimiento = FechaVencimiento;
                pre.Id          = IdPresupuesto;
                pre.Descuento   = Convert.ToDouble(DescuentoTotal.Text);
                pre.Observacion = Observacion.Text;
                IdPresupuesto   = controladorFachada.AgregarModificarPresupuesto(pre);

                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    LineaPresupuestoDTO lin = new LineaPresupuestoDTO();
                    lin.Cantidad            = int.Parse(row.Cells[2].Value.ToString());
                    lin.IdPresupuesto       = IdPresupuesto;
                    lin.IdProducto          = int.Parse(row.Cells[0].Value.ToString());
                    lin.PorcentajeDescuento = double.Parse(row.Cells[4].Value.ToString());
                    lin.Subtotal            = double.Parse(row.Cells[5].Value.ToString());
                    controladorFachada.AgregarLinea(lin);
                }
                Guardado = true;
            }
            return(Tuple.Create(IdPresupuesto, Guardado));
        }