예제 #1
0
        public async Task <Invoice> CreateInvoice(InvoiceRequest data)
        {
            var _invoice = new Invoice();

            var _products = data.lines.ToArray();

            foreach (Product p in _products)
            {
                if (p.currency.ToUpper() != "CRC")
                {
                    return(null);//new BadRequestObjectResult("Only local currency");
                }

                p.invoice_id = _invoice.invoice_id;
                var _subtotal       = (p.price * p.quantity);
                var _discount_total = (_subtotal * p.discount_rate / 100);
                var _tax_total      = ((_subtotal - _discount_total) * p.tax_rate / 100);

                _invoice.subtotal       = _invoice.subtotal + _subtotal;
                _invoice.tax_total      = _invoice.tax_total + _tax_total;
                _invoice.discount_total = _invoice.discount_total + _discount_total;
                _invoice.total          = _invoice.balance + ((_subtotal - _discount_total) + _tax_total);
                _invoice.balance        = _invoice.total;
            }
            data.client.invoice_id = _invoice.invoice_id;

            _context.Invoices.Add(_invoice);
            _context.Products.AddRange(_products);
            _context.Clients.Add(data.client);
            await _context.SaveChangesAsync();

            return(_invoice);
        }
예제 #2
0
        public async Task <InvoiceResponse> PushInvoiceToRDCBrains(InvoiceRequest request)
        {
            _handler = new MyHttpClientHandler.MyHandler();
            Client   = new HttpClient();
            var byteArray = Encoding.ASCII.GetBytes("ADDA:test");

            Client.BaseAddress = new Uri("http://35.185.72.232/");
            Client.DefaultRequestHeaders.Accept.Clear();
            //Client.DefaultRequestHeaders.Add("Content-Type", "application/json");
            Client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
            Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
            var response = new InvoiceResponse();
            var result   = await Client.PostAsJsonAsync("RDCWebServices/RDCPush.jsp", request);

            if (result.IsSuccessStatusCode)
            {
                var resultasstring = await result.Content.ReadAsStringAsync();

                response = JsonConvert.DeserializeObject <InvoiceResponse>(resultasstring);
            }
            else
            {
                response = DummyResponse();
            }
            return(response);
        }
        public async Task <IHttpActionResult> Post(InvoiceRequest request)
        {
            try
            {
                if (request == null)
                {
                    return(BadRequest());
                }
                InvoiceRepository _repository = new InvoiceRepository();
                InvoiceResponse   response    = await _repository.PushInvoiceToRDCBrains(request);

                if (response.statusCode == "0")
                {
                    Dictionary <string, string> jsonresponse = new Dictionary <string, string>();
                    jsonresponse["Bill Number"] = response.Bill_Number;
                    jsonresponse["freeFormRSN"] = response.freeFormRSN;
                    jsonresponse["peopleRSN"]   = response.peopleRSN;
                    jsonresponse["folderRSN"]   = response.folderRSN;
                    jsonresponse["statusCode"]  = response.statusCode;
                    jsonresponse["status"]      = response.status;
                    return(Created(Request.RequestUri, jsonresponse));
                }
                return(BadRequest());
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }
        public IActionResult Post([FromBody] InvoiceRequest request)
        {
            try
            {
                var invoice = createManager.Create(
                    date: DateTime.Now,
                    expirationDate: request.ExpirationDate,
                    totalReceived: request.TotalReceived,
                    customerId: request.CustomerId,
                    productInputs: request.Products);

                return(CreatedAtAction(
                           nameof(InvoicesGetController.GetById),
                           nameof(InvoicesGetController).Replace("Controller", ""),
                           new { invoiceId = invoice.Id },
                           invoice));
            }
            catch (ProductNotFound)
            {
                return(NotFound());
            }
            catch (CustomerNotFound)
            {
                return(NotFound());
            }
        }
        public CreateResponse Create(InvoiceRequest request)
        {
            var invoice = _mapper.Map <Invoice>(request);

            _invoiceRepository.Create(invoice);
            return(new CreateResponse(invoice.Id));
        }
예제 #6
0
        private void do_report(bool report)
        {
            //if (invoice == InvoiceType.AlımFaturası || invoice == InvoiceType.SatisFaturasi)
            //{
            //}
            //if (invoice == InvoiceType.SatisIrsaliye || invoice == InvoiceType.AlisIrsaliye)
            //{
            //}
            var req = new InvoiceRequest
            {
                InvoiceType = (int)invoice,
                BeginDate   = dt_BeginDate.DateTime,
                EndDate     = new DateTime(dt_EndDate.DateTime.Year, dt_EndDate.DateTime.Month, dt_EndDate.DateTime.Day, 23, 59, 00),
                DovizTuru   = Convert.ToInt32(dt_Currencies.EditValue)
            };

            invoiceList = _repository.Run <ReportService, List <InvoiceOwnerDTO> >(x => x.GetList_Invoice(req));

            if (invoiceList.Count > 0)
            {
                gridControl1.DataSource = invoiceList;
                if (report)
                {
                }
            }
            else
            {
                XtraMessageBox.Show("Kayıt Bulunamadı...", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        public IHttpActionResult UpdateInvoice([FromBody] InvoiceRequest request)
        {
            IEnumerable <string> headerValues = null;

            if (Request.Headers.TryGetValues(SECRET_KEY, out headerValues))
            {
                var value = headerValues.FirstOrDefault();

                if (String.Compare(value, SECRET_KEY) == 0 && request != null)
                {
                    var invoice = db.DbInvoice.FirstOrDefault(c => c.Id == request.Id);
                    if (invoice == null)
                    {
                        return(NotFound());
                    }
                    else
                    {
                        invoice.Name   = request.Name;
                        invoice.Status = request.Status;
                        db.SaveChanges();
                    }
                }
            }
            return(Ok());
        }
예제 #8
0
        public async Task <bool> PayInvoice(InvoiceRequest request)
        {
            string uri      = _configuration["proxy:urlInvoicePago"];
            var    response = await _httpClient.PostAsync(uri, request);

            response.EnsureSuccessStatusCode();
            return(true);
        }
예제 #9
0
 public List <InvoiceOwnerDTO> GetList_Invoice(InvoiceRequest request)
 {
     using (var _db = new MspDbContext())
     {
         List <InvoiceOwnerDTO> result = new List <InvoiceOwnerDTO>();
         result = base.Map <List <InvoiceOwner>, List <InvoiceOwnerDTO> >(_db.InvoiceOwner.Where(x => x.InvoiceType == request.InvoiceType && x.Deleted == false && x.FicDate >= request.BeginDate && x.FicDate <= request.EndDate && x.DovizTuru == request.DovizTuru).ToList());
         return(result);
     }
 }
예제 #10
0
        public bool Execute(Transaction request)
        {
            bool response = false;
            //#1. Pòlitica de CircuiBraker

            var circuitBrakerPolicy = Policy.Handle <Exception>()
                                      .CircuitBreaker(3, TimeSpan.FromSeconds(15),
                                                      onBreak: (ex, timeSpan, context) =>
            {
                Console.Write("El circuito entro en estado de falla");
            },
                                                      onReset: (context) =>
            {
                Console.Write("Circuito dejo estado de falla");
            });

            //#2 Pòlitica de reitentos
            var retry = Policy.Handle <Exception>()
                        .WaitAndRetryForever(attemp => TimeSpan.FromMilliseconds(300))
                        .Wrap(circuitBrakerPolicy);//Se antepone esta Politica de CircuiBraker.

            //#3 La ejecuciòn de Reitentos.
            retry.Execute(() =>
            {
                if (circuitBrakerPolicy.CircuitState == CircuitState.Closed)
                {
                    circuitBrakerPolicy.Execute(() =>
                    {
                        InvoiceRequest invoice = new InvoiceRequest()
                        {
                            IdInvoice = request.IdInvoice,
                            Amount    = request.Amount
                        };
                        response = PayInvoice(invoice).Result;
                        Console.WriteLine("Solicitud realizada con èxito");
                    });
                }//fin del IF


                if (circuitBrakerPolicy.CircuitState != CircuitState.Closed)
                {
                    Transaction transaction = new Transaction()
                    {
                        IdInvoice = request.IdInvoice,
                        Amount    = request.Amount,
                        Date      = DateTime.Now.ToString() + $"  CANCELADO"
                    };

                    response = ReverseInvoice(transaction);
                    response = false;
                    Console.WriteLine("Solicitud cancelada con èxito");
                }//fin del IF
            });//Fin Retry

            return(response);
        }
예제 #11
0
        public async Task <InvoiceResponse> PushInvoiceToRDCBrains(InvoiceRequest request)
        {
            _handler = new MyHttpClientHandler.MyHandler();
            Client   = new HttpClient();
            var byteArray = Encoding.ASCII.GetBytes("ADDA:test");

            Client.BaseAddress = new Uri("http://35.185.72.232/");
            Client.DefaultRequestHeaders.Accept.Clear();
            //Client.DefaultRequestHeaders.Add("Content-Type", "application/json");
            // Client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");
            Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
            var response = new InvoiceResponse();
            var json     = new JavaScriptSerializer().Serialize(request);
            //HttpRequestMessage requestss = new HttpRequestMessage(HttpMethod.Post, "RDCWebServices/RDCPush.jsp");
            //requestss.Content = new StringContent(json, Encoding.UTF8, "application/json");
            //var sss = Client.SendAsync(requestss).Result;
            //if (sss.IsSuccessStatusCode)
            //{
            //    var stringsd = sss.Content.ReadAsStringAsync();
            //}
            //HttpContent _Body = new StringContent(json);
            //// and add the header to this object instance
            //// optional: add a formatter option to it as well
            //_Body.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            //// synchronous request without the need for .ContinueWith() or await
            //HttpResponseMessage  asresponse = Client.PostAsync("RDCWebServices/RDCPush.jsp", _Body).Result;
            //if (asresponse.IsSuccessStatusCode)
            //{
            //    var resresultasstring = await asresponse.Content.ReadAsStringAsync();
            //}
            var result = await Client.PostAsJsonAsync("RDCWebServices/RDCPush.jsp", request);

            if (result.IsSuccessStatusCode)
            {
                var resultasstring = await result.Content.ReadAsStringAsync();

                //dynamic obj = JsonConvert.DeserializeObject<dynamic>(resultasstring);
                // object objs = resultasstring;
                //string responsestring = JsonConvert.DeserializeObject<string>(resultasstring);
                JObject s = JObject.Parse(resultasstring);
                response.Bill_Number = (string)s["Bill Number"];
                response.folderRSN   = (string)s["folderRSN"];
                response.freeFormRSN = (string)s["freeFormRSN"];
                response.peopleRSN   = (string)s["peopleRSN"];
                response.status      = (string)s["status"];
                response.statusCode  = (string)s["statusCode"];
                //  response = JsonConvert.DeserializeObject<InvoiceResponse>(resultasstring);
            }
            else
            {
                response = DummyResponse();
            }
            return(response);
        }
예제 #12
0
        public async Task <IActionResult> SaveInvoice([FromBody] InvoiceRequest request)
        {
            var isValid = await ValidateRequest();

            if ((isValid as OkResult)?.StatusCode != Ok().StatusCode)
            {
                return(isValid);
            }

            var entity = request?.CreateEntity();

            if (entity == null)
            {
                return(BadRequest());
            }
            entity.RowKey       = entity.InvoiceId;
            entity.PartitionKey = MerchantId;
            entity.MerchantId   = MerchantId;
            try
            {
                var resp = await _invoiceService.SaveInvoiceWithHttpMessagesAsync(entity);

                var result = resp.Body ?? false;
                if (!result)
                {
                    throw new DataException("Can't save invoice in Lykke Pay API");
                }
            }
            catch (Exception e)
            {
                await Log.WriteErrorAsync(nameof(InvoicesController), nameof(SaveInvoice), e);

                return(StatusCode(StatusCodes.Status500InternalServerError));
            }

            var context = new
            {
                entity.Transaction,
                entity.StartDate,
                entity.WalletAddress,
                entity.Status,
                entity.DueDate,
                entity.ClientUserId,
                entity.ClientId,
                entity.Currency,
                entity.Amount,
                entity.InvoiceNumber,
                entity.InvoiceId,
                MerchantId
            };
            await Log.WriteInfoAsync(nameof(InvoicesController), nameof(SaveInvoice), context.ToJson(), "Save new Invoce in system");

            return(Json(new InvoiceResponse(entity.Create(), _payApiSettings.LykkeInvoiceTemplate)));
        }
예제 #13
0
        public IList <InvoiceRequest> GenerateListInvoiceRequest(InvoiceRequest invoiceRequest, int number)
        {
            IList <InvoiceRequest> lstInvoice = new List <InvoiceRequest>();

            for (int i = 0; i < number; i++)
            {
                lstInvoice.Add(invoiceRequest);
            }

            return(lstInvoice);
        }
예제 #14
0
        // id po to, żeby nie zmieniać id modelu przy mapowaniu
        public async Task EditInvoice(InvoiceRequest invoiceRequest, long id)
        {
            var invoiceToEdit = await _dbContext.Set <Invoice>()
                                .Include(x => x.Items)
                                .Where(x => x.Id == id)
                                .FirstOrDefaultAsync();

            _mapper.Map(invoiceRequest, invoiceToEdit);

            await _dbContext.SaveChangesAsync();
        }
예제 #15
0
 public IActionResult InvoiceProducts([FromBody] InvoiceRequest invoiceRequest)
 {
     try
     {
         InvoiceProductsResponse response = productService.InvoiceProducts(invoiceRequest);
         return(StatusCode(200, response));
     }
     catch (Exception)
     {
         return(StatusCode(500, Constants.REQUEST_ERROR_MESSAGE));
     }
 }
예제 #16
0
        public VSDCRequestSubmitter()
        {
            InitializeComponent();

            txtVSDCAddress.Text = Properties.Settings.Default.VSDCTargetAddress;

            txtCertificateName.Text = Properties.Settings.Default.CertificateName;

            invoiceRequest = JsonConvert.DeserializeObject <InvoiceRequest>("{ \"IT\": \"Normal\", \"TT\": \"Sale\", \"PaymentType\": \"Cash\", \"PAC\": \"REPLACE WITH PAC CODE RECEIVED WITH POS PFX FILE!!!!\", \"Items\": [{\"Name\": \"Network Cable\", \"Quantity\": 1,\"UnitPrice\":100.87, \"Labels\":[\"A\"], \"TotalAmount\": 100.87 }]}");

            txtRequest.Text = JsonConvert.SerializeObject(invoiceRequest, Formatting.Indented);
        }
예제 #17
0
        public async Task <Guid> Create(InvoiceRequest request)
        {
            var invoice = InvoiceAggregate.Create(request.ContractId, request.DateEnd, request.DateStart);

            var sheetsToInclude = await _invoiceAggregateRepo
                                  .GetSheets(request.ContractId, request.DateStart, request.DateEnd);

            invoice.IncludeSheets(sheetsToInclude);
            await _invoiceRepo.Add(invoice);

            return(invoice.Id);
        }
예제 #18
0
        public async Task CreateInvoice(InvoiceRequest invoiceRequest)
        {
            var invoice = _mapper.Map <Invoice>(invoiceRequest);

            var countOfInvoices = (await GetInvoice(invoice.InvoiceDate.Month, invoice.InvoiceDate.Year)).Count;

            invoice.InvoiceNo = $"{countOfInvoices + 1}/{invoice.InvoiceDate.Month}/{invoice.InvoiceDate.Year}";

            await _dbContext.Set <Invoice>().AddAsync(invoice);

            await _dbContext.SaveChangesAsync();
        }
예제 #19
0
        public ResultJson UpDateInvoice(InvoiceRequest request)
        {
            var InvoiceAddress = request.AddressInfo + request.AddressDetail;

            #region 添加
            if (request.Id == 0 && request.ListOrderId != null)
            {
                var resultAdd = ProducerinvoiceFunc.Instance.UpdateProducerInfo(request.ListOrderId, request.ProducerId, request.CompanyName, request.InvoiceNumber, request.InvoiceTime, request.InvoiceMoney, request.InvoiceIdentify, request.InvoicePhone, InvoiceAddress, request.InvoiceBank, request.InvoiceContext);
                if (resultAdd)
                {
                    return(new ResultJson {
                        HttpCode = 200, Message = "成功!"
                    });
                }
                else
                {
                    return(new ResultJson {
                        HttpCode = 300, Message = "失败,请重试"
                    });
                }
            }
            #endregion

            #region 修改
            else
            {
                var result = ProducerinvoiceOper.Instance.Update(new Producerinvoice
                {
                    Id              = request.Id,
                    ProducerId      = request.ProducerId,
                    CompanyName     = request.CompanyName,
                    InvoicePhone    = request.InvoicePhone,
                    InvoiceAddress  = InvoiceAddress,
                    InvoiceIdentify = request.InvoiceIdentify,
                    InvoiceMoney    = request.InvoiceMoney,
                    InvoiceBank     = request.InvoiceBank,
                    InvoiceContext  = request.InvoiceContext
                });
                if (result)
                {
                    return(new ResultJson {
                        HttpCode = 200, Message = "成功!"
                    });
                }
                else
                {
                    return(new ResultJson {
                        HttpCode = 300, Message = "失败!"
                    });
                }
            }
            #endregion
        }
예제 #20
0
        public async Task <IActionResult> Create([FromBody] InvoiceRequest invoiceRequest)
        {
            var isAllowedToCreate = await _contractManager.CheckContractIsActive(invoiceRequest.ContractId);

            if (isAllowedToCreate != null && !(bool)isAllowedToCreate)
            {
                return(BadRequest($"Contract {invoiceRequest.ContractId} is not active or not found."));
            }

            var id = await _invoiceManager.Create(invoiceRequest);

            return(Ok(id));
        }
        public InvoiceServiceTest()
        {
            _repository = A.Fake <IRepository>();

            _invoiceService = new InvoiceService(_repository);

            #region Mock DTOs properties
            _clientRequest = Builder <ClientRequest> .CreateNew().Build();

            _invoiceRequest = new InvoiceRequest(GenerateNewGuid(), _clientRequest, Domain.Enums.EInvoiceStatus.New);

            #endregion
        }
예제 #22
0
        public async Task <IActionResult> Create([FromBody] InvoiceRequest invoiceRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = new InvoiceResponse()
            {
                ResponseResult = new ResponseResult(invoiceRequest.RequestHeader.RequestId)
            };

            try
            {
                InvoiceRequestDTO dto = GetInvoiceRequestDtoFromRequest(invoiceRequest);

                result.Reference = new InvoiceReferenceResponse
                {
                    InvoiceNumber = dto.Id,
                    InvoiceDate   = dto.InvoiceDate
                };


                var command = new SubmitInvoiceCommand(dto,
                                                       JsonConvert.SerializeObject(invoiceRequest),
                                                       invoiceRequest.GetType().Name);

                try
                {
                    var confirmationCode = await _mediator.Send(command);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
            catch (Exception e)
            {
                result.ResponseResult.Errors = new List <ErrorDetail>()
                {
                    new ErrorDetail()
                    {
                        ErrorCode    = "-1",
                        ErrorMessage = e.Message
                    }
                };
                return(BadRequest(result));
            }

            return(Ok(result));
        }
        public async Task <IActionResult> InsertInvoiveAsync([FromForm] InvoiceRequest invoice)
        {
            DataRespond data = new DataRespond();

            try
            {
                Invoices inv = new Invoices();
                inv.namecustomer   = invoice.namecustomer;
                inv.gender         = invoice.gender;
                inv.phonenumber    = invoice.phonenumber;
                inv.email          = invoice.email;
                inv.province       = invoice.province;
                inv.district       = invoice.district;
                inv.adress         = invoice.adress;
                inv.adressdelviver = invoice.adressdelviver;
                inv.timedeliver    = invoice.timedeliver;
                inv.typepay        = invoice.typepay;
                inv.totalmoney     = invoice.totalmoney;
                inv.money          = invoice.money;
                inv.codediscount   = invoice.codediscount;

                inv.usid        = invoice.usid;
                inv.codeinvoice = RandomString(20);
                inv.status      = 0; //don't acvite
                inv.isread      = 0; //don't view
                inv.createday   = DateTime.Now;
                Invoices newinv = m_invoiceResponcitory.InsetInvoice(inv);

                foreach (var i in invoice.invoiceproduct)
                {
                    InvoiceProductRequest invprd    = new InvoiceProductRequest(i);
                    InvoiceProduct        invoicers = new InvoiceProduct();
                    invoicers.prid  = invprd.prid;
                    invoicers.total = invprd.total;
                    invoicers.ivid  = newinv.ivid;
                    m_invoiceResponcitory.InsertInvoiceProduct(invoicers);
                }
                var invsocket = m_invoiceResponcitory.GetFirstInvoice(newinv.codeinvoice);
                await sendInvoidBySocket(invsocket);

                sendEmail(invoice.email, inv.codeinvoice);
                data.success = true;
                data.data    = newinv;
            }
            catch (Exception e)
            {
                data.success = false;
                data.error   = e;
            }
            return(Ok(new { data }));
        }
예제 #24
0
        public InvoiceRequest CreateInvoice(InvoiceRequest invoiceRequest)
        {
            using (var scope = _context.CreateScope())
            {
                var db = scope.ServiceProvider.GetRequiredService <InvoiceContext>();
                //add customer
                var newCustomer = new DataAccess.Models.Customer()
                {
                    Name   = invoiceRequest.CustomerDetails.CustomerName,
                    Streat = invoiceRequest.CustomerDetails.ShippingDetails.Streat,
                    State  = invoiceRequest.CustomerDetails.ShippingDetails.State,
                    City   = invoiceRequest.CustomerDetails.ShippingDetails.City,
                    Phone  = invoiceRequest.CustomerDetails.ShippingDetails.Phone,
                };
                db.Customer.Add(newCustomer);
                db.SaveChanges();
                var randumNumber = new Random();
                //add products
                var invoice = new InvoiceDetails()
                {
                    InvoiceNumber = invoiceRequest.CompanyID.ToString() + "-" + "DDYY" + randumNumber.Next().ToString(),
                    CompanyId     = invoiceRequest.CompanyID,
                    Date          = invoiceRequest.InvoiceDate,
                    CustomerId    = newCustomer.Id,
                };
                db.InvoiceDetails.Add(invoice);
                db.SaveChanges();
                foreach (var product in invoiceRequest.ProductDetails)
                {
                    var newProduct = new DataAccess.Models.Product()
                    {
                        price = product.Price,
                        Name  = product.Name
                    };
                    db.Product.Add(newProduct);
                    db.SaveChanges();
                    var newOrder = new OrderDetails()
                    {
                        ProuductId = newProduct.Id,
                        InvoiceId  = invoice.Id,
                        Quantity   = product.Quantity
                    };
                    db.OrderDetails.Add(newOrder);
                    db.SaveChanges();
                }

                invoiceRequest.InvoiceId = invoice.Id;
                return(invoiceRequest);
            }
        }
예제 #25
0
 public ResultJson DelInvoice(InvoiceRequest request)
 {
     if (ProducerinvoiceOper.Instance.DeleteById(request.Id))
     {
         return(new ResultJson {
             HttpCode = 200, Message = "成功!"
         });
     }
     else
     {
         return(new ResultJson {
             HttpCode = 300, Message = "失败!"
         });
     }
 }
        public SuccessResponse Update(int id, InvoiceRequest request)
        {
            var invoice      = _invoiceRepository.GetBy(id);
            var items        = _itemRepository.GetBy(p => p.InvoiceId == id);
            var itemsRequest = request.Items.ToList();

            request.Items = null;
            var invoiceModel = _mapper.Map <Invoice>(request);

            _mapper.Map(invoiceModel, invoice);
            _invoiceRepository.Update(invoice);
            RemoveItems(items, itemsRequest);
            CreateAndUpdateItmes(items, itemsRequest, id);
            return(new SuccessResponse(true));
        }
예제 #27
0
        private Safe2Pay_Request(Config config)
        {
            this.config = config;
            client      = new Client(config);

            Account     = new AccountRequest(this.config);
            Carnet      = new CarnetRequest(this.config);
            Invoice     = new InvoiceRequest(this.config);
            Marketplace = new MarketplaceRequest(this.config);
            Payment     = new CheckoutRequest(this.config);
            //Plan = new PlanRequest(this.config);
            //Subscription = new SubscriptionRequest(this.config);
            Token       = new TokenRequest(this.config);
            Transfer    = new TransferRequest(this.config);
            Transaction = new TransactionRequest(this.config);
        }
예제 #28
0
 public ActionResult CreateInvoice([FromBody] InvoiceRequest invoice)
 {
     try
     {
         if (invoice.CompanyID < 0)
         {
             return(BadRequest("Company ID invalid"));
         }
         var invoiceDetail = _invoiceDetailsBL.CreateInvoice(invoice);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest("unable to create invoice"));
     }
 }
예제 #29
0
        public new InvoiceRequest CreateRequest()
        {
            var result = new InvoiceRequest
            {
                Id          = this.Id,
                CreateAt    = this.CreateAt,
                Name        = this.Name,
                Description = this.Description,
                Amount      = this.Amount,
                DueDate     = this.DueDate,
                Category    = this.Category.Id,
                Contacts    = this.Contacts.Select(f => f.Id).ToArray()
            };

            return(result);
        }
예제 #30
0
      public void InvoiceController_HttpStatusCode_200()
      {
         InvoiceRequest invoiceRequest = new InvoiceRequest()
         {
            IdUser = 123,
            Products = new List<ProductDto>() {
                                                       new ProductDto() { Cantidad = 1, Nombre = "CPU", Precio = 2800000 },
                                                       new ProductDto() { Cantidad = 3, Nombre = "Monitor", Precio = 500000 }
                                                    }
         };

         InvoiceController invoiceController = new InvoiceController(new ProductService());
         var response = invoiceController.InvoiceProducts(invoiceRequest) as Microsoft.AspNetCore.Mvc.ObjectResult;

         Assert.AreEqual(200, response.StatusCode);
      }
예제 #31
0
 public static InvoiceRequest CreateInvoiceRequest(InvoiceType invoice)
 {
     InvoiceRequest request = new InvoiceRequest() { Id = "test", Item = invoice };
     HeaderType header = new HeaderType() { DateTime = Misc.FormatCurrentTime(), MessageID = Guid.NewGuid().ToString() };
     request.Header = header;
     return request;
 }