public async Task <Invoice> ChangeInvoiceStatus(ChangeInvoiceStatusRequest request) { var invoice = await _unitOfWork.GetRepository <Invoice>().FindAsync(x => x.Id == request.Id); invoice.Status = request.Status; if (request.Status == 2) { var card = await _unitOfWork.GetRepository <Card>().FindAsync(x => x.PatientId == invoice.PatientId && x.Status == 1); if (card != null) { card.Money = card.Money - invoice.Cost; _unitOfWork.GetRepository <Card>().Update(card); } } _unitOfWork.GetRepository <Invoice>().Update(invoice); await _unitOfWork.CommitAsync(); return(invoice); }
public async Task <IActionResult> ChangeInvoiceStatus(ChangeInvoiceStatusRequest request) { var response = await _shiftService.ChangeInvoiceStatus(request); return(Ok(new ApiOkResponse(response))); }