/// <summary>
 /// Create a new CotizacionDet object.
 /// </summary>
 /// <param name="idEmpresa">Initial value of the IdEmpresa property.</param>
 /// <param name="idUsuario">Initial value of the idUsuario property.</param>
 /// <param name="linea">Initial value of the Linea property.</param>
 /// <param name="idNumeroCotizacion">Initial value of the IdNumeroCotizacion property.</param>
 /// <param name="idEstado">Initial value of the idEstado property.</param>
 public static CotizacionDet CreateCotizacionDet(global::System.Int32 idEmpresa, global::System.Int32 idUsuario, global::System.Int32 linea, global::System.Int32 idNumeroCotizacion, global::System.Int32 idEstado)
 {
     CotizacionDet cotizacionDet = new CotizacionDet();
     cotizacionDet.IdEmpresa = idEmpresa;
     cotizacionDet.idUsuario = idUsuario;
     cotizacionDet.Linea = linea;
     cotizacionDet.IdNumeroCotizacion = idNumeroCotizacion;
     cotizacionDet.idEstado = idEstado;
     return cotizacionDet;
 }
        private void btnguardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (cmbestado.SelectedValue == "")
                {
                    MessageBox.Show("Seleccione un Estado.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (cmbformapago.SelectedValue == "")
                {
                    MessageBox.Show("Seleccione Forma de Pago.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.txtcliente.Text == "")
                {
                    MessageBox.Show("Ingrese Cliente.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.txtcodarticulo.Text == "")
                {
                    MessageBox.Show("Ingrese Articulo.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                }

                if (this.porcentajeEntradaSpinEdit.Text == "")
                {
                    MessageBox.Show("Ingrese Porcentaje de Entrada.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.porcentajeEntradaSpinEdit.Text == "")
                {
                    MessageBox.Show("Ingrese Porcentaje de Entrada.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.entradaMinimaRequeridaSpinEdit.Text == "")
                {
                    MessageBox.Show("Ingrese Entrada Minima Requerida.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.fechaInicialPagoDateEdit.Text == "")
                {
                    MessageBox.Show("Ingrese Fecha Inicio de Pago.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (cmbpagos.SelectedValue == "")
                {
                    MessageBox.Show("Seleccione Numero de Cuotas.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.valorEntradaSpinEdit.Text == "")
                {
                    MessageBox.Show("Ingrese Porcentaje de Entrada.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.valorCancelarSpinEdit.Text == "")
                {
                    MessageBox.Show("Ingrese Entrada Minima Requerida.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.fechaFinalPagoDateEdit.Text == "")
                {
                    MessageBox.Show("Ingrese Fecha Inicio de Pago.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.txtcantidad.Text == "")
                {
                    MessageBox.Show("Ingrese Entrada Minima Requerida.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (this.tbldetalle.Rows.Count == 0)
                {
                    MessageBox.Show("Favor ingrese datos para su cotización.", "Modulo de Facturacion",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                Cotizacion  obj = new Cotizacion();
                obj.IdNumeroCotizacion  = Int32.Parse(idNumeroCotizacionSpinEdit.Text);
                obj.IdFormaPago = Int32.Parse(cmbformapago.SelectedValue.ToString());
                obj.IdNumeroCliente  = Int32.Parse(txtcliente.Text) ;
                obj.Fecha = dateTimePicker1.Value;
                obj.PorcentajeEntrada = porcentajeEntradaSpinEdit.Value;
                obj.ValorEntrada  = valorEntradaSpinEdit .Value;
                obj.EntradaMinimaRequerida  = entradaMinimaRequeridaSpinEdit .Value;
                obj.ValorCancelar  = valorCancelarSpinEdit .Value;
                obj.FechaInicialPago  = DateTime.Parse(fechaInicialPagoDateEdit.DateTime.ToString());
                obj.FechaFinalPago = DateTime.Parse(fechaFinalPagoDateEdit.DateTime.ToString());
                obj.Seguro = seguroCheckEdit.Checked;

                obj.IdEmpresa = Seguridad.empresa;
                obj.idUsuario = Seguridad.usuario;
                obj.idEstado = Int32.Parse(cmbestado.SelectedValue.ToString());
                da.AddToCotizacion(obj);
                int respuesta = da.SaveChanges();
                if (respuesta > 0)
                {
                    int i = 0;
                    while (i < tbldetalle.Rows.Count)
                    {
                        CotizacionDet objdet = new CotizacionDet();
                        objdet.IdEmpresa = Seguridad.empresa;
                        objdet.idUsuario = Seguridad.usuario;
                        objdet.idEstado = Int32.Parse(cmbestado.SelectedValue.ToString());

                        objdet.Linea = i + 1;
                        objdet.IdNumeroCotizacion = Int32.Parse(idNumeroCotizacionSpinEdit.Text);

                        objdet.IdArticulo = Int32.Parse(tbldetalle.Rows[i][0].ToString());
                        objdet.CuotaMensual = Int32.Parse(tbldetalle.Rows[i][2].ToString());
                        objdet.FechaPago = DateTime.Parse(tbldetalle.Rows[i][3].ToString());
                        objdet.FechaMaximaPago = DateTime.Parse(tbldetalle.Rows[i][4].ToString());
                        objdet.precio = Decimal.Parse(tbldetalle.Rows[i][5].ToString());
                        objdet.cantidad = Int32.Parse(tbldetalle.Rows[i][6].ToString());
                        objdet.costo = Decimal.Parse(tbldetalle.Rows[i][7].ToString());
                        da.AddToCotizacionDet(objdet);
                        da.SaveChanges();
                        i++;

                    }

                    MessageBox.Show("Registro Ingresado con exito.", "Modulo de Facturacion",
             MessageBoxButtons.OK, MessageBoxIcon.Information);
                    //cargarpromociones();
                    limpiar();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ingrese Correctamente los valores. " + ex.Message, "Modulo de Facturacion",
            MessageBoxButtons.OK, MessageBoxIcon.Error);

            }
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the CotizacionDet EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToCotizacionDet(CotizacionDet cotizacionDet)
 {
     base.AddObject("CotizacionDet", cotizacionDet);
 }