public async Task <Guid> Create(InvoiceRequest request) { var invoice = InvoiceAggregate.Create(request.ContractId, request.DateEnd, request.DateStart); var sheetsToInclude = await _invoiceAggregateRepo .GetSheets(request.ContractId, request.DateStart, request.DateEnd); invoice.IncludeSheets(sheetsToInclude); await _invoiceRepo.Add(invoice); return(invoice.Id); }
public async Task <Guid> Create(InvoiceCreateRequest request) { //Создаем новую сущность счета var invoice = InvoiceAggregate.CreateFromRequest(request); //Устанавливаем список карточек связанных со счетом и рассчитываем сумму var sheets = await _invoiceRepo.GetSheets( request.ContractId, request.DateStart, request.DateEnd); //Добавляем карточки к счету и рассчитываем сумму оплаты invoice.IncludeSheets(sheets); //Закидываем новый счет в базу await _invoiceRepo.Add(invoice); return(invoice.Id); }