Ejemplo n.º 1
0
        /// <summary>
        /// Permite guardar el documento nota de credito, realizando las respectivas operaciones para completar el proceso en finanzas
        /// </summary>
        /// <param name="Item"></param>
        /// <returns></returns>
        public Boolean SaveNotaCredito(ref DocsVta Item)
        {
            try
            {
                Boolean m_isCorrect = true;
                String  x_usuario   = "";
                Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DABeginTransaction();
                switch (Item.Instance)
                {
                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added:
                    m_isCorrect = InsertNotaCredito(ref Item);
                    x_usuario   = Item.AUDI_UsrCrea;
                    /* CtaCte */
                    getCtaCte(ref Item);
                    Item.ItemCtaCte.AUDI_UsrCrea       = x_usuario;
                    Item.ItemCtaCte.Instance           = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;
                    Item.ItemDetCtaCte.AUDI_UsrCrea    = x_usuario;
                    Item.ItemDetCtaCte.Instance        = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;
                    Item.ItemDetCtaCteFactura.Instance = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added;
                    break;

                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified:
                    m_isCorrect = UpdateNotaCredito(ref Item);
                    x_usuario   = Item.AUDI_UsrMod;
                    getDocsVta(ref Item);
                    if (Item.ItemCtaCte != null)
                    {
                        getCtaCte(ref Item);
                        Item.ItemCtaCte.AUDI_UsrMod    = x_usuario;
                        Item.ItemDetCtaCte.AUDI_UsrMod = x_usuario;
                    }
                    Item.ItemDetCtaCteFactura.AUDI_UsrMod = x_usuario;
                    if (Item.ItemDetCtaCteFactura.Instance != Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added)
                    {
                        Item.ItemDetCtaCteFactura.Instance = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified;
                    }
                    break;

                case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted:
                    m_isCorrect = Delete(ref Item); break;
                }
                /* CtaCte */
                Entities.CtaCte _itemCtaCte = Item.ItemCtaCte;
                if (_itemCtaCte != null && BL_CtaCte.Save(ref _itemCtaCte))
                {
                    Entities.DetCtaCte _itemDetCtaCte = Item.ItemDetCtaCte;
                    _itemDetCtaCte.CCCT_Codigo         = _itemCtaCte.CCCT_Codigo;
                    _itemDetCtaCte.DCCT_MontoDebe      = 0;
                    _itemDetCtaCte.DCCT_MontoDebeD     = 0;
                    _itemDetCtaCte.DCCT_MontoHaber     = Item.DOCV_ValorVtaTotal;
                    _itemDetCtaCte.DCCT_MontoHaberD    = Item.DOCV_ValorVtaTotalD;
                    _itemDetCtaCte.CONS_TabTDC         = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte();
                    _itemDetCtaCte.CONS_CodTDC         = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte(Infrastructure.Aspect.Constants.TTipoMovimientoDetCtaCte.Provision);
                    _itemDetCtaCte.DCCT_TipoCambio     = Item.DOCV_TipoCambio;
                    _itemDetCtaCte.TIPO_CodMND         = Item.TIPO_CodMND;
                    _itemDetCtaCte.TIPO_TabMND         = Item.TIPO_TabMND;
                    _itemDetCtaCte.DCCT_FechaTrans     = Item.DOCV_FechaEmision.Value;
                    _itemDetCtaCte.CCCT_CodReferencia  = null;
                    _itemDetCtaCte.DCCT_ItemReferencia = null;

                    m_isCorrect        = BL_DetCtaCte.Save(ref _itemDetCtaCte);
                    Item.ItemDetCtaCte = _itemDetCtaCte;
                }

                /* Canjes en la Factura *
                 *
                 * if (m_isCorrect && Item.ItemDetCtaCteFactura.CCCT_Pendiente.HasValue && Item.ItemDetCtaCteFactura.CCCT_Pendiente > 0 && Item.ItemDetCtaCte != null)
                 * {
                 * Entities.DetCtaCte _itemDetCtaCte = Item.ItemDetCtaCteFactura;
                 * _itemDetCtaCte.DCCT_MontoDebe = 0;
                 * _itemDetCtaCte.DCCT_MontoDebeD = 0;
                 * _itemDetCtaCte.DCCT_MontoHaber = Item.DOCV_ValorVtaTotal;
                 * _itemDetCtaCte.DCCT_MontoHaberD = Item.DOCV_ValorVtaTotalD;
                 * _itemDetCtaCte.CONS_TabTDC = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte();
                 * _itemDetCtaCte.CONS_CodTDC = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte(Infrastructure.Aspect.Constants.TTipoMovimientoDetCtaCte.Canje);
                 * _itemDetCtaCte.DCCT_TipoCambio = Item.DOCV_TipoCambio;
                 * _itemDetCtaCte.TIPO_CodMND = Item.TIPO_CodMND;
                 * _itemDetCtaCte.TIPO_TabMND = Item.TIPO_TabMND;
                 * _itemDetCtaCte.DCCT_FechaTrans = Item.DOCV_FechaEmision.Value;
                 * _itemDetCtaCte.CCCT_CodReferencia = Item.ItemCtaCte.CCCT_Codigo;
                 * _itemDetCtaCte.AUDI_UsrCrea = x_usuario;
                 *
                 * m_isCorrect = BL_DetCtaCte.Save(ref _itemDetCtaCte);
                 * Item.ItemDetCtaCteFactura = _itemDetCtaCte;
                 * }
                 *
                 * if (m_isCorrect && Item.ItemDetCtaCteFactura.CCCT_Pendiente.HasValue && Item.ItemDetCtaCteFactura.CCCT_Pendiente > 0 && Item.ItemDetCtaCte!= null)
                 * {
                 * Entities.DetCtaCte _itemDetCtaCte = Item.ItemDetCtaCte;
                 * _itemDetCtaCte.DCCT_MontoDebe = Item.DOCV_ValorVtaTotal;
                 * _itemDetCtaCte.DCCT_MontoDebeD = Item.DOCV_ValorVtaTotalD;
                 * _itemDetCtaCte.DCCT_MontoHaber = 0;
                 * _itemDetCtaCte.DCCT_MontoHaberD = 0;
                 * _itemDetCtaCte.CONS_TabTDC = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte();
                 * _itemDetCtaCte.CONS_CodTDC = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte(Infrastructure.Aspect.Constants.TTipoMovimientoDetCtaCte.Canje);
                 * _itemDetCtaCte.DCCT_TipoCambio = Item.DOCV_TipoCambio;
                 * _itemDetCtaCte.TIPO_CodMND = Item.TIPO_CodMND;
                 * _itemDetCtaCte.TIPO_TabMND = Item.TIPO_TabMND;
                 * _itemDetCtaCte.CCCT_CodReferencia = Item.ItemDetCtaCteFactura.CCCT_Codigo;
                 * _itemDetCtaCte.DCCT_ItemReferencia = Item.ItemDetCtaCteFactura.DCCT_Item;
                 * _itemDetCtaCte.DCCT_FechaTrans = Item.DOCV_FechaEmision.Value;
                 * _itemDetCtaCte.AUDI_UsrCrea = x_usuario;
                 *
                 * m_isCorrect = BL_DetCtaCte.Save(ref _itemDetCtaCte, DetCtaCte.TInterfazDetCtaCte.Canje);
                 * }
                 */
                if (m_isCorrect)
                {
                    Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DACommitTransaction();
                }
                else
                {
                    Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction();
                }
                return(m_isCorrect);
            }
            catch (Exception)
            { Infrastructure.Aspect.DataAccess.DataAccessEnterpriseSQL.DARollbackTransaction(); throw; }
        }
