Example #1
0
        private void validarDatosFactura()
        {
            if (string.IsNullOrWhiteSpace(textBoxNumeroFactura.Text))
            {
                throw new CampoVacioException("Numero Factura");
            }
            if (string.IsNullOrWhiteSpace(textBoxImporte.Text))
            {
                throw new CampoVacioException("Importe");
            }

            if (string.IsNullOrWhiteSpace(comboBoxEmpresa.Text))
            {
                throw new CampoVacioException("Empresa");
            }
            if (dateTimePickerFechaVencimiento == null)
            {
                throw new CampoVacioException("Fecha de Vencimiento");
            }
            if (Importe <= 0)
            {
                throw new ValorNegativoException("Importe");
            }

            if (esFacturaYaAgregada(NumeroFactura))
            {
                throw new FacturaYaAgregadaException(NumeroFactura.ToString());
            }
            if (!Factura.esFacturaExistente(NumeroFactura))
            {
                throw new FacturaInexistenteException(NumeroFactura.ToString());
            }
            if (!Factura.esFacturaHabilitada(NumeroFactura))
            {
                throw new FacturaInhabilitadaException(NumeroFactura.ToString());
            }
            if (Factura.estaCobrada(NumeroFactura))
            {
                throw new FacturaYaCobradaException(NumeroFactura.ToString());
            }
            if (!Factura.esFacturaDeLaEmpresa(NumeroFactura, empresaSeleccionada.id))
            {
                throw new EmpresaFacturaException(NumeroFactura.ToString(), empresaSeleccionada.nombre);
            }
            if (!Factura.verificaFechaVencimiento(NumeroFactura, FechaVencimiento))
            {
                throw new FacturaFechaVencimientoException(NumeroFactura.ToString(), FechaVencimiento.ToString());
            }
            if (!Factura.esImporteCorrecto(NumeroFactura, Importe))
            {
                throw new ImporteFacturaException(NumeroFactura.ToString());
            }

            ComparadorFechas comparar = new ComparadorFechas();

            if (comparar.esMenor(FechaVencimiento, FechaCobro))
            {
                throw new ExpireDateBeforeException("Factura vencida controle las fechas");
            }
        }
Example #2
0
        public void ActualizarFactura()
        {
            string sql_insert = "";

            sql_insert = string.Format("insert into Factura values({0},'{1}',{2},{3},{4},'{5}')", new string[] { NumeroFactura.ToString(), FechaFactura.ToString(), ID_Hotel.ToString(), ID_TipoDocumento.ToString(), NumDocumento.ToString(), NombreHuesped });
            DB.Grabar_Modificar_Eliminar(sql_insert);

            this.DB.consultaDB("select * from Factura where num_factu=" + NumeroFactura.ToString());
        }
