示例#1
0
        public Cobro(Lfx.Data.IConnection dataBase, Lbl.Pagos.TiposFormasDePago tipoFormaDePago)
            : this(dataBase)
        {
            switch (tipoFormaDePago)
            {
            case Lbl.Pagos.TiposFormasDePago.Efectivo:
                FormaDePago = new Lbl.Pagos.FormaDePago(dataBase, 1);
                break;

            case Lbl.Pagos.TiposFormasDePago.ChequePropio:
                FormaDePago = new Lbl.Pagos.FormaDePago(dataBase, 2);
                break;

            case Lbl.Pagos.TiposFormasDePago.CuentaCorriente:
                FormaDePago = new Lbl.Pagos.FormaDePago(dataBase, 3);
                break;

            case Lbl.Pagos.TiposFormasDePago.Tarjeta:
                FormaDePago = new Lbl.Pagos.FormaDePago(dataBase, 4);
                break;

            case Lbl.Pagos.TiposFormasDePago.Caja:
                FormaDePago = new Lbl.Pagos.FormaDePago(dataBase, 6);
                break;

            case Lbl.Pagos.TiposFormasDePago.ChequeTerceros:
                FormaDePago = new Lbl.Pagos.FormaDePago(dataBase, 8);
                break;

            default:
                FormaDePago = new Lbl.Pagos.FormaDePago(dataBase, (int)tipoFormaDePago);
                break;
            }
        }
示例#2
0
        /// <summary>
        /// Crea una instancia de un Lbl.ElementoDeDatos a partir de un registro de base de datos.
        /// </summary>
        public static T Instanciar <T>(Lfx.Data.IConnection dataBase, Lfx.Data.Row row) where T : Lbl.ElementoDeDatos
        {
            Type tipo = typeof(T);

            System.Reflection.ConstructorInfo TConstr = tipo.GetConstructor(new Type[] { typeof(Lfx.Data.Connection), typeof(Lfx.Data.Row) });
            return((T)(TConstr.Invoke(new object[] { dataBase, row })));
        }
示例#3
0
 public Desduplicador(Lfx.Data.IConnection dataBase, string tablaOriginal, string campoIdOriginal, int idOriginal, int idDuplicado)
 {
     this.Connection      = dataBase;
     this.TablaOriginal   = tablaOriginal;
     this.CampoIdOriginal = campoIdOriginal;
     this.IdOriginal      = idOriginal;
     this.IdDuplicado     = idDuplicado;
 }
示例#4
0
 public Caja(Lfx.Data.IConnection dataBase, Lfx.Data.Row row)
     : base(dataBase, row)
 {
     CajaController = new Lazaro.Base.Controller.CajaController(
         new Lazaro.Orm.EntityManager(this.Connection, Lfx.Workspace.Master.MetadataFactory),
         this
         );
 }
