Пример #1
0
        public async Task <Invoice> AddInvoice(AddInvoiceDto dto)
        {
            Order order = await _orderRepository.GetAsync(o => o.OrderNo == dto.OrderNo.Trim());

            Guard.Against.OrderNotFound(order, dto.OrderNo);
            Guard.Against.OrderStatus <OrderNotNeedInvoiceException>(true, order.NeedInvoice);

            return(await _invoiceService.AddInvoice(order.Id, dto.InvoiceCode, dto.InvoiceNo, dto.Drawer, dto.IsRed, dto.Remark));
        }
Пример #2
0
 public async Task AddInvoice_Should_Success(AddInvoiceDto dto)
 {
     _invoiceServiceMock.Setup(s => s.AddInvoice(Guid.NewGuid(), "", "", "", false, ""))
     .ReturnsAsync(new Invoice("", "", "", Guid.NewGuid(), Guid.NewGuid(), false, "", new List <InvoiceItem> {
     }));
     _orderRepository.Setup(s => s.GetAsync(It.IsAny <Expression <Func <Order, bool> > >(), It.IsAny <Expression <Func <Order, object> > >()))
     .ReturnsAsync(new Order("", Guid.NewGuid(), true, null));
     await _invoiceViewService.AddInvoice(dto);
 }
Пример #3
0
        public async Task <int> Add(AddInvoiceDto addInvoiceDto)
        {
            var invoice = new Invoice
            {
                CustomerName  = addInvoiceDto.CustomerName,
                InvoiceNumber = addInvoiceDto.InvoiceNumber,
            };

            await ThrowExceptionIfInvoiceNumberIsAlreadyExists(addInvoiceDto.InvoiceNumber);

            _repository.Add(invoice);
            await _unitOfWork.CompleteAsync();

            return(invoice.Id);
        }
Пример #4
0
        public async Task <IActionResult> AddInvoice(AddInvoiceDto dto)
        {
            Invoice invoice = await _invoiceViewService.AddInvoice(dto);

            return(CreatedAtAction(nameof(AddInvoice), new { id = invoice.Id }, invoice));
        }
Пример #5
0
 public async Task <int> Add(AddInvoiceDto addInvoiceDto)
 {
     return(await _service.Add(addInvoiceDto));
 }