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)); } }
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); }
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); }
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); }