示例#5
0
        public virtual Lbl.Comprobantes.Pago ToPago(Lfx.Data.IConnection dataBase)
        {
            switch (this.ElementoPago.FormaDePago.Tipo)
            {
            case Lbl.Pagos.TiposFormasDePago.Efectivo:
            case Lbl.Pagos.TiposFormasDePago.CuentaCorriente:
                break;

            case Lbl.Pagos.TiposFormasDePago.ChequePropio:
                this.ElementoPago.Cheque              = new Lbl.Bancos.Cheque(dataBase);
                this.ElementoPago.Cheque.Emitido      = true;
                this.ElementoPago.Cheque.FechaCobro   = Lfx.Types.Parsing.ParseDate(EntradaFechaCobro.Text);
                this.ElementoPago.Cheque.FechaEmision = Lfx.Types.Parsing.ParseDate(EntradaFechaEmision.Text);
                this.ElementoPago.Cheque.Importe      = Lfx.Types.Parsing.ParseCurrency(EntradaImporte.Text);
                this.ElementoPago.Cheque.Numero       = Lfx.Types.Parsing.ParseInt(EntradaNumeroCheque.Text);
                int IdChequera = this.Connection.FieldInt("SELECT id_chequera FROM chequeras WHERE estado=1 AND id_banco=" + EntradaBanco.ValueInt.ToString() + " AND " + this.ElementoPago.Cheque.Numero.ToString() + " BETWEEN desde AND hasta AND (id_sucursal=" + Lfx.Workspace.Master.CurrentConfig.Empresa.SucursalActual.ToString() + " OR id_sucursal IS NULL)");
                if (IdChequera == 0)
                {
                    this.ElementoPago.Cheque.Chequera = null;
                }
                else
                {
                    this.ElementoPago.Cheque.Chequera = new Lbl.Bancos.Chequera(dataBase, IdChequera);
                }
                if (EntradaBanco.ValueInt > 0)
                {
                    this.ElementoPago.Cheque.Banco = new Lbl.Bancos.Banco(dataBase, EntradaBanco.ValueInt);
                }
                else
                {
                    this.ElementoPago.Cheque.Banco = null;
                }
                this.ElementoPago.Cheque.Obs = EntradaObs.Text;
                break;

            case Lbl.Pagos.TiposFormasDePago.Caja:
                if (EntradaCaja.ValueInt > 0)
                {
                    this.ElementoPago.CajaOrigen = new Lbl.Cajas.Caja(dataBase, EntradaCaja.ValueInt);
                }
                else
                {
                    this.ElementoPago.CajaOrigen = null;
                }
                break;

            case Lbl.Pagos.TiposFormasDePago.ChequeTerceros:
                this.ElementoPago.Cheque = new Lbl.Bancos.Cheque(dataBase, EntradaChequeTerceros.ValueInt);
                break;

            case Lbl.Pagos.TiposFormasDePago.OtroValor:
                this.ElementoPago.Valor = new Lbl.Pagos.Valor(dataBase, EntradaValor.ValueInt);
                break;
            }
            this.ElementoPago.Importe = Lfx.Types.Parsing.ParseCurrency(EntradaImporte.Text);
            this.ElementoPago.Obs     = EntradaObs.Text;
            return(this.ElementoPago);
        }
示例#6
0
文件: Cupon.cs 项目: njmube/lazaro
                /* public Cupon(Lfx.Data.IConnection dataBase, Lbl.Comprobantes.ComprobanteConArticulos factura)
                        : this(dataBase)
                {
                        m_ItemId = dataBase.FieldInt("SELECT MAX(id_cupon) FROM tarjetas_cupones WHERE id_comprob=" + factura.Id.ToString());
                        this.Cargar();
                } */

                public Cupon(Lfx.Data.IConnection dataBase, decimal importe, Pagos.FormaDePago tarjeta, Pagos.Plan plan, string numero, string autorizacion)
			: this(dataBase)
		{
			Importe = importe;
			FormaDePago = tarjeta;
			Plan = plan;
			Numero = numero;
			Autorizacion = autorizacion;
		}
示例#7
0
 public Cheque(Lfx.Data.IConnection dataBase, decimal importe, int numero, string emisor, DbDateTime fechaEmision, DbDateTime fechaCobro, Bancos.Banco banco)
     : this(dataBase)
 {
     this.Importe      = importe;
     this.Numero       = numero;
     this.Emisor       = emisor;
     this.FechaEmision = fechaEmision;
     this.FechaCobro   = fechaCobro;
     this.Banco        = banco;
 }
示例#8
0
        public static Lbl.Impresion.Impresora InstanciarImpresoraLocal(Lfx.Data.IConnection dataBase, string nombreImpresora)
        {
            Lbl.Impresion.Impresora Impr = new Lbl.Impresion.Impresora(dataBase);
            Impr.Clase       = Lbl.Impresion.ClasesImpresora.Papel;
            Impr.Nombre      = nombreImpresora;
            Impr.Estacion    = Lfx.Environment.SystemInformation.MachineName;
            Impr.CargaPapel  = Lbl.Impresion.CargasPapel.Automatica;
            Impr.Dispositivo = nombreImpresora;
            Impr.Estado      = 1;

            return(Impr);
        }
示例#9
0
        /// <summary>
        /// Devuelve el tipo y número de un comprobante (por ejemplo: B 0001-00000135).
        /// </summary>
        public static string TipoYNumeroCompleto(Lfx.Data.IConnection connection, int itemId)
        {
            Lfx.Data.Row Comp = Lfx.Workspace.Master.Tables["comprob"].FastRows[itemId];

            if (Comp == null)
            {
                return("");
            }
            else
            {
                return((string)Comp["tipo_fac"].ToString() + " " + System.Convert.ToInt32(Comp["pv"]).ToString("0000") + "-" + System.Convert.ToInt32(Comp["numero"]).ToString("00000000"));
            }
        }
