Exemple #1
0
        public void Movimiento(bool auto, Lbl.Cajas.Concepto concepto, string textoConcepto,
                               Lbl.Personas.Persona cliente, decimal importe, string obs,
                               Lbl.Comprobantes.ComprobanteConArticulos factura, Lbl.Comprobantes.Recibo recibo, string comprobantes)
        {
            if (Lbl.Sys.Config.Actual.UsuarioConectado.TienePermiso(this.Caja, Lbl.Sys.Permisos.Operaciones.Mover) == false)
            {
                throw new Lfx.Types.Exceptions.AccessDeniedException("No tiene permiso para hacer movimientos en la caja solicitada");
            }

            decimal SaldoActual = this.ObtenerSaldo(true);

            qGen.IStatement InsertarMovimiento = new qGen.Insert("cajas_movim");
            InsertarMovimiento.ColumnValues.AddWithValue("id_caja", this.Caja.Id);
            InsertarMovimiento.ColumnValues.AddWithValue("id_sucursal", null);
            InsertarMovimiento.ColumnValues.AddWithValue("auto", auto ? 1 : 0);
            if (concepto == null)
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_concepto", null);
            }
            else
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_concepto", concepto.Id);
            }
            InsertarMovimiento.ColumnValues.AddWithValue("concepto", textoConcepto);
            InsertarMovimiento.ColumnValues.AddWithValue("id_persona", Lbl.Sys.Config.Actual.UsuarioConectado.Id);
            if (cliente == null)
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_cliente", null);
            }
            else
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_cliente", cliente.Id);
            }
            InsertarMovimiento.ColumnValues.AddWithValue("fecha", new qGen.SqlExpression("NOW()"));
            InsertarMovimiento.ColumnValues.AddWithValue("importe", importe);
            if (factura == null)
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_comprob", null);
            }
            else
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_comprob", factura.Id);
            }
            if (recibo == null)
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_recibo", null);
            }
            else
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_recibo", recibo.Id);
            }
            InsertarMovimiento.ColumnValues.AddWithValue("comprob", comprobantes);
            InsertarMovimiento.ColumnValues.AddWithValue("saldo", SaldoActual + importe);
            InsertarMovimiento.ColumnValues.AddWithValue("obs", obs);
            //System.Data.IDbTransaction Trans =this.Connection.BeginTransaction();
            this.Connection.ExecuteNonQuery(InsertarMovimiento);
            // Trans.Commit();
        }
 public void Movimiento(bool auto,
                        Lbl.Cajas.Concepto concepto,
                        string textoConcepto,
                        decimal importeDebito,
                        string obs,
                        Dictionary <string, object> extras)
 {
     this.Movimiento(auto, concepto, textoConcepto, importeDebito, obs, null, null, null, extras);
 }
Exemple #3
0
 public void AsentarMovimiento(bool auto,
                               Lbl.Cajas.Concepto concepto,
                               string textoConcepto,
                               decimal importeDebito,
                               string obs,
                               Dictionary <string, object> extras)
 {
     CtaCteController.AsentarMovimiento(auto, concepto, textoConcepto, importeDebito, obs, null, null, null, extras);
 }
Exemple #4
0
        public override void ActualizarElemento()
        {
            Lbl.Cajas.Concepto Conc = this.Elemento as Lbl.Cajas.Concepto;

            Conc.Nombre    = EntradaNombre.Text;
            Conc.Direccion = Lfx.Types.Parsing.ParseInt(EntradaDireccion.TextKey);
            Conc.Grupo     = Lfx.Types.Parsing.ParseInt(EntradaGrupo.TextKey);

            base.ActualizarElemento();
        }
