public Response <long> AddInvoice(AddInvoiceRequest request) { Response <long> response = new Response <long>(); if (request == null || request.SettledPods == null || request.Invoice == null) { ArgumentNullException ex = new ArgumentNullException("AddInvoice request"); LogError(ex); response.ErrorCode = ErrorCode.Argument; response.Exception = ex; return(response); } try { InvoiceAccessor accessor = new InvoiceAccessor(); response.Result = accessor.AddInvoice(request.SettledPods, request.Invoice); response.IsSuccess = true; } catch (Exception ex) { LogError(ex); response.IsSuccess = false; response.Exception = ex; response.ErrorCode = ErrorCode.Technical; } return(response); }
public async Task <IActionResult> Add([FromBody] AddInvoiceRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var response = await _invoiceService.AddAsync(request); if (!response.IsValid) { return(BadRequest(response.Message)); } return(Ok(response)); }
public async Task <IHttpActionResult> Add(AddInvoiceRequest request) { try { if (request.Amount <= 0) { return(BadRequest()); } var invoice = new Invoice { Id = Guid.NewGuid(), ClientId = request.ClientId, OrderId = request.OrderId, Description = request.Description, Amount = request.Amount }; var id = await _repository.Add(invoice); if (id == Guid.Empty) { return(BadRequest()); } invoice = await _repository.Get <Invoice>(id); var response = new AddInvoiceResponse { Result = invoice }; return(Ok(response)); } catch (Exception) { // TODO: Log exception } return(InternalServerError()); }
public void PrepareAddInvoiceRequest() { if (GetClientResponse == null) { GetClient(); } if (GetOrderResponse == null) { GetOrder(); } var amount = new RandomHelper().NextDecimal(0, int.MaxValue) + 0.1M; AddInvoiceRequest = new AddInvoiceRequest { ClientId = GetClientResponse.Result.Id, OrderId = GetOrderResponse.Result.Id, Description = $"New invoice from order {GetOrderResponse.Result.Id} {DateTime.Now.ToLongDateString()}", Amount = GetOrderResponse.Result.Amount }; }
public override Task <AddInvoiceResponse> AddInvoice(AddInvoiceRequest request, ServerCallContext context) { Console.WriteLine($"Added invoice for {request.CustomerId} for amount {request.Amount}"); return(Task.FromResult(new AddInvoiceResponse())); }
public ValueTask AddInvoice(AddInvoiceRequest request) { Console.WriteLine($"Added invoice for {request.CustomerId} for amount {request.Amount}"); return(new ValueTask(Task.CompletedTask)); }