Ejemplo n.º 1
0
        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)));
        }