public async Task <bool> CanUpdateInvoice(ClaimsPrincipal claims, int id, InvoiceUpdateDto invoiceUpdateDto)
        {
            var businessId = await businessAuthorize.GetBusinessId(claims);

            // Tarkista että laskun omistaa oikea käyttäjä
            if (!await invoiceStore.OwnedByBusiness(businessId, id))
            {
                return(false);
            }

            // Tarkista että olemassaolevien laskurivien ID:t kuuluvat laskulle
            if (!await invoiceStore.InvoiceRowsBelongToInvoice(id,
                                                               invoiceUpdateDto.InvoiceRows
                                                               .Where(t => t.Id != null)
                                                               .Select(t => t.Id)
                                                               .Cast <int>()))
            {
                return(false);
            }

            // Tarkista että asiakkaan ID on yrityksen asiakkaan ID
            if (invoiceUpdateDto.ClientId != null &&
                !await clientsAuthorize.CanReadClient(claims, (int)invoiceUpdateDto.ClientId))
            {
                return(false);
            }

            return(true);
        }
        public async Task <bool> CanUpdateClient(ClaimsPrincipal claims, int id, ClientDto clientDto)
        {
            var businessId = await businessAuthorize.GetBusinessId(claims);

            return(await clientStore.OwnedByBusiness(businessId, id));
        }