/// <summary>
        /// Guarda en la bd el objeto actual
        /// </summary>
        protected override bool SaveObject()
        {
            this.Datos.RaiseListChangedEvents = false;

            BankLine temp = _entity.Clone();

            temp.ApplyEdit();

            // do the save
            try
            {
                _entity = temp.Save();
                _entity.ApplyEdit();

                return(true);
            }
            catch (Exception ex)
            {
                PgMng.ShowInfoException(ex);
                return(false);
            }
            finally
            {
                this.Datos.RaiseListChangedEvents = true;
            }
        }
Ejemplo n.º 2
0
        private void DataPortal_Delete(CriteriaCs criteria)
        {
            try
            {
                Traspaso obj = Traspaso.Get(Oid);

                //Nunca se borran, se anulan
                obj.EEstado = EEstado.Anulado;

                //Anulamos el Movimiento de Banco asociado
                BankLine.AnulaItem(obj, SessionCode);

                obj.Save();
                obj.CloseSession();
            }
            catch (Exception ex)
            {
                if (!SharedTransaction && Transaction() != null)
                {
                    Transaction().Rollback();
                }
                iQExceptionHandler.TreatException(ex);
            }
            finally
            {
                CloseSession();
            }
        }
Ejemplo n.º 3
0
        public static Traspaso ChangeEstado(long oid, EEstado estado)
        {
            Traspaso item = null;

            try
            {
                item = Traspaso.Get(oid, false);
                TraspasoInfo oldItem = item.GetInfo(false);

                EntityBase.CheckChangeState(item.EEstado, estado);

                item.BeginEdit();
                item.EEstado = estado;

                if (estado == EEstado.Anulado)
                {
                    BankLine.EditItem(item, oldItem, item.SessionCode);
                }

                item.ApplyEdit();
                item.Save();
            }
            finally
            {
                if (item != null)
                {
                    item.CloseSession();
                }
            }

            return(item);
        }
Ejemplo n.º 4
0
        public static BankLineList GetByCreditCardList(CreditCardInfo crediCard, DateTime date, bool childs)
        {
            QueryConditions conditions = new QueryConditions
            {
                TarjetaCredito      = crediCard,
                TipoMovimientoBanco = EBankLineType.ExtractoTarjeta,
                //MedioPago = EMedioPago.Tarjeta,
                FechaFin = date,
                Estado   = EEstado.NoAnulado
            };

            CriteriaEx criteria = BankLine.GetCriteria(BankLine.OpenSession());

            criteria.Childs = childs;

            if (nHManager.Instance.UseDirectSQL)
            {
                criteria.Query = BankLine.SELECT_BY_CREDIT_CARD(conditions, false);
            }

            BankLineList list = DataPortal.Fetch <BankLineList>(criteria);

            CloseSession(criteria.SessionCode);
            return(list);
        }
Ejemplo n.º 5
0
        public override void OpenEditForm()
        {
            BankLineEditForm form = new BankLineEditForm(ActiveItem, this);

            if (form.Entity != null)
            {
                AddForm(form);
                _entity = form.Entity;
            }
        }
Ejemplo n.º 6
0
        public override void OpenAddForm()
        {
            BankLineAddForm form = new BankLineAddForm(_cuenta, this);

            AddForm(form);
            if (form.ActionResult == DialogResult.OK)
            {
                _entity = form.Entity;
            }
        }
Ejemplo n.º 7
0
        public override void UpdateList()
        {
            switch (_current_action)
            {
            case molAction.Add:
                if (_entity == null)
                {
                    return;
                }
                List.AddItem(_entity.GetInfo(false));
                if (FilterType == IFilterType.Filter)
                {
                    BankLineList listA = BankLineList.GetList(_filter_results);
                    listA.AddItem(_entity.GetInfo(false));
                    listA.UpdateSaldo();
                    _filter_results = listA.GetSortedList();
                }
                break;

            case molAction.Edit:
            case molAction.Lock:
            case molAction.Unlock:
            case molAction.ChangeStateAnulado:
            case molAction.CustomAction1:
                if (_entity == null)
                {
                    return;
                }
                ActiveItem.CopyFrom(_entity);
                break;

            case molAction.Delete:
                if (ActiveItem == null)
                {
                    return;
                }
                List.RemoveItem(ActiveOID);
                if (FilterType == IFilterType.Filter)
                {
                    BankLineList listD = BankLineList.GetList(_filter_results);
                    listD.RemoveItem(ActiveOID);
                    listD.UpdateSaldo();
                    _filter_results = listD.GetSortedList();
                }
                break;
            }

            RefreshSources();
            if (_entity != null)
            {
                Select(_entity.Oid);
            }
            _entity = null;
        }
Ejemplo n.º 8
0
        protected override void GetFormSourceData(object [] parameters)
        {
            _entity = BankLine.New();

            if (parameters[0] != null)
            {
                BankAccountInfo cuenta = parameters[0] as BankAccountInfo;
                SetCuentaBancaria(cuenta);
            }
            _entity.BeginEdit();
        }
