예제 #1
0
 public ServicioGenerico<DetalleReservaEntity> getDetalleReserva(int tipo)
 {
     ServicioGenerico<DetalleReservaEntity> servicio;
     switch (tipo)
     {
         case Util.ACCESS: servicio = new DetalleReservaAccess(); break;
         case Util.SQL: servicio = new DetalleReservaSQL(); break;
         default: servicio = null; break;
     }
     return servicio;
 }
예제 #2
0
        public List<DetalleReservaEntity> ListarPorReserva(int codigo)
        {
            // List<DetalleReservaEntity> listaDetalle = servicioDetalle.ListarTodos().Where(tx => tx.CodigoReserva == codigo).ToList();
            List<DetalleReservaEntity> listaDetalle = new DetalleReservaAccess().ListarPorReserva(codigo);
            List<FiestaEntity> listaFiesta = servicioFiesta.ListarTodos();
            ReservaEntity objReserva = servicioReserva.Consultar(codigo);

            var query = from detalle in listaDetalle
                        join fiesta in listaFiesta
                        on detalle.CodigoFiesta equals fiesta.Codigo
                        select new { Codigo = detalle.Codigo, Fiesta = fiesta.Nombre };

            List<DetalleReservaEntity> listaCompuesta = new List<DetalleReservaEntity>();
            foreach (var resultado in query)
            {
                DetalleReservaEntity objDetalle = new DetalleReservaEntity();
                objDetalle.Codigo = resultado.Codigo;
                objDetalle.NombreFiesta = resultado.Fiesta;
                listaCompuesta.Add(objDetalle);
            }

            List<AsignacionEntity> lista = servicioAsignacion.ListarFecha(objReserva.FechaCelebracion,objReserva.FechaCelebracion);

            var cantidad = lista.GroupBy(tx=>tx.CodigoDetalle)
                                          .Select(gp=>new {Detalle = gp.Key,Cuenta = gp.Count()})
                                          .OrderBy(x=>x.Detalle);

            var query2 = from det in listaCompuesta
                         from can in cantidad.Where(ca=>det.Codigo == ca.Detalle).DefaultIfEmpty()
                         select new { Detalle = det, Cantidad = can };

            List<DetalleReservaEntity> listaFinal = new List<DetalleReservaEntity>();
            foreach (var result in query2)
            {
                DetalleReservaEntity obj = new DetalleReservaEntity();
                obj.Codigo = result.Detalle.Codigo;
                obj.NombreFiesta = result.Detalle.NombreFiesta;
                if (result.Cantidad == null)
                {
                    obj.CantidadAsignados = 0;
                }
                else
                {
                    obj.CantidadAsignados = result.Cantidad.Cuenta;
                }
                listaFinal.Add(obj);
            }

            return listaFinal;
        }
예제 #3
0
 public List<ReporteFacturacion> ListarFacturacion(DateTime fechaInicio, DateTime fechaFin)
 {
     DetalleReservaAccess objDetalle = new DetalleReservaAccess();
     return objDetalle.ListarFacturacion(fechaInicio.Date, fechaFin.Date);
 }