Exemplo n.º 1
0
 public IHttpActionResult ListPaginado(int numeroPagina, int cantidadRegistros, string fechaDesde, string fechaHasta, int idUsuario, int idCliente, string tipoListado)
 {
     try
     {
         ServiciosVentas    servicio = new ServiciosVentas();
         DocumentoVentaList resp     = servicio.DocumentosVentasListar(numeroPagina, cantidadRegistros, fechaDesde, fechaHasta, idUsuario, idCliente, tipoListado.ConvertirIntNulleable());
         if (resp == null)
         {
             return(NotFound());
         }
         return(Ok(resp));
     }
     catch (Exception ex)
     {
         LoggerHelper.LogError(MethodBase.GetCurrentMethod(), ex);
         return(BadRequest(ex.GetExceptionOriginal().Message));
     }
 }
Exemplo n.º 2
0
        public void DocumentoVentaAplicarRecibo(int idVenta)
        {
            VentaRepository repository = new VentaRepository();
            DocumentoVenta  recibo     = repository.Obtener(idVenta);

            DocumentoVentaList comprobantesPendientes = repository.ListarVentas(-1, -1, null, null, -1, recibo.Cliente.Id, 1);

            comprobantesPendientes.DocumentosVenta.ForEach(delegate(DocumentoVenta docNP)
            {
                if (recibo.Pendiente >= 0)
                {
                    recibo.Pendiente = recibo.Pendiente - docNP.Pendiente;

                    docNP.Pendiente = recibo.Pendiente >= 0 ? 0 : docNP.Pendiente - recibo.Pendiente;
                    repository.Actualizar(docNP);
                }
            });
            repository.Actualizar(recibo);
        }
Exemplo n.º 3
0
        public List <ItemListado> ObtenerCtaCteCliente(string fechaDesde, string fechaHasta, int idCliente, decimal saldoInicial)
        {
            DocumentoVentaList listadoVentas = this.DocumentosVentasListar(-1, -1, fechaDesde, fechaHasta, -1, idCliente, null);

            decimal saldo = saldoInicial;

            List <ItemListado> listado = new List <ItemListado>();

            listado.Add(new ItemListado()
            {
                Campo1 = "",
                Campo2 = "Saldo Inicial",
                Campo3 = "",
                Campo4 = "",
                Campo5 = "",
                Campo6 = string.Format("{0:0.00}", saldo)
            });

            decimal debe  = 0;
            decimal haber = 0;

            listadoVentas.DocumentosVenta.ForEach(delegate(DocumentoVenta dv)
            {
                debe  = dv.TipoComprobante.EsDebe ? dv.Total : 0;
                haber = !dv.TipoComprobante.EsDebe ? dv.Total : 0;
                saldo = saldo + debe - haber;

                listado.Add(new ItemListado()
                {
                    Campo1 = string.Format("{0:dd/MM/yyy}", dv.Fecha),
                    Campo2 = string.Format("{0} {1}", dv.TipoComprobante.Descripcion, string.Format("{0:00000}", dv.Numero)),
                    Campo3 = string.Format("{0:00000}", dv.NumeroPedido),
                    Campo4 = dv.TipoComprobante.EsDebe ? string.Format("{0:#,##0.00}", debe) : string.Empty,
                    Campo5 = !dv.TipoComprobante.EsDebe ? string.Format("{0:#,##0.00}", haber) : string.Empty,
                    Campo6 = string.Format("{0:#,##0.00}", saldo)
                });
            });

            return(listado);
        }
Exemplo n.º 4
0
        public DocumentoVentaList ListarVentas(int numeroPagina, int cantidadRegistros, DateTime?fechaDesde, DateTime?fechaHasta, int?idUsuario, int?idCliente, int?tipoListado)
        {
            ISession session = NHibernateSessionSingleton.GetSession();

            ICriteria criteriaTotalFilas = session.CreateCriteria(typeof(DocumentoVenta));

            if (fechaDesde.HasValue && fechaHasta.HasValue)
            {
                criteriaTotalFilas.Add(Expression.Between("Fecha", fechaDesde.Value, fechaHasta.Value));
            }

            if (idUsuario.HasValue && idUsuario.Value > 0)
            {
                criteriaTotalFilas.Add(Expression.Eq("Usuario.Id", idUsuario));
            }

            if (idCliente.HasValue && idCliente.Value > 0)
            {
                criteriaTotalFilas.Add(Expression.Eq("Cliente.Id", idCliente));
            }


            if (tipoListado.HasValue && tipoListado.Value == 3)
            {
                //Comprobantes Anulados
                criteriaTotalFilas.Add(Expression.Eq("Anulado", true));
            }
            else
            {
                //para el resto de los listados siempre se excluyen los anulados
                criteriaTotalFilas.Add(Expression.Eq("Anulado", false));
            }

            decimal valorPendiente = 0;

            if (tipoListado.HasValue)
            {
                switch (tipoListado.Value)
                {
                case 1:
                    //Comprobantes Pendientes
                    criteriaTotalFilas.Add(Expression.Gt("Pendiente", valorPendiente));
                    break;

                case 2:
                    //Listado de Cobranzas
                    criteriaTotalFilas.Add(Expression.Gt("TipoComprobante.Id", (int)TIPOS_COMPROBANTE.RECIBO_));
                    break;
                }
            }

            var total = criteriaTotalFilas.SetProjection(Projections.RowCount()).FutureValue <int>();


            ICriteria criteria = session.CreateCriteria(typeof(DocumentoVenta));

            if (fechaDesde.HasValue && fechaHasta.HasValue)
            {
                criteria.Add(Expression.Between("Fecha", fechaDesde.Value, fechaHasta.Value));
            }

            if (idUsuario.HasValue && idUsuario.Value > 0)
            {
                criteria.Add(Expression.Eq("Usuario.Id", idUsuario));
            }

            if (idCliente.HasValue && idCliente.Value > 0)
            {
                criteria.Add(Expression.Eq("Cliente.Id", idCliente));
            }

            if (tipoListado.HasValue && tipoListado.Value == 3)
            {
                //Comprobantes Anulados
                criteria.Add(Expression.Eq("Anulado", true));
            }
            else
            {
                //para el resto de los listados siempre se excluyen los anulados
                criteria.Add(Expression.Eq("Anulado", false));
            }

            if (tipoListado.HasValue)
            {
                switch (tipoListado.Value)
                {
                case 1:
                    //Comprobantes Pendientes
                    criteria.Add(Expression.Gt("Pendiente", valorPendiente));
                    break;

                case 2:
                    //Listado de Cobranzas
                    criteria.Add(Expression.Gt("TipoComprobante.Id", (int)TIPOS_COMPROBANTE.RECIBO_));
                    break;
                }
            }

            if (numeroPagina > -1 && cantidadRegistros > -1)
            {
                criteria.SetMaxResults(cantidadRegistros);
                criteria.SetFirstResult((numeroPagina - 1) * cantidadRegistros);
            }

            criteria.AddOrder(new Order("Fecha", true));

            DocumentoVentaList listReturn = new DocumentoVentaList();

            listReturn.TotalFilas      = total.Value.ConvertirInt();
            listReturn.DocumentosVenta = criteria.List <DocumentoVenta>().ToList <DocumentoVenta>();
            return(listReturn);
        }