Esempio n. 1
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);
        }
Esempio n. 2
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();
        }
Esempio n. 3
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();
        }