Example #3
0
        private void ConfiguraGrilla()
        {
            RadGridViewPagoFacturas.CurrentRowChanged -= new Telerik.WinControls.UI.CurrentRowChangedEventHandler(this.RadGridViewPagoFacturas_CurrentRowChanged);

            RadGridViewPagoFacturas.DataSource = new DataTable();
            RadGridViewPagoFacturas.Columns.Clear();

            RadGridViewPagoFacturas.EnableFiltering     = true;
            RadGridViewPagoFacturas.AutoGenerateColumns = false;
            RadGridViewPagoFacturas.AllowAddNewRow      = false;
            RadGridViewPagoFacturas.MasterTemplate.ShowHeaderCellButtons = true;
            RadGridViewPagoFacturas.MasterTemplate.ShowFilteringRow      = false;
            RadGridViewPagoFacturas.TableElement.EndUpdate();
            RadGridViewPagoFacturas.AllowDeleteRow      = false;
            RadGridViewPagoFacturas.AllowRowResize      = false;
            RadGridViewPagoFacturas.AllowEditRow        = true;
            RadGridViewPagoFacturas.ShowRowHeaderColumn = false;
            RadGridViewPagoFacturas.Select();
            RadGridViewPagoFacturas.EnableSorting = true;

            List <int> data      = dttPagoFactura.AsEnumerable().Select(NumeroFactura => NumeroFactura.Field <string>("NumeroFactura").Length).ToList();
            int        WidthText = data.Max();
            var        col       = from dat in dttPagoFactura.AsEnumerable()
                                   where dat.Field <string>("NumeroFactura").Length == WidthText
                                   select dat;

            GridViewTextBoxColumn colNumeroFactura = new GridViewTextBoxColumn();

            colNumeroFactura.FieldName  = "NumeroFactura";
            colNumeroFactura.HeaderText = "NumeroFactura";
            colNumeroFactura.MinWidth   = Consulta.AnchoTexto(WidthText > colNumeroFactura.HeaderText.Length
                                            ? col.First().Field <string>("NumeroFactura").ToString()
                                            : colNumeroFactura.HeaderText, RadGridViewPagoFacturas.Font);
            colNumeroFactura.Name     = "colNumeroFactura";
            colNumeroFactura.ReadOnly = true;
            RadGridViewPagoFacturas.Columns.Add(colNumeroFactura);

            data      = dttPagoFactura.AsEnumerable().Select(Proveedor => Proveedor.Field <string>("Proveedor").Length).ToList();
            WidthText = data.Max();
            col       = from dat in dttPagoFactura.AsEnumerable()
                        where dat.Field <string>("Proveedor").Length == WidthText
                        select dat;

            GridViewTextBoxColumn colProveedor = new GridViewTextBoxColumn();

            colProveedor.FieldName  = "Proveedor";
            colProveedor.HeaderText = "Proveedor";
            colProveedor.MinWidth   = Consulta.AnchoTexto(WidthText > colProveedor.HeaderText.Length
                                            ? col.First().Field <string>("Proveedor").ToString()
                                            : colProveedor.HeaderText, RadGridViewPagoFacturas.Font);
            colProveedor.Name     = "colProveedor";
            colProveedor.ReadOnly = true;
            RadGridViewPagoFacturas.Columns.Add(colProveedor);

            data      = dttPagoFactura.AsEnumerable().Select(Nombre => Nombre.Field <int>("ValorPagoFactura").ToString().Length).ToList();
            WidthText = data.Max();
            col       = from dat in dttPagoFactura.AsEnumerable()
                        where dat.Field <string>("ValorPagoFactura").Length == WidthText
                        select dat;

            GridViewTextBoxColumn colValorPagoFactura = new GridViewTextBoxColumn();

            colValorPagoFactura.DataType     = typeof(decimal);
            colValorPagoFactura.FieldName    = "ValorPagoFactura";
            colValorPagoFactura.FormatString = "{0:C}";
            colValorPagoFactura.HeaderText   = "Valor de Factura";
            colValorPagoFactura.MinWidth     = Consulta.AnchoTexto(WidthText > colValorPagoFactura.HeaderText.Length
                                            ? col.First().Field <int>("ValorPagoFactura").ToString()
                                            : colValorPagoFactura.HeaderText, RadGridViewPagoFacturas.Font);
            colValorPagoFactura.Name     = "colValorPagoFactura";
            colValorPagoFactura.ReadOnly = true;
            RadGridViewPagoFacturas.Columns.Add(colValorPagoFactura);

            GridViewCheckBoxColumn colActivo = new GridViewCheckBoxColumn();

            colActivo.FieldName  = "Activo";
            colActivo.HeaderText = "Activo";
            colActivo.MinWidth   = Consulta.AnchoTexto("Activo", RadGridViewPagoFacturas.Font);
            colActivo.Name       = "colActivo";
            colActivo.ReadOnly   = true;
            RadGridViewPagoFacturas.Columns.Add(colActivo);

            RadGridViewPagoFacturas.CurrentRowChanged += new Telerik.WinControls.UI.CurrentRowChangedEventHandler(this.RadGridViewPagoFacturas_CurrentRowChanged);

            RadGridViewPagoFacturas.DataSource = dttPagoFactura;
        }
Example #4
0
        public void ActualizarDetalleFactura()
        {
            string sql_insert = "";

            sql_insert = string.Format("insert into Detalle_Factura values({0},{1},'{2}',{3},{4})", new string[] { NumeroFactura.ToString(), CodigoProducto.ToString(), DescripcionProducto, PrecioVendido.ToString(), CantidadVendida.ToString() });
            DB.Grabar_Modificar_Eliminar(sql_insert);
        }
