Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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;
                }
            }
        }
Example #4
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);
                    }
                }
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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;
        }
Example #7
0
        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;
            }
        }
Example #10
0
        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);
                }
            }
        }
Example #11
0
        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();
                }
            }
        }