public async Task <List <ObtenerFacturasDto> > ObtenerTodasFacturas()
        {
            var listaFacturas    = _context.Set <Factura>().ToList();
            var listaFacturasDto = new List <ObtenerFacturasDto>();

            foreach (var factura in listaFacturas)
            {
                var cliente = await _clientesAccesoBd.ObtenerClientePorId(factura.ClientesId);

                var solicitud = await _solicitudesAccesoBd.ObtenerSolicitudPorId(factura.SolicitudesId);

                var facturaDto = new ObtenerFacturasDto
                {
                    Id = factura.Id,

                    Nombre         = cliente.Nombres,
                    Habitacion     = cliente.Habitacion,
                    Identificacion = cliente.Identificacion,

                    SuplementoEntrega = solicitud.SuplementoEntrega,
                    Fecha             = solicitud.Fecha,

                    Doblado      = factura.Doblado,
                    Estado       = factura.Estado,
                    Suplemento   = factura.Suplemento,
                    TotalGlobal  = factura.TotalGlobal,
                    TotalParcial = factura.TotalParcial
                };
                listaFacturasDto.Add(facturaDto);
            }
            return(await Task.FromResult(listaFacturasDto));
        }
        public async Task <List <ClienteDto> > ObtenerTodosClientes()
        {
            var listaClientes = new List <ClienteDto>();
            var clientes      = _context.Set <Clientes>().ToList();

            foreach (var cliente in clientes)
            {
                var clienteDto = new ClienteDto
                {
                    Id             = cliente.Id,
                    Habitacion     = cliente.Habitacion,
                    Identificacion = cliente.Identificacion,
                    Nombres        = cliente.Nombres
                };
                listaClientes.Add(clienteDto);
            }
            return(await Task.FromResult(listaClientes));
        }
        public async Task <List <PrendaClasificacionDto> > ObtenerTodasPrendasConClasificacion()
        {
            var listaPrendasClasificacionDto = new List <PrendaClasificacionDto>();
            var listaPrendasClasificacion    = _context.Set <PrendasClasificacion>().ToList();

            foreach (var prendaClasificacion in listaPrendasClasificacion)
            {
                var prendaClasificacionDto = await ObtenerPrendaClasificacionDto(prendaClasificacion.Id, prendaClasificacion.PrendasId, prendaClasificacion.ClasificacionId);

                listaPrendasClasificacionDto.Add(prendaClasificacionDto);
            }
            return(listaPrendasClasificacionDto);
        }
        public async Task GuardarSolicitud(GuardarSolicitudDto solicitud)
        {
            var solicitudEntidad = new Solicitudes
            {
                ClienteId         = solicitud.ClientesId,
                Estado            = EstadosSolicitudes.SolicitudSolicitada,
                Fecha             = DateTime.Now,
                SuplementoEntrega = solicitud.SuplementoEntrega
            };

            _context.Set <Solicitudes>().Add(solicitudEntidad);
            await _context.SaveChangesAsync();
        }
        public async Task <IQueryable <Solicitudes> > EncontrarSolicitudes(Expression <Func <Solicitudes, bool> > expresion)
        {
            IQueryable <Solicitudes> query = _context.Set <Solicitudes>().Where(expresion);

            return(await Task.FromResult(query));
        }