Example #5
0
        public void AplicarNotaCreditoAFactura()
        {
            decimal valorFacturaFactura = 0, valorIvaFactura = 0, valorFleteFactura = 0, valorIvaFleteFactura = 0, valorRetencionFactura = 0, valorAbonoFactura = 0, valorSaldoFactura = 0;
            decimal valorFacturaNotaDevolucion = 0, valorIvaNotaDevolucion = 0, valorFleteNotaDevolucion = 0, valorIvaFleteNotaDevolucion = 0, valorRetencionNotaDevolucion = 0, valorAbonoNotaDevolucion = 0, valorSaldoNotaDevolucion = 0;

            sqlStrings.Clear();

            CargarValoresFacturaCliente(PrefijoFactura, NumeroFactura, ref valorFacturaFactura, ref valorIvaFactura, ref valorFleteFactura, ref valorIvaFleteFactura, ref valorRetencionFactura, ref valorAbonoFactura, ref valorSaldoFactura);
            CargarValoresFacturaCliente(PrefijoFactura, NumeroFactura, ref valorFacturaNotaDevolucion, ref valorIvaNotaDevolucion, ref valorFleteNotaDevolucion, ref valorIvaFleteNotaDevolucion, ref valorRetencionNotaDevolucion, ref valorAbonoNotaDevolucion, ref valorSaldoNotaDevolucion);

            valorAbonoNotaDevolucion = 0;               // que pasa con el saldo del anticpo que se pasa para la nueva factura ??

            decimal valorSaldo = 0;

            if (valorSaldoFactura <= valorSaldoNotaDevolucion)
            {
                valorSaldo = valorSaldoFactura;
            }
            else
            {
                valorSaldo = valorSaldoNotaDevolucion;
            }
            decimal vlrTotalNota = valorFacturaFactura + valorIvaFactura + valorFleteFactura + valorIvaFleteFactura - valorRetencionFactura;

            //Ahora creamos la relacion entre la factura y la nota devolucion con el abono.
            sqlStrings.Add("INSERT INTO DBXSCHEMA.DDETALLEFACTURACLIENTE (PDOC_CODIGO,MFAC_NUMEDOCU,PDOC_CODDOCREF,DDET_NUMEDOCU,DDET_VALODOCU,DDET_OBSER) VALUES('" + PrefijoFactura + "'," + NumeroFactura + ",'" + PrefijoNotaDevolucion + "'," + NumeroNotaDevolucion + "," + vlrTotalNota.ToString() + ",'Abono a la Factura " + PrefijoFactura + "-" + NumeroFactura.ToString() + " por devolucion')");

            //Ahora creamos la relacion entre la nota devolucion y la factura con el abono.
            sqlStrings.Add("INSERT INTO DBXSCHEMA.DDETALLEFACTURACLIENTE (PDOC_CODIGO,MFAC_NUMEDOCU,PDOC_CODDOCREF,DDET_NUMEDOCU,DDET_VALODOCU,DDET_OBSER) VALUES('" + PrefijoNotaDevolucion + "'," + NumeroNotaDevolucion + ",'" + PrefijoFactura + "'," + NumeroFactura + "," + valorSaldo.ToString() + ",'Abono a la Nota Devolucion " + PrefijoNotaDevolucion + "-" + NumeroNotaDevolucion.ToString() + "')");

            //Ahora cambiamos la vigencia de la factura a cancelada (C) y abonamos el saldo obtenido a la factura.
            sqlStrings.Add("UPDATE mfacturacliente SET tvig_vigencia='A', mfac_valoabon=mfac_valoabon+" + valorSaldo.ToString() + " WHERE pdoc_codigo='" + PrefijoFactura + "' AND mfac_numedocu=" + NumeroFactura + "");

            //Ahora cambiamos la vigencia de la factura a cancelada (A) y abonamos el saldo obtenido a la nota devolucion.
            sqlStrings.Add("UPDATE mfacturacliente SET tvig_vigencia='A', mfac_valoabon=mfac_valoabon+" + valorSaldo.ToString() + ", MFAC_PAGO = MFAC_FACTURA WHERE pdoc_codigo='" + PrefijoNotaDevolucion + "' AND mfac_numedocu=" + NumeroNotaDevolucion + "");

            //Ahora cambiamos la vigencia de la factura a cancelada (C) si el saldo obtenido de la nota devolucion es CERO.
            sqlStrings.Add("UPDATE mfacturacliente SET tvig_vigencia='C' WHERE MFAC_VALOFACT + MFAC_VALOIVA + MFAC_VALOFLET + MFAC_VALOIVAFLET - MFAC_VALORETE = MFAC_VALOABON AND ( pdoc_codigo='" + PrefijoFactura + "' AND mfac_numedocu=" + NumeroFactura + " OR pdoc_codigo='" + PrefijoNotaDevolucion + "' AND mfac_numedocu=" + NumeroNotaDevolucion + ") ");
        }