Exemple #5
0
        public void Movimiento(bool auto, Lbl.Cajas.Concepto concepto, string textoConcepto,
                               Lbl.Personas.Persona cliente, decimal importe, string obs,
                               Lbl.Comprobantes.ComprobanteConArticulos factura, Lbl.Comprobantes.Recibo recibo, string comprobantes)
        {
            if (Lbl.Sys.Config.Actual.UsuarioConectado.TienePermiso(this, Lbl.Sys.Permisos.Operaciones.Mover) == false)
            {
                throw new Lfx.Types.Exceptions.AccessDeniedException("No tiene permiso para hacer movimientos en la caja solicitada");
            }

            decimal SaldoActual = this.ObtenerSaldo(true);

            qGen.TableCommand InsertarMovimiento = new qGen.Insert(this.Connection, "cajas_movim");
            InsertarMovimiento.Fields.AddWithValue("id_caja", this.Id);
            InsertarMovimiento.Fields.AddWithValue("auto", auto ? 1 : 0);
            if (concepto == null)
            {
                InsertarMovimiento.Fields.AddWithValue("id_concepto", null);
            }
            else
            {
                InsertarMovimiento.Fields.AddWithValue("id_concepto", concepto.Id);
            }
            InsertarMovimiento.Fields.AddWithValue("concepto", textoConcepto);
            InsertarMovimiento.Fields.AddWithValue("id_persona", Lbl.Sys.Config.Actual.UsuarioConectado.Id);
            if (cliente == null)
            {
                InsertarMovimiento.Fields.AddWithValue("id_cliente", null);
            }
            else
            {
                InsertarMovimiento.Fields.AddWithValue("id_cliente", cliente.Id);
            }
            InsertarMovimiento.Fields.AddWithValue("fecha", qGen.SqlFunctions.Now);
            InsertarMovimiento.Fields.AddWithValue("importe", importe);
            if (factura == null)
            {
                InsertarMovimiento.Fields.AddWithValue("id_comprob", null);
            }
            else
            {
                InsertarMovimiento.Fields.AddWithValue("id_comprob", factura.Id);
            }
            if (recibo == null)
            {
                InsertarMovimiento.Fields.AddWithValue("id_recibo", null);
            }
            else
            {
                InsertarMovimiento.Fields.AddWithValue("id_recibo", recibo.Id);
            }
            InsertarMovimiento.Fields.AddWithValue("comprob", comprobantes);
            InsertarMovimiento.Fields.AddWithValue("saldo", SaldoActual + importe);
            InsertarMovimiento.Fields.AddWithValue("obs", obs);
            this.Connection.Execute(InsertarMovimiento);
        }
 public void Movimiento(bool auto,
                        Lbl.Cajas.Concepto concepto,
                        string textoConcepto,
                        decimal importeDebito,
                        string obs,
                        Lbl.Comprobantes.ComprobanteConArticulos comprob,
                        Lbl.Comprobantes.Recibo recibo,
                        string textoComprob)
 {
     this.Movimiento(auto, concepto, textoConcepto, importeDebito, obs, comprob, recibo, textoComprob, null);
 }
Exemple #7
0
        public override void ActualizarControl()
        {
            Lbl.Cajas.Concepto Conc = this.Elemento as Lbl.Cajas.Concepto;

            EntradaCodigo.ValueInt   = Conc.Id;
            EntradaNombre.Text       = Conc.Nombre;
            EntradaDireccion.TextKey = Conc.Direccion.ToString();
            EntradaGrupo.TextKey     = Conc.Grupo.ToString();

            base.ActualizarControl();
        }