Ejemplo n.º 2
0
        private Boolean GuardarDescuadre(ref Movimiento Item, String x_Usuario)
        {
            try
            {
                if (Item.TieneDescuadre && Item.GeneraCtaCte)
                {
                    /*
                     * Completar las propiedades correspondientes para guardar el Registro en la Base de Datos
                     */
                    CtaCte ItemCtaCteDescuadre = Item.ItemCtaCteDescuadre;
                    ItemCtaCteDescuadre.EMPR_Codigo = Item.EMPR_Codigo;
                    ItemCtaCteDescuadre.SUCR_Codigo = Item.SUCR_Codigo;
                    ItemCtaCteDescuadre.TIPE_Codigo = Item.TIPE_Codigo;
                    ItemCtaCteDescuadre.ENTC_Codigo = Item.ENTC_Codigo;
                    //ItemCtaCteDescuadre.TIPO_CodTDO = TIPO_CodTDO;
                    //ItemCtaCteDescuadre.TIPO_TabTDO = TIPO_TabTDO;
                    ItemCtaCteDescuadre.TIPO_TabMND = Item.ItemCuentasBancarias.TIPO_TabMND;
                    ItemCtaCteDescuadre.TIPO_CodMND = Item.ItemCuentasBancarias.TIPO_CodMND;
                    //ItemCtaCteDescuadre.CCCT_Serie = TIPO_CodTDO;
                    //ItemCtaCteDescuadre.CCCT_Numero
                    ItemCtaCteDescuadre.CCCT_TipoCambio = Item.MOVI_TipoCambio;
                    ItemCtaCteDescuadre.CCCT_ValVta     = Item.MOVI_MontoDescuadre;
                    ItemCtaCteDescuadre.CCCT_Imp1       = 0;
                    ItemCtaCteDescuadre.CCCT_Monto      = Item.MOVI_MontoDescuadre;
                    ItemCtaCteDescuadre.AUDI_UsrCrea    = x_Usuario;

                    ItemCtaCteDescuadre.CCCT_Monto  = Item.MOVI_MontoDescuadre;
                    ItemCtaCteDescuadre.MOVI_Codigo = Item.MOVI_Codigo;
                    ItemCtaCteDescuadre.TIPO_TabDES = Item.TIPO_TabDES;
                    ItemCtaCteDescuadre.TIPO_CodDES = Item.TIPO_CodDES;

                    if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido)))
                    {
                        ItemCtaCteDescuadre.Diferido = true;
                    }
                    else
                    {
                        ItemCtaCteDescuadre.Diferido = false;
                    }

                    if (BL_CtaCte.Save(ref ItemCtaCteDescuadre, CtaCte.TInterfazCtaCte.RegistroDescuadre))
                    {
                        Item.ItemCtaCteDescuadre = ItemCtaCteDescuadre;
                        return(true);
                    }
                }
                else
                {
                    if (Item.ItemCtaCteDescuadre != null && Item.ItemCtaCteDescuadre.CCCT_Codigo > 0)
                    {
                        Item.ItemCtaCteDescuadre.Instance = InstanceEntity.Deleted;
                        Entities.CtaCte ItemCtaCteDescuadre = Item.ItemCtaCteDescuadre;
                        if (BL_CtaCte.Save(ref ItemCtaCteDescuadre, CtaCte.TInterfazCtaCte.RegistroDescuadre))
                        {
                            return(true);
                        }
                    }
                    return(true);
                }
                return(false);
            }
            catch (Exception)
            { throw; }
        }