Ejemplo n.º 9
0
        public static BankLineList GetList(Library.Invoice.QueryConditions conditions, bool childs)
        {
            CriteriaEx criteria = BankLine.GetCriteria(BankLine.OpenSession());

            criteria.Childs = childs;

            if (nHManager.Instance.UseDirectSQL)
            {
                criteria.Query = BankLineList.SELECT(conditions);
            }

            BankLineList list = DataPortal.Fetch <BankLineList>(criteria);

            CloseSession(criteria.SessionCode);
            return(list);
        }
Ejemplo n.º 10
0
        protected override void DataPortal_Insert()
        {
            if (!SharedTransaction)
            {
                if (SessionCode < 0)
                {
                    SessionCode = OpenSession();
                }
                BeginTransaction();
            }

            GetNewCode();

            Session().Save(Base.Record);

            //Insertamos el movimiento de banco asociado
            BankLine.InsertItem(this, SessionCode);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Construye el objeto y se encarga de obtener los
        /// hijos si los tiene y se solicitan
        /// </summary>
        /// <param name="criteria">Criterios de la consulta</param>
        protected override void Fetch(CriteriaEx criteria)
        {
            this.RaiseListChangedEvents = false;

            SessionCode = criteria.SessionCode;
            Childs      = criteria.Childs;

            try
            {
                if (nHMng.UseDirectSQL)
                {
                    IDataReader reader = nHMng.SQLNativeSelect(criteria.Query, Session());

                    IsReadOnly = false;

                    while (reader.Read())
                    {
                        this.AddItem(BankLineInfo.GetChild(SessionCode, reader, Childs));
                    }

                    UpdateSaldo();

                    IsReadOnly = true;

                    if (criteria.PagingInfo != null)
                    {
                        reader = nHManager.Instance.SQLNativeSelect(BankLine.SELECT_COUNT(criteria), criteria.Session);
                        if (reader.Read())
                        {
                            criteria.PagingInfo.TotalItems = Format.DataReader.GetInt32(reader, "TOTAL_ROWS");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                iQExceptionHandler.TreatException(ex, new object[] { criteria.Query });
            }

            this.RaiseListChangedEvents = true;
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Actualiza el registro en la base de datos
        /// </summary>
        /// <param name="parent">Lista padre</param>
        /// <remarks>La utiliza la BusinessListBaseEx correspondiente para actualizar elementos<remarks/>
        internal void Update(Traspasos parent)
        {
            // if we're not dirty then don't update the database
            if (!this.IsDirty)
            {
                return;
            }

            OidUsuario = AppContext.User.Oid;
            Usuario    = AppContext.User.Name;

            ValidationRules.CheckRules();

            if (!IsValid)
            {
                throw new iQValidationException(Library.Resources.Messages.GENERIC_VALIDATION_ERROR);
            }

            SessionCode = parent.SessionCode;
            BankTransferRecord obj = Session().Get <BankTransferRecord>(Oid);

            Traspaso old = Traspaso.New();

            old.Base.Record.CopyValues(obj);
            TraspasoInfo oldItem = old.GetInfo(false);

            obj.CopyValues(Base.Record);
            Session().Update(obj);

            //Si no se ha modificado el estado del traspaso es porque se ha modificado algún otro campo
            // y hay que modificar el movimiento asociado
            //En caso de haber modificado el estado, si el nuevo no es Exportado es porque se ha modificado
            //algún otro campo y hay que modificar el movimiento asociado
            if (EEstado == oldItem.EEstado || (EEstado != oldItem.EEstado && EEstado != EEstado.Exportado))
            {
                //Editamos el Movimiento de Banco asociado si lo hubiera
                BankLine.EditItem(this, oldItem, SessionCode);
            }

            MarkOld();
        }
        public static void CreateApuntesBancarios(ChargeList cobros)
        {
            //MovimientoBancoList movs = MovimientoBancoList.GetList(DateTime.Today, false);
            List <ChargeInfo> list = new List <ChargeInfo>();

            foreach (ChargeInfo item in cobros)
            {
                if (!Common.EnumFunctions.NeedsCuentaBancaria(item.EMedioPago))
                {
                    continue;
                }

                //if (movs.GetItemByOperacion(item.Oid, item.ETipoMovimientoBanco) != null) continue;

                //Apunte bancario del pagaré, talón, etc..
                BankLine.InsertItem(item, true);

                list.Add(item);
            }

            Charge.UpdateCobradoFromList(list, true);
        }
Ejemplo n.º 14
0
        protected override void DataPortal_Update()
        {
            if (!IsDirty)
            {
                return;
            }

            BankTransferRecord obj = Session().Get <BankTransferRecord>(Oid);

            Traspaso old = Traspaso.New();

            old.Base.Record.CopyValues(obj);
            TraspasoInfo oldItem = old.GetInfo(false);

            obj.CopyValues(Base.Record);
            Session().Update(obj);

            //Editamos el Movimiento de Banco asociado si lo hubiera
            BankLine.EditItem(this, oldItem, SessionCode);

            MarkOld();
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Borra el registro de la base de datos
        /// </summary>
        /// <param name="parent">Lista padre</param>
        /// <remarks>La utiliza la BusinessListBaseEx correspondiente para borrar elementos<remarks/>
        internal void DeleteSelf(Traspasos parent)
        {
            // if we're not dirty then don't update the database
            if (!this.IsDirty)
            {
                return;
            }

            // if we're new then don't update the database
            if (this.IsNew)
            {
                return;
            }

            SessionCode = parent.SessionCode;
            Session().Delete(Session().Get <BankTransferRecord>(Oid));

            //Anulamos el Movimiento de Banco asociado
            BankLine.AnulaItem(this, SessionCode);

            MarkNew();
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Inserta el registro en la base de datos
        /// </summary>
        /// <param name="parent">Lista padre</param>
        /// <remarks>La utiliza la BusinessListBaseEx correspondiente para insertar elementos<remarks/>
        internal void Insert(Traspasos parent)
        {
            // if we're not dirty then don't update the database
            if (!this.IsDirty)
            {
                return;
            }

            GetNewCode();

            ValidationRules.CheckRules();

            if (!IsValid)
            {
                throw new iQValidationException(Library.Resources.Messages.GENERIC_VALIDATION_ERROR);
            }

            parent.Session().Save(Base.Record);

            //Insertamos el movimiento de banco asociado
            BankLine.InsertItem(this, SessionCode);

            MarkOld();
        }
Ejemplo n.º 17
0
 public void AuditarAction()
 {
     BankLine.AuditarAction(ActiveItem, true);
 }
        public static void CreateApuntesBancarios(PaymentList pagos)
        {
            List <PaymentInfo> list = new List <PaymentInfo>();

            CreditCardList tarjetas      = CreditCardList.GetList();
            Payments       pagos_tarjeta = Payments.NewList();

            foreach (PaymentInfo item in pagos)
            {
                if (!Common.EnumFunctions.NeedsCuentaBancaria(item.EMedioPago))
                {
                    continue;
                }
                if (item.Vencimiento > DateTime.Today)
                {
                    continue;
                }

                if (item.EMedioPago != EMedioPago.Tarjeta)
                {
                    //Apunte bancario del pagaré, talón, etc..
                    BankLine.InsertItem(item, true);

                    list.Add(item);
                }
                else
                {
                    Payment pago_tarjeta = pagos_tarjeta.GetItemByTarjetaCredito(item.OidTarjetaCredito, item.Vencimiento);

                    if (pago_tarjeta == null)
                    {
                        pago_tarjeta = pagos_tarjeta.NewItem(item, ETipoPago.ExtractoTarjeta);
                        TransactionPayment pf = pago_tarjeta.Operations.NewItem(pago_tarjeta, item, item.ETipoPago);
                        pf.Cantidad = item.Total;
                        pago_tarjeta.EEstadoPago = EEstado.Pagado;
                    }
                    else
                    {
                        pago_tarjeta.Importe         += item.Importe;
                        pago_tarjeta.GastosBancarios += item.GastosBancarios;
                        TransactionPayment pf = pago_tarjeta.Operations.NewItem(pago_tarjeta, item, item.ETipoPago);
                        pf.Cantidad = item.Total;
                    }

                    list.Add(item);
                }
            }

            Payments pagos_fraccionados = Payments.NewList();

            pagos_fraccionados.OpenNewSession();

            //Apunte bancario de la tarjeta
            foreach (Payment item in pagos_tarjeta)
            {
                Payment root = pagos_fraccionados.NewItem(item.GetInfo(false), ETipoPago.FraccionadoTarjeta);
                root.Pagos.AddItem(item);

                //if (item.Importe != 0)
                //    MovimientoBanco.InsertItemTarjeta(item, tarjetas.GetItem(item.OidTarjetaCredito));
            }

            pagos_fraccionados.BeginTransaction();
            pagos_fraccionados.Save();

            Payment.UpdatePagadoFromList(list, true);
        }
Ejemplo n.º 19
0
 public void CopyFrom(BankLine source)
 {
     _base.CopyValues(source);
 }
Ejemplo n.º 20
0
        public override void ChangeStateAction(EEstadoItem estado)
        {
            _entity = BankLine.ChangeEstado(ActiveItem, Library.Common.EnumConvert.ToEEstado(estado));

            _action_result = DialogResult.OK;
        }
 public void SetFormData(BankLineInfo source)
 {
     _entity = BankLine.Get(source.Oid, source.ETipoMovimientoBanco, source.ETipoTitular);
     _entity.BeginEdit();
     base.SetFormData();
 }