示例#10
0
 public void Dispose()
 {
     if (this.PollTimer != null)
     {
         this.PollTimer.Stop();
         this.PollTimer.Dispose();
         this.PollTimer = null;
     }
     if (m_Connection != null)
     {
         m_Connection.Dispose();
         m_Connection = null;
     }
     GC.SuppressFinalize(this);
 }
示例#11
0
文件: Form.cs 项目: njmube/lazaro
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }

            if (m_Connection != null && m_Connection.Handle > 0 && DisposeConnection)
            {
                m_Connection.Dispose();
                m_Connection = null;
            }

            base.Dispose(disposing);
        }
示例#12
0
        public static string NombreCompletoRecibo(Lfx.Data.IConnection dataBase, int iId)
        {
            // Toma el Id del recibo y devuelve el tipo y número (por ejemplo: "Recibo #003" o "Comprobante de Pago #256")
            Lfx.Data.Row TmpRecibo = dataBase.Row("recibos", "id_recibo", iId);

            if (TmpRecibo == null)
            {
                return("");
            }
            else if (System.Convert.ToInt32(TmpRecibo["numero"]) > 0)
            {
                return("Recibo Nº " + System.Convert.ToInt32(TmpRecibo["numero"]).ToString("00000000"));
            }
            else
            {
                return("Recibo S/N");
            }
        }
示例#13
0
        public static System.Drawing.Image ProductImage(Lfx.Data.IConnection dataBase, int productId, DownloadImage downloadImage)
        {
            string CachePath     = Lfx.Environment.Folders.CacheFolder;
            string ImageFileName = "product_" + productId.ToString() + ".jpg";
            bool   ImageInCache  = System.IO.File.Exists(CachePath + ImageFileName);

            if (downloadImage == DownloadImage.Always ||
                (downloadImage == DownloadImage.OnlyIfNotInCache && ImageInCache == false) ||
                ((downloadImage == DownloadImage.PreferCacheOnSlowLinks && ImageInCache == false) || Lfx.Workspace.Master.SlowLink == false))
            {
                //Download image and save to cache
                Lfx.Data.Row ImagenDB = dataBase.Row("articulos_imagenes", "imagen", "id_articulo", productId);

                if (ImagenDB != null && ImagenDB.Fields["imagen"].Value != null && ((byte[])(ImagenDB.Fields["imagen"].Value)).Length > 5)
                {
                    //Guardar imagen en cache
                    System.IO.BinaryWriter wr = new System.IO.BinaryWriter(System.IO.File.OpenWrite(CachePath + ImageFileName), System.Text.Encoding.Default);
                    wr.Write(((byte[])(ImagenDB.Fields["imagen"].Value)));
                    wr.Close();

                    byte[] ByteArr = ((byte[])(ImagenDB.Fields["imagen"].Value));
                    System.Drawing.Image Img;

                    using (System.IO.MemoryStream loStream = new System.IO.MemoryStream(ByteArr)) {
                        Img = System.Drawing.Image.FromStream(loStream);
                    }
                    return(Img);
                }
                else
                {
                    //Devuelve la imagen de la categoría, en lugar de la del artículo
                    int CategoriaArticulo = dataBase.FieldInt("SELECT id_categoria FROM articulos WHERE id_articulo=" + productId.ToString());
                    return(CategoryImage(dataBase, CategoriaArticulo, downloadImage));
                }
            }

            //Serve only from cache
            if (ImageInCache)
            {
                return(System.Drawing.Image.FromFile(CachePath + ImageFileName));
            }

            return(null);
        }
示例#14
0
        public override Lfx.Types.OperationResult Guardar(Lfx.Data.IConnection conn)
        {
            qGen.IStatement Comando;

            if (this.Existe == false)
            {
                Comando = new qGen.Insert(this.TablaDatos);
                Comando.ColumnValues.AddWithValue(CampoId, IdComprob);
            }
            else
            {
                Comando             = new qGen.Update(this.TablaDatos);
                Comando.WhereClause = new qGen.Where(this.CampoId, IdComprob);
            }
            Comando.ColumnValues.AddWithValue("cliente_free", this.Nombre);
            conn.ExecuteNonQuery(Comando);

            return(new Lfx.Types.SuccessOperationResult());
        }
