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)); }
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); }
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); }
public async Task <IActionResult> AddInvoice(AddInvoiceDto dto) { Invoice invoice = await _invoiceViewService.AddInvoice(dto); return(CreatedAtAction(nameof(AddInvoice), new { id = invoice.Id }, invoice)); }
public async Task <int> Add(AddInvoiceDto addInvoiceDto) { return(await _service.Add(addInvoiceDto)); }