Exemple #1
0
        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);
        }