Exemple #8
0
 /// <summary>
 /// Asienta un movimiento en la cuenta corriente, y cancela comprobantes asociados.
 /// </summary>
 /// <param name="auto">Indica si es un movimiento automático (generado por el sistema) o manual (generado por el usuario).</param>
 /// <param name="concepto">El concepto bajo el cual se realiza el movimiento.</param>
 /// <param name="textoConcepto">El texto que describe al concepto.</param>
 /// <param name="importeDebito">El importe a debitar de la cuenta. Un importe negativo indica un crédito.</param>
 /// <param name="obs">Observaciones.</param>
 /// <param name="comprob">El comprobante asociado a este movimiento.</param>
 /// <param name="recibo">El recibo asociado a este movimiento.</param>
 /// <param name="textoComprob">Un texto sobre los comprobantes asociados al sistema.</param>
 /// <param name="extras">Colección de campos adicionales para el registro.</param>
 public void AsentarMovimiento(bool auto,
                               Lbl.Cajas.Concepto concepto,
                               string textoConcepto,
                               decimal importeDebito,
                               string obs,
                               Lbl.Comprobantes.ComprobanteConArticulos comprob,
                               Lbl.Comprobantes.Recibo recibo,
                               string textoComprob,
                               Dictionary <string, object> extras)
 {
     CtaCteController.AsentarMovimiento(auto, concepto, textoConcepto, importeDebito, obs, comprob, recibo, textoComprob, extras);
 }
Exemple #9
0
 public void Movimiento(bool auto, Lbl.Cajas.Concepto concepto, string textoConcepto,
                        Lbl.Personas.Persona cliente, decimal importe, string obs,
                        Lbl.Comprobantes.ComprobanteConArticulos factura, Lbl.Comprobantes.Recibo recibo, string comprobantes)
 {
     CajaController = new Lazaro.Base.Controller.CajaController(
         new Lazaro.Orm.EntityManager(this.Connection, Lfx.Workspace.Master.MetadataFactory),
         this
         );
     CajaController.Movimiento(auto, concepto, textoConcepto,
                               cliente, importe, obs,
                               factura, recibo, comprobantes);
 }
