Beispiel #1
0
        /// <summary>
        /// Metodo utilizado para el Movimiento de tipo Ingresos y Egresos
        /// </summary>
        /// <param name="EMPR_Codigo">Código de Empresa</param>
        /// <param name="MOVI_Codigo">Código del Movimiento consultado</param>
        /// <returns></returns>
        public Movimiento GetOne(Int16 EMPR_Codigo, Int32 MOVI_Codigo)
        {
            try
            {
                if (EMPR_Codigo == null || MOVI_Codigo == null)
                {
                    return(null);
                }
                Entities.Movimiento _movimiento = SelectOne(EMPR_Codigo, MOVI_Codigo);
                if (_movimiento != null)
                {
                    ObservableCollection <Infrastructure.Aspect.DataAccess.DataAccessFilterSQL> listFilters = new ObservableCollection <Infrastructure.Aspect.DataAccess.DataAccessFilterSQL>();
                    listFilters.Add(new Infrastructure.Aspect.DataAccess.DataAccessFilterSQL()
                    {
                        FilterName = "@psinEMPR_Codigo", FilterValue = EMPR_Codigo, FilterType = Infrastructure.Aspect.DataAccess.DataAccessFilterTypes.Int16, FilterSize = 2
                    });
                    listFilters.Add(new Infrastructure.Aspect.DataAccess.DataAccessFilterSQL()
                    {
                        FilterName = "@pintMOVI_Codigo", FilterValue = MOVI_Codigo, FilterType = Infrastructure.Aspect.DataAccess.DataAccessFilterTypes.Int32, FilterSize = 4
                    });

                    if (_movimiento.TMovimiento.Equals("I"))
                    {
                        _movimiento.ListDetCtaCte = BL_DetCtaCte.GetAllFilter("CAJ_DCCTSS_TodosPorMovimiento", listFilters);
                    }
                    else if (_movimiento.TMovimiento.Equals("E"))
                    {
                        _movimiento.ListDetCtaCte = BL_DetCtaCte.GetAllFilter("CAJ_DCCTSS_TodosPorMovimiento", listFilters);
                        _movimiento.ItemPlanillas = GetOnePlanilla(_movimiento.EMPR_Codigo, _movimiento.PLAN_Tipo, _movimiento.PLAN_Codigo);
                    }

                    if (_movimiento.TieneDescuadre)
                    {
                        ObservableCollection <Entities.CtaCte> Lctacte = BL_CtaCte.GetAllFilter("CAJ_CCCTSS_UnRegPorDescuadre", listFilters);
                        if (Lctacte != null && Lctacte.Count > 0)
                        {
                            _movimiento.ItemCtaCteDescuadre = Lctacte[0];
                        }
                        else
                        {
                            _movimiento.ItemCtaCteDescuadre = new CtaCte(); _movimiento.ItemCtaCteDescuadre.Instance = InstanceEntity.Added;
                        }
                    }
                    _movimiento.ListFlujos           = BL_MovimientoFlujo.GetAllFilter("CAJ_MFLUSS_UnReg", listFilters);
                    _movimiento.ListFlujosEliminados = new ObservableCollection <MovimientoFlujo>();

                    _movimiento.ListConciliacion = BL_Conciliacion.GetAllFilter("CAJ_MOVISS_TodosConciliados", listFilters);

                    _movimiento.ListTipificaciones           = BL_Tipificaciones.GetAllFilter("CAJ_TIPDSS_TodosPorMovimiento", listFilters);
                    _movimiento.ListTipificacionesEliminados = new ObservableCollection <Tipificaciones>();

                    return(_movimiento);
                }
                return(null);
            }
            catch (Exception)
            { throw; }
        }
        public Boolean SaveConciliacion(ref ObservableCollection <Movimiento> Items)
        {
            try
            {
                DataAccessEnterpriseSQL.DABeginTransaction();
                Boolean m_isCorrect = true;
                for (int i = 0; i < Items.Count; i++)
                {
                    Movimiento Item = Items.ElementAt(i);
                    //m_isCorrect = UpdateConciliacion(ref Item);
                    if (Item.Seleccionar)
                    {
                        if (Item.ItemConciliacion.CONC_Codigo == null)
                        {
                            Item.ItemConciliacion.AUDI_UsrCrea = Item.AUDI_UsrCrea;
                            Item.ItemConciliacion.Instance     = InstanceEntity.Added;
                        }
                        else
                        {
                            Item.ItemConciliacion.AUDI_UsrMod = Item.AUDI_UsrCrea;
                            Item.ItemConciliacion.Instance    = InstanceEntity.Modified;
                        }
                    }
                    else
                    {
                        Item.ItemConciliacion.Instance = InstanceEntity.Deleted;
                    }

                    Entities.Conciliacion _conciliacion = Item.ItemConciliacion;

                    m_isCorrect = BL_Conciliacion.Save(ref _conciliacion);

                    if (!m_isCorrect)
                    {
                        throw new Exception(String.Format("No se completo la operación , el registro con rno. operación {0} tiene errores", Item.MOVI_NroOperacion));
                    }
                }
                if (m_isCorrect)
                {
                    DataAccessEnterpriseSQL.DACommitTransaction();
                }
                else
                {
                    DataAccessEnterpriseSQL.DARollbackTransaction();
                }
                return(m_isCorrect);
            }
            catch (Exception)
            {
                DataAccessEnterpriseSQL.DARollbackTransaction();
                throw;
            }
        }