private void grdFacturas_CellContentClick(object sender, DataGridViewCellEventArgs e) { DataTable dataTable = (DataTable)grdFacturas.DataSource; try { if (grdFacturas.Columns[e.ColumnIndex].Name.Equals("Abonar")) { DataRow fila = dataTable.Rows[e.RowIndex]; DO_Factura factura = new DO_Factura(); factura.codigoFactura = Convert.ToInt32(fila["Codigo"]); factura.fecha = Convert.ToDateTime(fila["Fecha"]); factura.totalFactura = Convert.ToDouble(fila["Monto"]); factura.saldo = Convert.ToDouble(fila["Saldo"]); factura.credito = cliente.credito.identificador; AbonarFactura abonarFactura = new AbonarFactura(factura, this); abonarFactura.Show(); } else if (grdFacturas.Columns[e.ColumnIndex].Name.Equals("Imprimir")) { FacturaDeCliente reimpresion = new FacturaDeCliente(blCredito.obtenerFactura( grdFacturas.Rows[e.RowIndex].Cells[2].Value.ToString(), cliente.credito)); } } catch (Exception) { } finally { } }
public bool asignarCreditoFactura(DO_Factura factura, int idCredito) { DAO_Factura daoFactura = new DAO_Factura(); daoFactura.agregarAlCredito(idCredito, factura); return(true); }
public FacturaDeCliente(DO_Factura fact) { InitializeComponent(); cajero = fact.usuario; total = fact.totalFactura.ToString(); saldo = fact.saldo.ToString(); productos = fact.listaProducto; fecha = fact.fecha.ToString(); foreach (DO_ProductoEnFactura item in productos) { cantidadTotalProductos += item.cantidadComprada; DO_Producto doProd = item.producto; if (doProd.descripcion.Length > 20) { item.producto.descripcion = item.producto.descripcion.Substring(0, 20) + "..."; } } notas = fact.notas; cliente = fact.clienteExterno; largo = largo + (productos.Count * fuenteGeneral.Height); papelTamano = new PaperSize("Custom", ancho, largo); printDocument1.DefaultPageSettings.PaperSize = papelTamano; printPreviewControl1.Document = printDocument1; inicializarStrings(); imprimir(); }
/// <summary> /// Agrega productos a la factura de forma lógica /// </summary> /// <param name="factura">La factura a la que se le quiere agregar el producto</param> /// <param name="producto">El producto a agregar</param> /// <param name="cantidad">La cantidad del producto</param> /// <returns>La factura con sus producto agregados (DO_Factura)</returns> public DO_Factura AgregarProductoAFactura(DO_Factura factura, DO_Producto producto, int cantidad) { DO_ProductoEnFactura nuevoProducto = new DO_ProductoEnFactura(producto, cantidad); factura.listaProducto.Add(nuevoProducto); return(factura); }
public AbonarFactura(DO_Factura _doFactura, DetallesEstadoCuenta _detallesEstadoCuenta) { InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; doFactura = _doFactura; estCuenta = _detallesEstadoCuenta; llenarLbls(); }
public PagoCredito(DO.DO_Factura _factura, Ventas padre) { InitializeComponent(); parent = padre; factura = _factura; lblTotal.Text = factura.totalFactura.ToString(); filtrarClientes(); }
public void calcularTotal(DO_Factura factura) { double totalFactura = 0; foreach (DO_ProductoEnFactura productoEnFactura in factura.listaProducto) { totalFactura += productoEnFactura.producto.precioVenta; } factura.totalFactura = totalFactura; factura.saldo = totalFactura; }
public PagoContado(DO_Factura _factura, Ventas padreVentas) { InitializeComponent(); factura = _factura; padre = padreVentas; lblTotal.Text = factura.totalFactura.ToString(); nmPaga.Value = Convert.ToDecimal(factura.totalFactura); nmPaga.Select(); nmPaga.Select(0, nmPaga.Text.Length); }
/// <summary> /// Elimina productos de la factura /// </summary> /// <param name="factura">La factura a eliminar el producto</param> /// <param name="codigo">El código del producto a eliminar</param> /// <returns>(True)si se eliminó el producto. (False) si no se eliminó</returns> public bool EliminarProductoDeFactura(DO_Factura factura, String codigo) { foreach (DO_ProductoEnFactura productoEnFactura in factura.listaProducto) { if (codigo == productoEnFactura.producto.codigo) { factura.listaProducto.Remove(productoEnFactura); return(true); } } return(false); }
public List <DO_Factura> obtenerFacturasCredito(int idCliente, DateTime desde, DateTime hasta) { SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = new SqlCommand("select * from FACTURA where CRE_IDENTIFICADOR = @idCliente and FAC_FECHA >= @desde and FAC_FECHA <= @hasta ORDER BY FAC_FECHA ", conexion); adapter.SelectCommand.Parameters.AddWithValue("@idCliente", idCliente); adapter.SelectCommand.Parameters.AddWithValue("@desde", desde.Year + "-" + desde.Month + "-" + desde.Day); adapter.SelectCommand.Parameters.AddWithValue("@hasta", hasta.Year + "-" + hasta.Month + "-" + hasta.Day); DataTable datatable = new DataTable(); List <DO_Factura> listaFacturas = new List <DO_Factura>(); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } adapter.Fill(datatable); foreach (DataRow row in datatable.Rows) { DO_Factura nuevaFactura = new DO_Factura(); nuevaFactura.codigoFactura = Convert.ToInt32(row["FAC_CODIGO"]); nuevaFactura.notas = (String)row["FAC_NOTAS"]; nuevaFactura.clienteExterno = (String)row["FAC_CLIENTE_EXTERNO"]; nuevaFactura.fecha = (DateTime)row["FAC_FECHA"]; nuevaFactura.codigoPlantilla = Convert.ToInt32(row["PLANT_CODIGO"]); nuevaFactura.usuario = (String)row["USR_NOMBRE"]; nuevaFactura.credito = Convert.ToInt32(row["CRE_IDENTIFICADOR"]); nuevaFactura.estado = (String)row["EST_ESTADO"]; nuevaFactura.tipoPago = (String)row["TP_TIPO"]; nuevaFactura.totalFactura = Convert.ToDouble(row["FAC_MONTO"]); nuevaFactura.saldo = Convert.ToDouble(row["FAC_SALDO"]); DAO_Producto daoProducto = new DAO_Producto(); nuevaFactura.listaProducto = daoProducto.obtenerProductosFactura(Convert.ToInt32(row["FAC_CODIGO"])); listaFacturas.Add(nuevaFactura); } return(listaFacturas); } catch (SqlException) { } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } return(null); }
public bool abonarFactura(DO_Factura factura, double abono) { DAO_Factura daoFactura = new DAO_Factura(); DAO_Credito daoCredito = new DAO_Credito(); if (daoFactura.actualizarSaldoFactura(factura, abono) && daoCredito.registrarAbono(factura.credito, abono)) { return(true); } else { return(false); } }
public bool actualizarSaldoFactura(DO_Factura factura, double abono) { try { factura.saldo = factura.saldo - abono; SqlCommand actualizarSaldo = new SqlCommand("update FACTURA set FAC_SALDO = @saldo WHERE FAC_CODIGO = @codigo", conexion); if (factura.saldo <= 0) { actualizarSaldo.Parameters.AddWithValue("@saldo", 0); modificarEstadoFactura(factura.codigoFactura, "PAGADA"); } else { actualizarSaldo.Parameters.AddWithValue("@saldo", factura.saldo); } actualizarSaldo.Parameters.AddWithValue("@codigo", factura.codigoFactura); if (conexion.State != ConnectionState.Open) { conexion.Open(); } if (actualizarSaldo.ExecuteNonQuery() > 0) { DAO_Credito daoCredito = new DAO_Credito(); daoCredito.actualizarMontoCredito(factura.credito); return(true); } else { return(false); } } catch (SqlException) { return(false); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }
public bool agregarAlCredito(int idCredito, DO_Factura factura) { SqlCommand comando = new SqlCommand("Update FACTURA set CRE_IDENTIFICADOR = @idCredito where FAC_CODIGO = @codfactura", conexion); comando.Parameters.AddWithValue("@idCredito", idCredito); comando.Parameters.AddWithValue("@codfactura", factura.codigoFactura); DAO_Credito daoCredito = new DAO_Credito(); double monto = daoCredito.obtenerMonto(idCredito); double total = monto + factura.saldo; SqlCommand comandoCredito = new SqlCommand("Update CREDITO set CRED_MONTO = @monto where CRE_IDENTIFICADOR = @identificador", conexion); comandoCredito.Parameters.AddWithValue("@monto", total); comandoCredito.Parameters.AddWithValue("@identificador", idCredito); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } if (comando.ExecuteNonQuery() > 0 && comandoCredito.ExecuteNonQuery() > 0) { return(true); } else { return(false); } } catch (SqlException) { return(false); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }
public int guardarFactura(DO_Factura factura) { factura.codigoPlantilla = obtenerCodigoUltimaPlantilla(); //Agarra la ultima plantilla ingresada SqlCommand insert = new SqlCommand("insert into FACTURA (FAC_NOTAS, FAC_CLIENTE_EXTERNO, FAC_FECHA," + " PLANT_CODIGO, USR_NOMBRE, EST_ESTADO, TP_TIPO, FAC_MONTO, FAC_SALDO) values" + "(@notas, @cliente, @fecha, @plantilla, @usrNombre, @estado, @tipo, @monto, @saldo)", conexion); insert.Parameters.AddWithValue("@notas", factura.notas); insert.Parameters.AddWithValue("@cliente", factura.clienteExterno); insert.Parameters.AddWithValue("@fecha", factura.fecha); insert.Parameters.AddWithValue("@plantilla", factura.codigoPlantilla); insert.Parameters.AddWithValue("@usrNombre", factura.usuario); insert.Parameters.AddWithValue("@estado", factura.estado); insert.Parameters.AddWithValue("@tipo", factura.tipoPago); insert.Parameters.AddWithValue("@monto", factura.totalFactura); insert.Parameters.AddWithValue("@saldo", factura.saldo); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } if (insert.ExecuteNonQuery() > 0) { SqlCommand obtenerCodigo = new SqlCommand("Select FAC_CODIGO from FACTURA ORDER BY FAC_CODIGO DESC", conexion); return(Convert.ToInt32(obtenerCodigo.ExecuteScalar())); } else { return(0); } } catch (SqlException e) { return(0); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }
public bool guardarFactura(DO_Factura factura) { //calcularTotal(factura); DAO_Factura daoFactura = new DAO_Factura(); factura.codigoFactura = daoFactura.guardarFactura(factura); if (factura.codigoFactura > 0) { foreach (DO_ProductoEnFactura productoEnFactura in factura.listaProducto) { DAO_Producto daoProducto = new DAO_Producto(); if (!daoProducto.AgregarProductoAFactura(factura.codigoFactura, factura.fecha, productoEnFactura)) { return(false); } } return(true); } else { return(false); } }
public ActionResult UploadFile(HttpPostedFileBase file) { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Files/Factura"), fileName); file.SaveAs(path); List <DO_Factura> facturaActual = DataManager.GetFactura(); SLDocument sl = new SLDocument(path); List <DO_Factura> listaFactura = new List <DO_Factura>(); int iRow = 2; while (!string.IsNullOrEmpty(sl.GetCellValueAsString(iRow, 1))) { DO_Factura factura = new DO_Factura(); factura.Quincena = sl.GetCellValueAsDateTime(iRow, 2); factura.Folio = sl.GetCellValueAsString(iRow, 3); factura.ImporteBase = sl.GetCellValueAsDouble(iRow, 4); factura.ImportePosteo = sl.GetCellValueAsDouble(iRow, 5); factura.PisaE = sl.GetCellValueAsString(iRow, 6); factura.Procede2 = sl.GetCellValueAsString(iRow, 7); factura.Pago2 = sl.GetCellValueAsString(iRow, 8); factura.Fecha = sl.GetCellValueAsString(iRow, 9); factura.OSPago = sl.GetCellValueAsString(iRow, 10); factura.Estatus = sl.GetCellValueAsString(iRow, 11); factura.LineaContratada = sl.GetCellValueAsString(iRow, 12); factura.Paquete = sl.GetCellValueAsString(iRow, 13); listaFactura.Add(factura); iRow++; } int lotes = 3000; int row = 1; try { using (var Conexion = new EntitiesFilder()) { foreach (var item in listaFactura) { TBL_NET_HISTORICO_FACTURA historico = new TBL_NET_HISTORICO_FACTURA(); historico.QUINCENA = item.Quincena; historico.FOLIO_SIAC = item.Folio; historico.IMPORTE_BASE = item.ImporteBase; historico.IMPORTE_POSTEO = item.ImportePosteo; historico.PISA_E = item.PisaE; historico.PROCEDE2 = item.Procede2; historico.PAGO2 = item.Pago2; historico.FECHA = item.Fecha; historico.OS_PAGO = item.OSPago; historico.ESTATUS = item.Estatus; historico.LINEA_CONTRATADA = item.LineaContratada; historico.PAQUETE = item.Paquete; Conexion.TBL_NET_HISTORICO_FACTURA.Add(historico); if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } List <DO_Factura> listaActualizar = new List <DO_Factura>(); List <DO_Factura> listaInsertar = new List <DO_Factura>(); foreach (var item in listaFactura) { if (facturaActual.Where(x => x.Folio == item.Folio).ToList().Count > 0) { listaActualizar.Add(item); } else { listaInsertar.Add(item); } } row = 1; using (var Conexion = new EntitiesFilder()) { foreach (var item in listaInsertar) { TBL_NET_FACTURA factura = new TBL_NET_FACTURA(); factura.QUINCENA = item.Quincena; factura.FOLIO_SIAC = item.Folio; factura.IMPORTE_BASE = item.ImporteBase; factura.IMPORTE_POSTEO = item.ImportePosteo; factura.PISA_E = item.PisaE; factura.PROCEDE2 = item.Procede2; factura.PAGO2 = item.Pago2; factura.FECHA = item.Fecha; factura.OS_PAGO = item.OSPago; factura.ESTATUS = item.Estatus; factura.LINEA_CONTRATADA = item.LineaContratada; factura.PAQUETE = item.Paquete; Conexion.TBL_NET_FACTURA.Add(factura); if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } row = 1; using (var Conexion = new EntitiesFilder()) { foreach (var item in listaActualizar) { TBL_NET_FACTURA factura = Conexion.TBL_NET_FACTURA.Where(x => x.FOLIO_SIAC == item.Folio).FirstOrDefault(); factura.QUINCENA = item.Quincena; factura.IMPORTE_BASE = item.ImporteBase; factura.IMPORTE_POSTEO = item.ImportePosteo; factura.PISA_E = item.PisaE; factura.PROCEDE2 = item.Procede2; factura.PAGO2 = item.Pago2; factura.FECHA = item.Fecha; factura.OS_PAGO = item.OSPago; factura.ESTATUS = item.Estatus; factura.LINEA_CONTRATADA = item.LineaContratada; factura.PAQUETE = item.Paquete; Conexion.Entry(factura).State = EntityState.Modified; if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } } catch (Exception er) { string a = er.Message; } } return(RedirectToAction("CargarFactura")); }