示例#15
0
        public static string FacturasDeUnRecibo(Lfx.Data.IConnection dataBase, int ReciboId)
        {
            System.Text.StringBuilder Facturas      = new System.Text.StringBuilder();
            System.Data.DataTable     TablaFacturas = dataBase.Select("SELECT id_comprob FROM recibos_comprob WHERE id_recibo=" + ReciboId.ToString());

            foreach (System.Data.DataRow Factura in TablaFacturas.Rows)
            {
                if (Facturas.Length == 0)
                {
                    Facturas.Append(Lbl.Comprobantes.Comprobante.TipoYNumeroCompleto(dataBase, Lfx.Data.Connection.ConvertDBNullToZero(Factura["id_comprob"])));
                }
                else
                {
                    Facturas.Append(", " + Lbl.Comprobantes.Comprobante.TipoYNumeroCompleto(dataBase, Lfx.Data.Connection.ConvertDBNullToZero(Factura["id_comprob"])));
                }
            }

            return(Facturas.ToString());
        }
示例#16
0
        /// <summary>
        /// Devuelve el número de un comprobante (por ejemplo: 0001-00000135).
        /// </summary>
        public static string NumeroCompleto(Lfx.Data.IConnection connection, int itemId)
        {
            Lfx.Data.Row Comp;
            if (connection.InTransaction)
            {
                Comp = connection.Row("comprob", "id_comprob", itemId);
            }
            else
            {
                Comp = Lfx.Workspace.Master.Tables["comprob"].FastRows[itemId];
            }

            if (Comp == null)
            {
                return("");
            }
            else
            {
                return(System.Convert.ToInt32(Comp["pv"]).ToString("0000") + "-" + System.Convert.ToInt32(Comp["numero"]).ToString("00000000"));
            }
        }
示例#17
0
        public static System.Drawing.Image CategoryImage(Lfx.Data.IConnection dataBase, int categoryId, DownloadImage downloadImage)
        {
            string CachePath     = Lfx.Environment.Folders.CacheFolder;
            string ImageFileName = "product_category_" + categoryId.ToString() + ".jpg";
            bool   ImageInCache  = System.IO.File.Exists(CachePath + ImageFileName);

            if (downloadImage == DownloadImage.Always ||
                (downloadImage == DownloadImage.OnlyIfNotInCache && ImageInCache == false) ||
                ((downloadImage == DownloadImage.PreferCacheOnSlowLinks && ImageInCache == false) || Lfx.Workspace.Master.SlowLink == false))
            {
                //Download image and save to cache
                Lfx.Data.Row ImagenDB = dataBase.Row("articulos_categorias", "imagen", "id_categoria", categoryId);

                if (ImagenDB != null && ImagenDB["imagen"] != null && ((byte[])(ImagenDB["imagen"])).Length > 5)
                {
                    //Guardar imagen en cache
                    System.IO.BinaryWriter wr = new System.IO.BinaryWriter(System.IO.File.OpenWrite(CachePath + ImageFileName), System.Text.Encoding.Default);
                    wr.Write(((byte[])(ImagenDB["imagen"])));
                    wr.Close();

                    byte[] ByteArr = ((byte[])(ImagenDB["imagen"]));
                    System.IO.MemoryStream loStream = new System.IO.MemoryStream(ByteArr);
                    return(System.Drawing.Image.FromStream(loStream));
                }
                else
                {
                    return(null);
                }
            }

            //Serve only from cache
            if (ImageInCache)
            {
                return(System.Drawing.Image.FromFile(CachePath + ImageFileName));
            }

            return(null);
        }
