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"); } }
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()); }
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; }
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); }
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 + ") "); }