Beispiel #1
0
        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 { }
        }
Beispiel #2
0
        public bool asignarCreditoFactura(DO_Factura factura, int idCredito)
        {
            DAO_Factura daoFactura = new DAO_Factura();

            daoFactura.agregarAlCredito(idCredito, factura);
            return(true);
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
 public AbonarFactura(DO_Factura _doFactura, DetallesEstadoCuenta _detallesEstadoCuenta)
 {
     InitializeComponent();
     this.StartPosition = FormStartPosition.CenterScreen;
     doFactura          = _doFactura;
     estCuenta          = _detallesEstadoCuenta;
     llenarLbls();
 }
Beispiel #6
0
 public PagoCredito(DO.DO_Factura _factura, Ventas padre)
 {
     InitializeComponent();
     parent        = padre;
     factura       = _factura;
     lblTotal.Text = factura.totalFactura.ToString();
     filtrarClientes();
 }
Beispiel #7
0
        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;
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
 /// <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);
 }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        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);
            }
        }
Beispiel #12
0
        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();
                }
            }
        }
Beispiel #13
0
        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();
                }
            }
        }
Beispiel #14
0
        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();
                }
            }
        }
Beispiel #15
0
        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"));
        }