Exemple #10
0
        public override void OnLoad()
        {
            if (this.Registro != null)
            {
                if (this.GetFieldValue <int>("id_banco") > 0)
                {
                    this.Banco = new Bancos.Banco(this.Connection, this.GetFieldValue <int>("id_banco"));
                }
                else
                {
                    this.Banco = null;
                }

                if (this.GetFieldValue <int>("id_concepto") > 0)
                {
                    this.Concepto = new Cajas.Concepto(this.Connection, this.GetFieldValue <int>("id_concepto"));
                }
                else
                {
                    this.Concepto = null;
                }

                if (this.GetFieldValue <int>("id_chequera") > 0)
                {
                    this.Chequera = new Bancos.Chequera(this.Connection, this.GetFieldValue <int>("id_chequera"));
                }
                else
                {
                    this.Chequera = null;
                }

                if (this.GetFieldValue <int>("id_cliente") > 0)
                {
                    this.Cliente = new Personas.Persona(this.Connection, this.GetFieldValue <int>("id_cliente"));
                }
                else
                {
                    this.Cliente = null;
                }

                if (this.GetFieldValue <int>("id_comprob") > 0)
                {
                    this.Factura = new Comprobantes.ComprobanteConArticulos(this.Connection, this.GetFieldValue <int>("id_comprob"));
                }
                else
                {
                    this.Factura = null;
                }
            }
            base.OnLoad();
        }
        /// <summary>
        /// Asienta un movimiento en la cuenta corriente, y cancela comprobantes asociados.
        /// </summary>
        /// <param name="auto">Indica si es un movimiento automático (generado por el sistema) o manual (generado por el usuario).</param>
        /// <param name="concepto">El concepto bajo el cual se realiza el movimiento.</param>
        /// <param name="textoConcepto">El texto que describe al concepto.</param>
        /// <param name="importeDebito">El importe a debitar de la cuenta. Un importe negativo indica un crédito.</param>
        /// <param name="obs">Observaciones.</param>
        /// <param name="comprob">El comprobante asociado a este movimiento.</param>
        /// <param name="recibo">El recibo asociado a este movimiento.</param>
        /// <param name="textoComprob">Un texto sobre los comprobantes asociados al sistema.</param>
        /// <param name="extras">Colección de campos adicionales para el registro.</param>
        public void Movimiento(bool auto,
                               Lbl.Cajas.Concepto concepto,
                               string textoConcepto,
                               decimal importeDebito,
                               string obs,
                               Lbl.Comprobantes.ComprobanteConArticulos comprob,
                               Lbl.Comprobantes.Recibo recibo,
                               string textoComprob,
                               Dictionary <string, object> extras)
        {
            decimal SaldoActual = this.ObtenerSaldo(true);
            decimal NuevoSaldo  = SaldoActual + importeDebito;

            qGen.Insert ComandoInsertarMovimiento = new qGen.Insert(this.Connection, this.TablaDatos);

            ComandoInsertarMovimiento.Fields.AddWithValue("auto", auto ? (int)1 : (int)0);
            if (concepto == null)
            {
                ComandoInsertarMovimiento.Fields.AddWithValue("id_concepto", null);
            }
            else
            {
                ComandoInsertarMovimiento.Fields.AddWithValue("id_concepto", concepto.Id);
            }
            ComandoInsertarMovimiento.Fields.AddWithValue("concepto", textoConcepto);
            ComandoInsertarMovimiento.Fields.AddWithValue("id_cliente", this.Persona.Id);
            ComandoInsertarMovimiento.Fields.AddWithValue("fecha", qGen.SqlFunctions.Now);
            ComandoInsertarMovimiento.Fields.AddWithValue("importe", importeDebito);
            if (comprob == null)
            {
                ComandoInsertarMovimiento.Fields.AddWithValue("id_comprob", null);
            }
            else
            {
                ComandoInsertarMovimiento.Fields.AddWithValue("id_comprob", comprob.Id);
            }
            if (recibo == null)
            {
                ComandoInsertarMovimiento.Fields.AddWithValue("id_recibo", null);
            }
            else
            {
                ComandoInsertarMovimiento.Fields.AddWithValue("id_recibo", recibo.Id);
            }
            ComandoInsertarMovimiento.Fields.AddWithValue("comprob", textoComprob);
            ComandoInsertarMovimiento.Fields.AddWithValue("saldo", NuevoSaldo);
            ComandoInsertarMovimiento.Fields.AddWithValue("obs", obs);

            if (extras != null && extras.Count > 0)
            {
                foreach (KeyValuePair <string, object> extra in extras)
                {
                    ComandoInsertarMovimiento.Fields.AddWithValue(extra.Key, extra.Value);
                }
            }
            this.Connection.Execute(ComandoInsertarMovimiento);

            qGen.Update ComandoActualizarCliente = new qGen.Update("personas");
            ComandoActualizarCliente.Fields.AddWithValue("saldo_ctacte", NuevoSaldo);
            ComandoActualizarCliente.WhereClause = new qGen.Where("id_persona", this.Persona.Id);
            this.Connection.Execute(ComandoActualizarCliente);
        }
Exemple #12
0
                public override void OnLoad()
                {
                        if (this.Registro != null) {
                                if (this.GetFieldValue<int>("id_banco") > 0)
                                        this.Banco = new Bancos.Banco(this.Connection, this.GetFieldValue<int>("id_banco"));
                                else
                                        this.Banco = null;

                                if (this.GetFieldValue<int>("id_concepto") > 0)
                                        this.Concepto = new Cajas.Concepto(this.Connection, this.GetFieldValue<int>("id_concepto"));
                                else
                                        this.Concepto = null;

                                if (this.GetFieldValue<int>("id_chequera") > 0)
                                        this.Chequera = new Bancos.Chequera(this.Connection, this.GetFieldValue<int>("id_chequera"));
                                else
                                        this.Chequera = null;

                                if (this.GetFieldValue<int>("id_cliente") > 0)
                                        this.Cliente = new Personas.Persona(this.Connection, this.GetFieldValue<int>("id_cliente"));
                                else
                                        this.Cliente = null;

                                if (this.GetFieldValue<int>("id_comprob") > 0)
                                        this.Factura = new Comprobantes.ComprobanteConArticulos(this.Connection, this.GetFieldValue<int>("id_comprob"));
                                else
                                        this.Factura = null;
                        }
                        base.OnLoad();
                }
