예제 #1
0
        public HttpResponseMessage AnularMovimiento()
        {
            try
            {
                var httpRequest = HttpContext.Current.Request;

                int nroMovimiento = Int32.Parse(httpRequest.Params["nroMovimiento"]);

                CtaMovimientos ctaMovimiento = ctaMovimientosService.GetByMovimientoNro(nroMovimiento);

                if (ctaCierresDePeriodosService.MovimientoEnPeriodoContableAbierto(ctaMovimiento))
                {
                    ctaMovimientosService.sp_cta_Anular_Movimiento(nroMovimiento);
                }
                else
                {
                    throw new ArgumentNullException("ctaMovimientos");
                }

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Accepted);
                return(response);
            }
            catch (ArgumentNullException ex)
            {
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.NotFound, ex.Message);
                return(response);
            }
            catch (Exception ex)
            {
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
                return(response);
            }
        }
예제 #2
0
        /// <summary>
        /// Obtiene ctaMovimientos por movimientoNro. No tracking.
        /// </summary>
        public CtaMovimientos GetByMovimientoNro(int movimientoNro)
        {
            context.Configuration.LazyLoadingEnabled = false;

            CtaMovimientos ctaMovimientos = context.CtaMovimientos.Where(m => m.MovimientoNro == movimientoNro).FirstOrDefault();

            return(ctaMovimientos);
        }
예제 #3
0
        /// <summary>
        /// Verifica si el movimiento pertenece a un periodo contable abierto.
        /// </summary>
        public bool MovimientoEnPeriodoContableAbierto(CtaMovimientos ctaMovimiento)
        {
            context.Configuration.LazyLoadingEnabled = false;

            CtaCierresDePeriodos ctaCierresDePeriodo = context.CtaCierresDePeriodos.OrderBy(vdp => vdp.FechaHasta).FirstOrDefault();

            if (ctaMovimiento.FechaComprobante > ctaCierresDePeriodo.FechaHasta)
            {
                return(true);
            }
            return(false);
        }
 /// <summary>
 /// Obtiene ctaMovimientos por movimientoNro. No tracking.
 /// </summary>
 public bool MovimientoEnPeriodoContableAbierto(CtaMovimientos ctaMovimiento)
 {
     return(ctaCierresDePeriodosDal.MovimientoEnPeriodoContableAbierto(ctaMovimiento));
 }