Exemple #1
0
        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);
        }
Exemple #2
0
        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()));
        }
Exemple #6
0
        public ValueTask AddInvoice(AddInvoiceRequest request)
        {
            Console.WriteLine($"Added invoice for {request.CustomerId} for amount {request.Amount}");

            return(new ValueTask(Task.CompletedTask));
        }