Exemple #13
0
        public int Movimiento(bool auto, Lbl.Cajas.Concepto concepto, string textoConcepto,
                              Lbl.Personas.Persona cliente, decimal importe, string obs,
                              Lbl.Comprobantes.ComprobanteConArticulos factura, Lbl.Comprobantes.Recibo recibo, string comprobantes, bool cierre = false)
        {
            if (Lbl.Sys.Config.Actual.UsuarioConectado.TienePermiso(this, Lbl.Sys.Permisos.Operaciones.Mover) == false)
            {
                throw new Lfx.Types.Exceptions.AccessDeniedException("No tiene permiso para hacer movimientos en la caja solicitada");
            }

            decimal SaldoActual = this.ObtenerSaldo(true);

            qGen.IStatement InsertarMovimiento = new qGen.Insert("cajas_movim");
            InsertarMovimiento.ColumnValues.AddWithValue("id_caja", this.Id);
            InsertarMovimiento.ColumnValues.AddWithValue("auto", auto ? 1 : 0);
            if (concepto == null)
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_concepto", null);
            }
            else
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_concepto", concepto.Id);
            }
            if (factura != null && factura.ClienteFree != null && factura.ClienteFree.Nombre != "")
            {
                textoConcepto.Replace("de Consumidor Final F", factura.ClienteFree.Nombre);
            }
            InsertarMovimiento.ColumnValues.AddWithValue("concepto", textoConcepto);
            InsertarMovimiento.ColumnValues.AddWithValue("id_persona", Lbl.Sys.Config.Actual.UsuarioConectado.Id);
            if (cliente == null)
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_cliente", null);
            }
            else
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_cliente", cliente.Id);
            }
            InsertarMovimiento.ColumnValues.AddWithValue("fecha", new qGen.SqlExpression("NOW()"));
            InsertarMovimiento.ColumnValues.AddWithValue("importe", importe);
            if (factura == null)
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_comprob", null);
            }
            else
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_comprob", factura.Id);
            }
            if (recibo == null)
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_recibo", null);
            }
            else
            {
                InsertarMovimiento.ColumnValues.AddWithValue("id_recibo", recibo.Id);
            }
            InsertarMovimiento.ColumnValues.AddWithValue("comprob", comprobantes);
            InsertarMovimiento.ColumnValues.AddWithValue("saldo", SaldoActual + importe);
            InsertarMovimiento.ColumnValues.AddWithValue("obs", obs);
            this.Connection.ExecuteNonQuery(InsertarMovimiento);
            int MovID = this.Connection.FieldInt("SELECT Max(id_movim) From cajas_movim");

            //int MovID = this.Connection.FieldInt("SELECT LAST_INSERT_ID();");
            if (cierre)
            {
                string          idVendedor    = Lbl.Sys.Config.Actual.UsuarioConectado.Id.ToString();
                qGen.IStatement UpdateCupones = new qGen.Update("tarjetas_cupones");
                UpdateCupones.WhereClause = new qGen.Where("id_vendedor=" + idVendedor + " AND id_movimiento is NULL");
                UpdateCupones.ColumnValues.AddWithValue("id_movimiento", MovID);
                this.Connection.ExecuteNonQuery(UpdateCupones);

                qGen.IStatement UpdateCtaCte = new qGen.Update("ctacte");
                UpdateCtaCte.WhereClause = new qGen.Where("id_vendedor=" + idVendedor + " AND id_movimiento is NULL");
                UpdateCtaCte.ColumnValues.AddWithValue("id_movimiento", MovID);
                this.Connection.ExecuteNonQuery(UpdateCtaCte);

                qGen.IStatement UpdateCheques = new qGen.Update("bancos_cheques");
                UpdateCheques.WhereClause = new qGen.Where("id_vendedor=" + idVendedor + " AND id_movimiento is NULL");
                UpdateCheques.ColumnValues.AddWithValue("id_movimiento", MovID);
                this.Connection.ExecuteNonQuery(UpdateCheques);
            }

            return(MovID);
        }