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