示例#18
0
 /// <summary>
 /// Escribe un evento en la tabla sys_log. Se utiliza para registrar operaciones de datos (altas, bajas, ingresos, egresos, etc.)
 /// </summary>
 public static void ActionLog(Lfx.Data.IConnection conn, Log.Acciones action, IElementoDeDatos elemento, string extra1)
 {
     try {
         qGen.Insert Comando = new qGen.Insert("sys_log");
         Comando.ColumnValues.AddWithValue("fecha", new qGen.SqlExpression("NOW()"));
         Comando.ColumnValues.AddWithValue("estacion", Lfx.Environment.SystemInformation.MachineName);
         if (Lbl.Sys.Config.Actual == null || Lbl.Sys.Config.Actual.UsuarioConectado == null || Lbl.Sys.Config.Actual.UsuarioConectado.Id == 0)
         {
             Comando.ColumnValues.AddWithValue("usuario", null);
         }
         else
         {
             Comando.ColumnValues.AddWithValue("usuario", Lbl.Sys.Config.Actual.UsuarioConectado.Id);
         }
         Comando.ColumnValues.AddWithValue("comando", action.ToString());
         if (elemento == null)
         {
             Comando.ColumnValues.AddWithValue("tabla", null);
             Comando.ColumnValues.AddWithValue("item_id", null);
         }
         else
         {
             if (action == Log.Acciones.LogOn || action == Log.Acciones.LogOnFail)
             {
                 Comando.ColumnValues.AddWithValue("tabla", null);
             }
             else
             {
                 Comando.ColumnValues.AddWithValue("tabla", elemento.TablaDatos);
             }
             Comando.ColumnValues.AddWithValue("item_id", elemento.Id);
         }
         Comando.ColumnValues.AddWithValue("extra1", extra1);
         conn.ExecuteNonQuery(Comando);
     } catch (System.Exception ex) {
         System.Console.WriteLine(ex.ToString());
     }
 }
        public Lbl.Comprobantes.ColeccionDetalleArticulos ObtenerArticulos(Lfx.Data.IConnection dataBase)
        {
            m_Articulos = new Lbl.Comprobantes.ColeccionDetalleArticulos(dataBase);
            int i = 1;

            foreach (DetalleComprobante Pro in this.ChildControls)
            {
                if (Pro.IsEmpty == false)
                {
                    Lbl.Comprobantes.DetalleArticulo DetArt = new Lbl.Comprobantes.DetalleArticulo(dataBase);
                    DetArt.Articulo         = Pro.Elemento as Lbl.Articulos.Articulo;
                    DetArt.Nombre           = Pro.TextDetail;
                    DetArt.Orden            = i++;
                    DetArt.Cantidad         = Pro.Cantidad;
                    DetArt.ImporteUnitario  = Pro.ImporteUnitario;
                    DetArt.Descuento        = Pro.Descuento;
                    DetArt.DatosSeguimiento = Pro.DatosSeguimiento;
                    m_Articulos.Add(DetArt);
                }
            }

            return(m_Articulos);
        }
示例#20
0
 protected Comprobante(Lfx.Data.IConnection dataBase, int itemId)
     : base(dataBase, itemId)
 {
 }
示例#21
0
 protected Comprobante(Lfx.Data.IConnection dataBase, Lfx.Data.Row row)
     : base(dataBase, row)
 {
 }
示例#22
0
 public Sucursal(Lfx.Data.IConnection dataBase, Lfx.Data.Row row)
     : base(dataBase, row)
 {
 }
示例#23
0
 //Heredar constructor
 public Sucursal(Lfx.Data.IConnection dataBase)
     : base(dataBase)
 {
 }
示例#24
0
 protected ElementoDeDatos(Lfx.Data.IConnection conn, int itemId)
     : this(conn)
 {
     m_ItemId = itemId;
     this.Cargar();
 }
示例#25
0
 public Sucursal(Lfx.Data.IConnection dataBase, int itemId)
     : base(dataBase, itemId)
 {
 }
示例#26
0
文件: Persona.cs 项目: njmube/lazaro
 public Persona(Lfx.Data.IConnection dataBase, Lfx.Data.Row row)
     : base(dataBase, row)
 {
 }
示例#27
0
 protected ElementoDeDatos(Lfx.Data.IConnection conn)
 {
     this.Connection = conn;
 }
示例#28
0
 //Heredar constructor
 protected Comprobante(Lfx.Data.IConnection dataBase)
     : base(dataBase)
 {
 }
示例#29
0
 protected ElementoDeDatos(Lfx.Data.IConnection conn, Lfx.Data.Row row)
     : this(conn)
 {
     this.FromRow(row);
 }
示例#30
0
文件: Persona.cs 项目: njmube/lazaro
 public Persona(Lfx.Data.IConnection dataBase, int itemId)
     : base(dataBase, itemId)
 {
 }