/// <summary> /// basarılıysa ınvoice content doner basarısızsa null doner /// </summary> public string getInvoiceWithUuidOnService(string uuid, string direction) { using (new OperationContextScope(eInvoiceOIBPortClient.InnerChannel)) { GetInvoiceRequest req = new GetInvoiceRequest(); //sistemdeki gelen efatura listesi için request parametreleri req.REQUEST_HEADER = RequestHeader.getRequestHeaderOib; req.REQUEST_HEADER.COMPRESSED = EI.ActiveOrPasive.Y.ToString(); req.INVOICE_SEARCH_KEY = InvoiceSearchKey.invoiceSearchKeyGetInvoice; req.INVOICE_SEARCH_KEY.UUID = uuid; req.INVOICE_SEARCH_KEY.READ_INCLUDED = true; req.INVOICE_SEARCH_KEY.READ_INCLUDEDSpecified = true; req.HEADER_ONLY = EI.ActiveOrPasive.N.ToString(); if (direction.Equals(nameof(EI.Direction.DRAFT))) //direction taslak fatura ıse { req.INVOICE_SEARCH_KEY.DIRECTION = EI.Direction.OUT.ToString(); req.INVOICE_SEARCH_KEY.DRAFT_FLAG = EI.ActiveOrPasive.Y.ToString(); } else { req.INVOICE_SEARCH_KEY.DIRECTION = direction; } INVOICE[] invoiceArray = eInvoiceOIBPortClient.GetInvoice(req); if (invoiceArray != null && invoiceArray.Length != 0) { //getirilen faturanın contentını zipten cıkar , string halınde dondur return(Encoding.UTF8.GetString(Compress.UncompressFile(invoiceArray[0].CONTENT.Value))); } return(null); } }
public async Task <IActionResult> GenerateInvoice([Required][FromBody] GetInvoiceRequest request) { Invoice invoice; try { invoice = await _equipmentService.GenerateInvoice(request.Equipment); } catch (Exception e) { _logger.LogError(e, "Exception occured while generating invoice"); return(RedirectError("Exception occured while generating invoice. Please try again later")); } _logger.LogInformation($"Sending invoice: {JsonConvert.SerializeObject(invoice)}"); var stream = new MemoryStream(); await JsonSerializer.SerializeAsync(stream, invoice); var cd = new ContentDisposition { FileName = invoice.Title, Inline = true }; Response?.Headers?.Add("Content-Disposition", cd.ToString()); stream.Seek(0, 0); return(new FileStreamResult(stream, "application/octet-stream")); }
public async Task <GetInvoiceResponse> Get(GetInvoiceRequest request, AdminKey adminKey = null, HttpClient httpClient = null) { using (var api = new GetAddesssApi(adminKey ?? AdminKey, HttpClient ?? httpClient)) { return(await api.Invoices.Get(request)); } }
public async void InvoiceFindTest() { var purchaseOrderRef = Guid.NewGuid().ToString(); var invoiceAddCommand = new InvoiceAddCommand(); var invoiceView = await invoiceAddCommand.InvoiceAdd(new SilverdawnSoftware.Invoice.CQRS.Commands.Invoice.Models.InvoiceAdd() { PurchaseOrderRef = purchaseOrderRef, CustomerId = customerView.CustomerId }); invoiceView.__CQRSErrorMessage.Should().BeNullOrWhiteSpace(); invoiceView.PurchaseOrderRef.Should().Be(purchaseOrderRef); invoiceView.InvoiceId.Should().BeGreaterThan(0); var find = new GetInvoiceRequest(); var result2 = find.GetInvoice(new GetInvoice() { InvoiceNo = invoiceView.InvoiceNo }).Result; result2.PurchaseOrderRef.Should().Be(purchaseOrderRef); result2.InvoiceId.Should().Be(invoiceView.InvoiceId); }
public async Task <GetInvoiceResponse> GetInvoice(int invoiceId) { var request = new GetInvoiceRequest { InvoiceId = invoiceId }; return(await Client.Execute <GetInvoiceRequest, GetInvoiceResponse>(request)); }
public async Task WebRequestTest() { var api = new SzamlazzHuApi(); var request = CreateSampleRequest(); string apiKey = Environment.GetEnvironmentVariable("SZAMLAZZ_HU_KEY"); request.AuthenticationData.ApiKey = apiKey; request.Header.InvoiceNumberPrefix = "NINCS"; request.Header.IssueDate = DateTime.Now; request.Header.CompletionDate = DateTime.Now; request.Header.DueDate = DateTime.Now; request.Header.FeeCollection = true; var response = await api.CreateInvoice(request); Assert.IsTrue(response.Success); var getInvoiceRequest = new GetInvoiceRequest(); getInvoiceRequest.AuthenticationData.ApiKey = apiKey; getInvoiceRequest.InvoiceNumber = response.InvoiceNumber; var getInvoiceResponse = await api.GetInvoice(getInvoiceRequest); Assert.AreEqual(request.Seller.BankName, getInvoiceResponse.Seller.BankName); Assert.AreEqual(request.Seller.BankAccount, getInvoiceResponse.Seller.BankAccount); Assert.AreEqual(request.Header.Comment, getInvoiceResponse.InvoiceHeader.Comment); Assert.AreEqual(request.Header.CompletionDate.Date, getInvoiceResponse.InvoiceHeader.CompletionDate.Date); Assert.AreEqual(request.Header.Currency, getInvoiceResponse.InvoiceHeader.Currency); Assert.AreEqual(request.Header.DueDate.Date, getInvoiceResponse.InvoiceHeader.DueDate.Date); Assert.AreEqual(request.Header.ExchangeRate, getInvoiceResponse.InvoiceHeader.ExchangeRate); Assert.AreEqual(request.Header.FeeCollection, getInvoiceResponse.InvoiceHeader.FeeCollection); Assert.AreEqual(request.Header.InvoiceNumberPrefix, getInvoiceResponse.InvoiceHeader.InvoiceNumberPrefix); Assert.AreEqual(request.Header.IssueDate.Date, getInvoiceResponse.InvoiceHeader.IssueDate.Date); Assert.AreEqual(request.Header.Language, getInvoiceResponse.InvoiceHeader.Language); Assert.AreEqual(request.Header.PaymentType, getInvoiceResponse.InvoiceHeader.PaymentType); Assert.AreEqual(request.Customer.Name, getInvoiceResponse.Customer.Name); Assert.AreEqual(request.Customer.CustomerAddress.Country, getInvoiceResponse.Customer.CustomerAddress.Country); Assert.AreEqual(request.Customer.CustomerAddress.PostalCode, getInvoiceResponse.Customer.CustomerAddress.PostalCode); Assert.AreEqual(request.Customer.CustomerAddress.City, getInvoiceResponse.Customer.CustomerAddress.City); Assert.AreEqual(request.Customer.CustomerAddress.StreetAddress, getInvoiceResponse.Customer.CustomerAddress.StreetAddress); Assert.AreEqual(request.Customer.EmailAddress, getInvoiceResponse.Customer.EmailAddress); Assert.AreEqual(request.Customer.Identification, getInvoiceResponse.Customer.Identification); Assert.AreEqual(request.Customer.TaxNumber, getInvoiceResponse.Customer.TaxNumber); Assert.AreEqual(request.Items.Count, getInvoiceResponse.InvoiceItems.Count); for (int i = 0; i < request.Items.Count; ++i) { Assert.AreEqual(request.Items[i].GrossAmount, getInvoiceResponse.InvoiceItems[i].GrossAmount); Assert.AreEqual(request.Items[i].Name, getInvoiceResponse.InvoiceItems[i].Name); Assert.AreEqual(request.Items[i].NetPrice, getInvoiceResponse.InvoiceItems[i].NetPrice); Assert.AreEqual(request.Items[i].Quantity, getInvoiceResponse.InvoiceItems[i].Quantity); Assert.AreEqual(request.Items[i].UnitOfQuantity, getInvoiceResponse.InvoiceItems[i].UnitOfQuantity); Assert.AreEqual(request.Items[i].UnitPrice, getInvoiceResponse.InvoiceItems[i].UnitPrice); Assert.AreEqual(request.Items[i].VatAmount, getInvoiceResponse.InvoiceItems[i].VatAmount); Assert.AreEqual(request.Items[i].VatRate, getInvoiceResponse.InvoiceItems[i].VatRate); } var deleteInvoiceRequest = new DeleteInvoiceRequest(); deleteInvoiceRequest.AuthenticationData.ApiKey = apiKey; deleteInvoiceRequest.InvoiceNumber = response.InvoiceNumber; var deleteInvoiceResponse = await api.DeleteProFormaInvoice(deleteInvoiceRequest); Assert.IsTrue(deleteInvoiceResponse.Success, deleteInvoiceResponse.ErrorMessage); }
public async Task <IActionResult> GenerateInvoice( [FromRoute] Guid id) { var request = new GetInvoiceRequest { InvoiceId = id }; var invoice = await _useCase.Execute(request); return(Ok(invoice)); }
public async static Task <GetInvoiceResponse> Get(GetAddesssApi api, string path, AdminKey adminKey, GetInvoiceRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var fullPath = $"{path}{request.Number}"; return(await GetInternal(api, fullPath, adminKey, request.Number)); }
public void PrepareGetInvoiceRequest() { if (GetInvoicesResponse == null) { GetInvoices(); } var invoice = GetInvoicesResponse.Result.Randomize().First(); GetInvoiceRequest = new GetInvoiceRequest { Id = invoice.Id, }; }
public async Task <IActionResult> GetInvoice([FromRoute] GetInvoiceRequest query) { GetInvoiceQueryResponse result = await _messageManager.SendCommand(new GetInvoiceQuery(query.Id)); if (result.Invoice is null) { return(NotFound("Not found")); } var response = new InvoiceResponse( new InvoiceDto(result.Invoice.Id, result.Invoice.Number, result.Invoice.CreationDate), StatusCodes.Status200OK); return(Ok(response)); }
/// <summary> /// servisten getInvoice ardından mark ınvoıce ve db ye kaydetme ıslemını yapar /// </summary> /// public string getInvoiceOnServiceAndSaveDb(string direction) { using (new OperationContextScope(eInvoiceOIBPortClient.InnerChannel)) { var req = new GetInvoiceRequest(); //sistemdeki gelen efatura listesi için request parametreleri req.REQUEST_HEADER = RequestHeader.getRequestHeaderOib; req.REQUEST_HEADER.COMPRESSED = EI.ActiveOrPasive.Y.ToString(); req.INVOICE_SEARCH_KEY = InvoiceSearchKey.invoiceSearchKeyGetInvoice; req.HEADER_ONLY = EI.ActiveOrPasive.N.ToString(); if (direction.Equals(nameof(EI.Direction.DRAFT))) //direction taslak fatura ıse { req.INVOICE_SEARCH_KEY.DIRECTION = EI.Direction.OUT.ToString(); req.INVOICE_SEARCH_KEY.DRAFT_FLAG = EI.ActiveOrPasive.Y.ToString(); } else { req.INVOICE_SEARCH_KEY.DIRECTION = direction; } INVOICE[] invoiceArray = eInvoiceOIBPortClient.GetInvoice(req); if (invoiceArray != null && invoiceArray.Length > 0) { string markErrorMessage = invoiceMarkRead(invoiceArray); if (markErrorMessage != null) //mark despatch dan donen error message varsa { return(markErrorMessage); } //getirilen faturaları db ye kaydet if (Singl.invoiceDalGet.addInvoiceToDbAndSaveContentOnDisk(invoiceArray, direction) != invoiceArray.Length) { return("DataBase'e kaydetme işlemi başarısız"); } return(null); } return("servisten getirilecek fatura bulunamdı"); } }
/// <summary> /// IMZALI XML DISKE KAYDET /// </summary> public bool isGetInvoiceSingnedXml(string direction) { using (new OperationContextScope(eInvoiceOIBPortClient.InnerChannel)) { GetInvoiceRequest req = new GetInvoiceRequest(); req.REQUEST_HEADER = RequestHeader.getRequestHeaderOib; req.REQUEST_HEADER.COMPRESSED = nameof(EI.ActiveOrPasive.Y); req.INVOICE_SEARCH_KEY = InvoiceSearchKey.invoiceSearchKeyGetInvoice; req.INVOICE_SEARCH_KEY.READ_INCLUDED = true; //okunmusları da al req.INVOICE_SEARCH_KEY.READ_INCLUDEDSpecified = true; req.HEADER_ONLY = EI.ActiveOrPasive.N.ToString(); req.INVOICE_SEARCH_KEY.DIRECTION = direction; if (direction == nameof(EI.Direction.DRAFT)) { req.INVOICE_SEARCH_KEY.DIRECTION = nameof(EI.Direction.OUT); req.INVOICE_SEARCH_KEY.DRAFT_FLAG = nameof(EI.ActiveOrPasive.Y); } INVOICE[] invoiceArr = eInvoiceOIBPortClient.GetInvoice(req); if (invoiceArr == null || invoiceArr.Length != 0) { foreach (var invoice in invoiceArr) { FolderControl.saveInvDocContentWithByte(Compress.UncompressFile(invoice.CONTENT.Value), direction, invoice.ID, nameof(EI.DocumentType.XML)); } //db ye kaydetmedıgım ıcın aldıgım faturaları mark ınv yapmadım if (invoiceArr.Length == 100) //butun okunmamısları almak ıcın ... limit 100 vermıstık { isGetInvoiceSingnedXml(direction); } return(true); } return(false); } }
protected override void ProcessRecord() { base.ProcessRecord(); GetInvoiceRequest request; try { request = new GetInvoiceRequest { OspHomeRegion = OspHomeRegion, CompartmentId = CompartmentId, InternalInvoiceId = InternalInvoiceId, OpcRequestId = OpcRequestId }; response = client.GetInvoice(request).GetAwaiter().GetResult(); WriteOutput(response, response.Invoice); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
public async Task <GetInvoiceResponse> Get(GetInvoiceRequest request) { return(await Get(Api, Path, AdminKey, request)); }
public async Task <GetInvoiceResponse> GetInvoices(GetInvoiceRequest request = null) { request = request ?? new GetInvoiceRequest(); return(await Client.Execute <GetInvoiceRequest, GetInvoiceResponse>(request)); }