void FacturarNoVenta(BO.DAL.dsDatos.DatosPagoDataTable DatosPago, bool bCredito, decimal dMontoNoVenta, decimal dMontoEfectivo, decimal dMontoOtros) { ArrayList oBltNumeros = new ArrayList(); decimal dDevolucion = 0; if (bCredito) { //VALIDO QUE EL CLIENTE TENGA BALANCE if (oCliente.CTE_BALANCE_DISPONIBLE - Convert.ToDecimal(txtMontoTotal.Text) < 0) { MessageBox.Show("El balance disponible del cliente es de: " + oCliente.CTE_BALANCE_DISPONIBLE.ToString(), "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } }//Aqui tengo que ver si el cliente esta suspendido BultosAFacturar(ref oBltNumeros); BO.BO.Facturar oFact = new BO.BO.Facturar(); if (oFact.CrearFacturaNoVenta(dMontoEfectivo, dMontoOtros, dDevolucion, DatosPago, oCliente.CTE_ID, oCliente.CTE_TIPO_FISCAL, Parametros.Parametros.SucursalActual, Parametros.Parametros.UsuarioId, oBltNumeros, oTableCorr, dMontoNoVenta, bCredito)) {//Todo anduvo bien. Entonces Imprimo y limpio la pantalla. //ImprimirFactura(oFact.FacturaGenerada); ImprimirFactura oImpFact = new ImprimirFactura(); oImpFact.ImprimirNoVenta(oFact.FacturaGenerada, DatosPago); } }
bool ProcesoAnulacion(int iReciboId) { Boolean bRetorno = false; string sMensaje = ""; BO.BO.Facturar oFact = new BO.BO.Facturar(); bRetorno = oFact.ProcesarAnulacion(iReciboId, Parametros.Parametros.UsuarioId, ref sMensaje); if (bRetorno == false) { MessageBox.Show(sMensaje, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("Anulación realizada exitosamente en el sistema", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); //ImprimirFactura(oFact.FacturaGenerada); ImprimirFactura oImpFact = new ImprimirFactura(); BO.DAL.dsDatos.DatosPagoDataTable oDatosPago = null; oImpFact.Imprimir(oFact.FacturaGenerada, oDatosPago); //LimpiarPantalla(); } return(bRetorno); }
private void facturarToolStripMenuItem_Click(object sender, EventArgs e) { ArrayList oCargos = new ArrayList(); // //Facturacion de cargos varioas. foreach (DataGridViewRow gvRow in dgCargos.SelectedRows) { if (Convert.ToInt32(gvRow.Cells[1].Value) != 17) /*HARD CODE CREADO*/ { MessageBox.Show("Solo se pueden facturar cargos creados", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } oCargos.Add(Convert.ToInt32(gvRow.Cells[0].Value)); } //ArrayList pCargVar, int iCteId, int iUsuarioId, int iSucId, int iTipoFiscal BO.BO.Facturar oFact = new BO.BO.Facturar(); if (oCargos.Count > 0) { if (oFact.CrearFacturaCargoVarios(oCargos, oCliente.CTE_ID, Parametros.Parametros.UsuarioId, Parametros.Parametros.SucursalActual, oCliente.CTE_TIPO_FISCAL) == true) { MessageBox.Show("Factura creada exitosamente", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); tabControl1.SelectedIndex = 0; } } }
private void btnFacturar_Click(object sender, EventArgs e) { bool bPagado = false; decimal dMontoEfectivo, dMontoOtros, dDevolucion; ArrayList oRecibos = new ArrayList(); BO.DAL.dsDatos.DatosPagoDataTable DatosPago = new BO.DAL.dsDatos.DatosPagoDataTable(); Facturacion.frmDatosPago x = new Facturacion.frmDatosPago(txtMontoAplicar.DecimalValue); x.StartPosition = FormStartPosition.CenterParent; x.ShowDialog(); dMontoEfectivo = x.MontoEfectivo; dMontoOtros = x.MontoOtros; dDevolucion = x.Devolucion; DatosPago = x.DatosPago; if (x.DialogResult == System.Windows.Forms.DialogResult.OK) { bPagado = true; } if (bPagado == true) { foreach (DataGridViewRow oRow in dgRecibos.SelectedRows) { oRecibos.Add(oRow.Cells[0].Value); } if (oRecibos.Count > 0) { // RegistrarCobro(ArrayList pRecibos, int iCteId, int iUsuarioId, int iSucId, int iTipoFiscal, decimal pdMontoPagar, // decimal dMontoEfectivo, decimal dMontoOtros, decimal dDevolucion, DAL.dsDatos.DatosPagoDataTable oDatosPago) BO.BO.Facturar oFact = new BO.BO.Facturar(); if (oFact.RegistrarCobro(oRecibos, iCteId, Parametros.Parametros.UsuarioId, Parametros.Parametros.SucursalActual, -1, txtMontoAplicar.DecimalValue, dMontoEfectivo, dMontoOtros, dDevolucion, DatosPago) == true) { //ImprimirFactura(oFact.FacturaGenerada); Facturacion.ImprimirFactura oImpFact = new Facturacion.ImprimirFactura(); //Aca vamos a imprimir con el numero de omivimento de caja oImpFact.ImprimirComprobate(oFact.FacturaGenerada); LimpiarPantalla(); MessageBox.Show("Pago aplicado correctamente", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } }
private void btnAceptar_Click(object sender, EventArgs e) { //estado id 2 inventario // 31 recepcion var oBultos = unitOfWork.BultosRepository.Get(filter: xy => xy.CTE_ID == iCteId && xy.BLT_ESTADO_ID == 2 && xy.Productos.PRO_TIPO_ID == 31); foreach (var oBulto in oBultos) { AgenciaEF_BO.DAL.ADO.BultosDal Bultos = new BO.DAL.ADO.BultosDal(); Bultos.RecalcularUnidades(oBulto.BLT_NUMERO); //Bultos.RecalcularItebis(oBulto.BLT_NUMERO); BO.BO.Facturar oFact = new BO.BO.Facturar(); oFact.ActualizarItbis(oBulto.BLT_NUMERO); } MessageBox.Show("Proceso ejecutado exitosamente", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); }
void BuscarUnidades() { int iDestinoId = Convert.ToInt32(cmbDestino.SelectedValue); BO.BO.Facturar x = new BO.BO.Facturar(); decimal dSellos = 0; oUnidades.Rows.Clear(); x.CalcUnidadesEnvios(iProductoId, txtPeso.Value, txtValorFOB.DecimalValue, ref oUnidades, iDestinoId, oCliente.CTE_ID, ref dSellos); //Aqui calculo las unidaes fijas foreach (DataRow dr in oCargosSelect) { if (Convert.ToBoolean(dr["Selected"]) == true) { x.CalcCagosEnvios(iProductoId, txtPeso.Value, dSellos, txtValorFOB.DecimalValue, ref oUnidades, oCliente.CTE_ID, Convert.ToInt32(dr["CARGO_PROD_ID"])); } } txtSellos.DecimalValue = dSellos; dgUnidades.DataSource = oUnidades; dgUnidades.Columns[0].Visible = false; dgUnidades.Columns[1].Visible = false; dgUnidades.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; }
private void btnAceptar_Click(object sender, EventArgs e) { decimal dMontoItebis = 0; if (Validaciones()) { decimal dMonto = 0; BO.DAL.dsDatos.EnviosRow dr = oEnvio.NewEnviosRow(); dr.Id = 1; dr.peso = txtPeso.Value; dr.remitente = txtRemitente.Text; dr.remitente_ciudad = txtRemitenteCiudad.Text; dr.remitente_dir1 = txtRemitenteDir1.Text; dr.remitente_dir2 = txtRemitenteDir2.Text; dr.remitente_paisId = Convert.ToInt32(cmbPaisOrigen.SelectedValue); dr.remitente_region = txtRemitenteRegion.Text; dr.remitente_tel = txtRemitenteTel.Text; dr.consignatario = txtConsignatario.Text; dr.consignatario_ciudad = txtConsignatarioCiudad.Text; dr.consignatario_dir1 = txtConsignatarioDir1.Text; dr.consignatario_dir2 = txtConsignatarioDir2.Text; dr.consignatario_paisId = Convert.ToInt32(cmbPaisDestino.SelectedValue); dr.consignatario_region = txtConsignatarioEstado.Text; dr.consignatario_tel = txtConsignatarioTel.Text; dr.destinoId = Convert.ToInt32(cmbDestino.SelectedValue); dr.ProductoId = Convert.ToInt32(cmbProducto.SelectedValue); dr.Piezas = Convert.ToInt32(txtPiezas.Value); dr.valor = txtValorFOB.DecimalValue; BuscarUnidades(); dr.sellos = txtSellos.DecimalValue; foreach (BO.DAL.dsDatos.BultosValoresCargosRow drUnidades in oUnidades.Rows) { BO.DAL.dsDatos.BultosValoresCargosRow drBV = oUnidadesReturn.NewBultosValoresCargosRow(); drBV.CARGO_PROD_ID = drUnidades.CARGO_PROD_ID; drBV.Desc = drUnidades.Desc; drBV.ID = drUnidades.ID; drBV.Monto = drUnidades.Monto; drBV.MontoAplicar = drUnidades.MontoAplicar; drBV.MontoLocal = drUnidades.MontoLocal; drBV.Tasa = drUnidades.Tasa; dMonto += Math.Round(drBV.MontoLocal, 2); oUnidadesReturn.Rows.Add(drBV); } foreach (BO.DAL.dsDatos.BultosValoresCargosRow drUnidades in oCargos.Rows) { BO.DAL.dsDatos.BultosValoresCargosRow drBV = oUnidadesReturn.NewBultosValoresCargosRow(); drBV.CARGO_PROD_ID = drUnidades.CARGO_PROD_ID; drBV.Desc = drUnidades.Desc; drBV.ID = drUnidades.ID; drBV.Monto = drUnidades.Monto; drBV.MontoAplicar = drUnidades.MontoAplicar; drBV.MontoLocal = drUnidades.MontoLocal; drBV.Tasa = drUnidades.Tasa; dMonto += Math.Round(drBV.MontoLocal, 2); oUnidadesReturn.Rows.Add(drBV); // oUnidades.Rows.Add(drBV); } BO.BO.Facturar oFact = new BO.BO.Facturar(); dMontoItebis = oFact.ActualizarItbisEnvios(ref oUnidadesReturn); dr.Monto = dMonto + dMontoItebis; oEnvio.Rows.Add(dr); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } }
void ImportarBultos() { foreach (int i in chkBultos.CheckedIndices) { unitOfWork = new BO.DAL.UnitOfWork(); //lblDe.Text = i.ToString() + "/" + iTotal.ToString(); //lblDe.Refresh(); int BltNumeroLocal = 0; string sBltNumero; string sCodigoBarra; string bltGuiaHija; string bltCodigoBarra; string sOriGen; sBltNumero = chkBultos.Items[i].ToString().Substring(0, chkBultos.Items[i].ToString().IndexOf("|") - 1).TrimEnd(); ds.Tables["bultos"].DefaultView.RowFilter = "BLT_NUMERO = " + sBltNumero; if (ds.Tables["bultos"].DefaultView[0].Row["BLT_CODIGO_BARRA"] == null) { bltCodigoBarra = ""; } else { bltCodigoBarra = ds.Tables["bultos"].DefaultView[0].Row["BLT_CODIGO_BARRA"].ToString(); } if (ds.Tables["bultos"].DefaultView[0].Row["BLT_GUIA_HIJA"] == null) { bltGuiaHija = ""; } else { bltGuiaHija = ds.Tables["bultos"].DefaultView[0].Row["BLT_GUIA_HIJA"].ToString(); } BltNumeroLocal = TraeBltNumeroLocal(Convert.ToInt32(sBltNumero), bltCodigoBarra, bltGuiaHija); if (BltNumeroLocal == 0) { ds.Tables["bultos"].DefaultView.RowFilter = "BLT_NUMERO = " + sBltNumero; try { if (InsertarDatos(ds.Tables["bultos"].DefaultView[0].Row)) { BltNumeroLocal = TraeBltNumeroLocal(Convert.ToInt32(sBltNumero), bltCodigoBarra, bltGuiaHija); } else { continue; } } catch (Exception ex) { // throw ex; MessageBox.Show("Error Actualizando datos de bultos " + "\n" + " Codigo Barra:" + ds.Tables["bultos"].DefaultView[0].Row["BLT_CODIGO_BARRA"].ToString() + "\n" + " Guia Hija:" + ds.Tables["bultos"].DefaultView[0].Row["BLT_GUIA_HIJA"].ToString() + "\n" + " BltNumeroLocal: " + BltNumeroLocal + "\n" + ex.Message, "aviso", MessageBoxButtons.OK); continue; } } if (BltNumeroLocal == 0) { MessageBox.Show("Error Actualizando datos de bultos " + "\n" + " Codigo Barra:" + ds.Tables["bultos"].DefaultView[0].Row["BLT_CODIGO_BARRA"].ToString() + "\n" + " Guia Hija:" + ds.Tables["bultos"].DefaultView[0].Row["BLT_GUIA_HIJA"].ToString() + "\n" + " BltNumeroLocal: " + BltNumeroLocal + "\n", "aviso", MessageBoxButtons.OK); continue; } else {/* el Bulto ya existe */ var oBultos = unitOfWork.BultosRepository.GetByID(BltNumeroLocal); //El bulto ya esta entregado if (oBultos.BLT_ESTADO_ID == 5 || oBultos.BLT_ESTADO_ID == 6) { continue; } var oEquivalencia = unitOfWork.EquivalenciaBultosRepository.Get(filter: s => s.BLT_NUMERO_LOCAL == BltNumeroLocal).FirstOrDefault(); try { //InsertaContenido(oEquivalencia); //InsertaRemitente(oEquivalencia); //InsertaCargos(oEquivalencia); InsertaUnidades(oEquivalencia); //ActualizarItbis(oEquivalencia); BO.BO.Facturar oFact = new BO.BO.Facturar(); oFact.ActualizarItbis(oEquivalencia.BLT_NUMERO_LOCAL); // unitOfWork.Save(); } catch (Exception ex) { throw ex; } } }//End for }
void InsertarBulto() { BO.Models.Bultos oBulto = new BO.Models.Bultos(); if (_Id != -1) { oBulto = unitOfWork.BultosRepository.GetByID(_Id); } oBulto.BLT_ABIERTO_ADUANA = chkAbiertoAduanas.Checked; oBulto.ALM_CODIGO = 1; oBulto.BLT_ADUANA = false; oBulto.BLT_ALTO = -1; oBulto.BLT_ANCHO = -1; oBulto.BLT_BOLSA_SUCURSAL = "NA"; oBulto.BLT_BOLSA_SUPLIDOR = "NA"; oBulto.BLT_CODIGO_BARRA = txtCodigoBarra.Text; oBulto.BLT_DESPA_SUPLIDOR = DateTime.Now; oBulto.BLT_ENTREGAR = false; oBulto.BLT_ESTADO_ID = 2; oBulto.BLT_FECHA_ENTREGADO = DateTime.Now; oBulto.BLT_FECHA_RECEPCION = DateTime.Now; oBulto.BLT_GUIA_HIJA = txtCodigoBarra.Text; oBulto.BLT_HORA_ENTREGADO = ""; oBulto.BLT_HORA_RECIBIDO = DateTime.Now.Hour.ToString(); oBulto.BLT_LARGO = -1; oBulto.BLT_LIQUIDADOR = "NA"; oBulto.BLT_MANIFIESTO_SUCURSAL = "NA"; oBulto.BLT_MONTO_SELLOS = 0; oBulto.BLT_OBSERVACION = "NA"; oBulto.BLT_PESO = Convert.ToDecimal(txtPeso.Text); oBulto.BLT_PESO_REAL = Convert.ToDecimal(txtPeso.Text); oBulto.BLT_PESO_SUPLIDOR = Convert.ToDecimal(txtPeso.Text); oBulto.BLT_PIEZAS = Convert.ToInt32(txtPiezas.Value); oBulto.BLT_PIEZAS_SUPLIDOR = Convert.ToInt32(txtPiezas.Value); oBulto.BLT_PONUMBER = "NA"; oBulto.BLT_PORCIENTO_SELLO = 0; oBulto.BLT_RECEP_SUPLIDOR = DateTime.Now; oBulto.BLT_TRACKING_NUMBER = "NA"; oBulto.BLT_UBICACION = "NA"; oBulto.BLT_VALOR_FOB = Convert.ToDecimal(txtValorFOB.Text); oBulto.BLT_VENTANILLA = -1; oBulto.BLT_VOLUMEN = 0; oBulto.BLT_WAREHOUSE = "NA"; oBulto.CON_CODIGO_ID = Convert.ToInt32(cmbCondicion.SelectedValue); oBulto.CONTENIDO = txtContenido.Text; oBulto.CTE_ID = iNumeroEPS; oBulto.SUC_ID = iSucursalId; oBulto.DEST_ID = 168; /*SDQ*/ oBulto.DESTINATARIO = txtConsignatario.Text; oBulto.FECHA_MODIF = DateTime.Now; oBulto.MAN_GUIA = "NA"; oBulto.MAN_MANIFIESTO = "NA"; oBulto.ORI_ID = 130; oBulto.PROD_ID = Convert.ToInt32(cmbProducto.SelectedValue); oBulto.REMITENTE = txtRemitente.Text; oBulto.UBI_CODIGO = "NA"; oBulto.USUARIO_ID = Parametros.Parametros.UsuarioId; try { if (_Id < 0) { unitOfWork.BultosRepository.Insert(oBulto); } else { unitOfWork.BultosRepository.Update(oBulto); } SalvarDetalle(oBulto.BLT_NUMERO); unitOfWork.Save(); // ActualizarItbis(oBulto.BLT_NUMERO); AgenciaEF_BO.DAL.ADO.BultosDal Bultos = new BO.DAL.ADO.BultosDal(); Bultos.RecalcularUnidades(oBulto.BLT_NUMERO); //Bultos.RecalcularItebis(oBulto.BLT_NUMERO); unitOfWork.Save(); BO.BO.Facturar oFact = new BO.BO.Facturar(); oFact.ActualizarItbis(oBulto.BLT_NUMERO); MessageBox.Show("Datos salvados satisfactoriamente", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); LimpiarCampos(); txtCodigoBarra.Text = ""; } catch (System.Data.Entity.Validation.DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { string s = ""; /* * Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", * eve.Entry.Entity.GetType().Name, eve.Entry.State); */ foreach (var ve in eve.ValidationErrors) { s += ve.ErrorMessage + "\n"; /*Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", * ve.PropertyName, ve.ErrorMessage);*/ } MessageBox.Show("Existen los siguientes errores:" + s, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error); unitOfWork.Dispose(); } //throw; } catch (Exception ex) { unitOfWork.Dispose(); throw ex; } }
void FacturarVenta() { ArrayList oBltNumeros = new ArrayList(); bool bCredito, bPagado = false; decimal dMontoEfectivo = 0; decimal dMontoOtros = 0; decimal dDevolucion = 0; decimal dMontoEfectivoNoventa = 0; decimal dMontoOtrosNoVenta = 0; decimal dMontoEfectivoVenta = 0; decimal dMontoOtrosVenta = 0; BO.DAL.dsDatos.DatosPagoDataTable DatosPago = new BO.DAL.dsDatos.DatosPagoDataTable(); BO.DAL.dsDatos.DatosPagoDataTable DatosPagoNoVenta = new BO.DAL.dsDatos.DatosPagoDataTable(); BO.DAL.dsDatos.DatosPagoDataTable DatosPagoVenta = new BO.DAL.dsDatos.DatosPagoDataTable(); bCredito = cmbTipoFact.SelectedIndex == 1; if (!bCredito) { frmDatosPago x = new frmDatosPago(dMontoVenta + dMontoNoVenta); x.StartPosition = FormStartPosition.CenterParent; x.ShowDialog(); dMontoEfectivo = x.MontoEfectivo; dMontoOtros = x.MontoOtros; dDevolucion = x.Devolucion; DatosPago = x.DatosPago; if (x.DialogResult == System.Windows.Forms.DialogResult.OK) { bPagado = true; } else { return; } if (DatosPago.Rows.Count == 0) { BO.DAL.dsDatos.DatosPagoRow oRow = DatosPago.NewDatosPagoRow(); oRow.Banco = -1; oRow.BancoDesc = ""; oRow.Devolucion = dDevolucion; oRow.Fecha = DateTime.Now; oRow.Importe = Convert.ToDecimal(txtMontoTotal.Text); oRow.MontoEfectivo = dMontoEfectivo; oRow.Numero = 99; oRow.TipoPago = -1; oRow.TipoPagoDesc = ""; DatosPago.Rows.Add(oRow); } } else { //VALIDO QUE EL CLIENTE TENGA BALANCE if (oCliente.CTE_BALANCE_DISPONIBLE - Convert.ToDecimal(txtMontoTotal.Text) < 0) { MessageBox.Show("El balance disponible del cliente es de: " + oCliente.CTE_BALANCE_DISPONIBLE.ToString(), "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } bPagado = false; } /*Tengo que hacer doble desglose*/ if (dMontoNoVenta > 0) { if (bCredito == false) { RetornaDatosPagos(DatosPago, ref DatosPagoNoVenta, dMontoNoVenta, ref dMontoEfectivoNoventa, ref dMontoOtrosNoVenta); } FacturarNoVenta(DatosPagoNoVenta, bCredito, dMontoNoVenta, dMontoEfectivoNoventa, dMontoOtrosNoVenta); } if (dMontoVenta > 0) { dMontoEfectivoVenta = dMontoEfectivo - dMontoEfectivoNoventa; if (!bCredito) { if (bCredito == false) { RetornaDatosPagos(DatosPago, ref DatosPagoVenta, dMontoVenta, ref dMontoEfectivoVenta, ref dMontoOtrosVenta); } } if ((bCredito == true) || (bPagado == true)) { }//Aqui tengo que ver si el cliente esta suspendido BultosAFacturar(ref oBltNumeros); BO.BO.Facturar oFact = new BO.BO.Facturar(); if (oFact.CrearFactura(dMontoEfectivoVenta, dMontoOtrosVenta, dDevolucion, DatosPagoVenta, oCliente.CTE_ID, oCliente.CTE_TIPO_FISCAL, Parametros.Parametros.SucursalActual, Parametros.Parametros.UsuarioId, oBltNumeros, oTableCorr, dMontoVenta, bCredito)) {//Todo anduvo bien. Entonces Imprimo y limpio la pantalla. //ImprimirFactura(oFact.FacturaGenerada); //BO.BO.Facturar oFact = new BO.BO.Facturar(); oFact.RevisarTotales(oFact.FacturaGenerada); ImprimirFactura oImpFact = new ImprimirFactura(); oImpFact.Imprimir(oFact.FacturaGenerada, DatosPago); } } }
private void btnFacturar_Click(object sender, EventArgs e) { bool bCredito, bPagado = false; decimal dMontoEfectivo = 0; decimal dMontoOtros = 0; decimal dDevolucion = 0; BO.DAL.dsDatos.DatosPagoDataTable DatosPago = new BO.DAL.dsDatos.DatosPagoDataTable(); if (cmbTipoFact.SelectedIndex == 1) { bCredito = true; } else { bCredito = false; } if (!bCredito) { frmDatosPago x = new frmDatosPago(Convert.ToDecimal(txtMontoTotal.Text)); x.StartPosition = FormStartPosition.CenterParent; x.ShowDialog(); dMontoEfectivo = x.MontoEfectivo; dMontoOtros = x.MontoOtros; dDevolucion = x.Devolucion; DatosPago = x.DatosPago; if (x.DialogResult == System.Windows.Forms.DialogResult.OK) { bPagado = true; } if (DatosPago.Rows.Count == 0) { BO.DAL.dsDatos.DatosPagoRow oRow = DatosPago.NewDatosPagoRow(); oRow.Banco = -1; oRow.BancoDesc = ""; oRow.Devolucion = dDevolucion; oRow.Fecha = DateTime.Now; oRow.Importe = Convert.ToDecimal(txtMontoTotal.Text); oRow.MontoEfectivo = dMontoEfectivo; oRow.Numero = 99; oRow.TipoPago = -1; oRow.TipoPagoDesc = ""; DatosPago.Rows.Add(oRow); } } else { bPagado = false; } if ((bCredito == true) || (bPagado == true)) { if (bCredito) { //VALIDO QUE EL CLIENTE TENGA BALANCE if (oCliente.CTE_BALANCE_DISPONIBLE - Convert.ToDecimal(txtMontoTotal.Text) < 0) { MessageBox.Show("El balance disponible del cliente es de: " + oCliente.CTE_BALANCE_DISPONIBLE.ToString(), "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } }//Aqui tengo que ver si el cliente esta suspendido BO.BO.Facturar oFact = new BO.BO.Facturar(); if (oFact.CrearFacturaEnvio(dMontoEfectivo, dMontoOtros, dDevolucion, DatosPago, oCliente.CTE_ID, oCliente.CTE_TIPO_FISCAL, Parametros.Parametros.SucursalActual, Parametros.Parametros.UsuarioId, oEnvio, oUnidades, Convert.ToDecimal(txtMontoTotal.Text), bCredito)) {//Todo anduvo bien. Entonces Imprimo y limpio la pantalla. //ImprimirFactura(oFact.FacturaGenerada); ImprimirFactura oImpFact = new ImprimirFactura(); oImpFact.Imprimir(oFact.FacturaGenerada, DatosPago); LimpiarPantalla(); } } }