Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private incomingInvoiceDto CreateInvoice(SignableData invoice, string supplier_id, string store_id, string supplier_code)
- {
- incomingInvoiceDto idt = new incomingInvoiceDto();
- idt.comment = "Auto upload";
- //idt.documentNumber =
- idt.invoice =
- idt.incomingDocumentNumber = invoice.GeneralInfo.InvoiceNumber.Number;
- idt.supplier = supplier_id;
- idt.defaultStore = store_id;
- idt.dateIncoming = DateTime.Parse(invoice.GeneralInfo.SupplyDate, CultureInfo.InvariantCulture).ToString("dd.MM.yyyy");
- List<incomingInvoiceItemDto> items = new List<incomingInvoiceItemDto>();
- int index = 1;
- foreach (var good in invoice.GoodsInfo.Good)
- {
- incomingInvoiceItemDto item = new incomingInvoiceItemDto();
- item.name = good.Description;
- item.num = index++;
- var products = RestApi.GetPriceList(supplier_code)?.Where(a => a.supplierProductName.Trim() == good.Description.Trim()).ToList();
- var product = (products.Count == 0 || products.Count > 1) ? null : products[0];
- var container = product?.container;
- item.product = product?.nativeProduct;
- item.containerId = container?.id;
- item.supplierProduct = product?.supplierProduct;
- item.price = decimal.Parse(good.PricePerUnit ?? "0", CultureInfo.InvariantCulture);
- item.priceSpecified = true;
- item.amount = decimal.Parse(good.Amount ?? "0", CultureInfo.InvariantCulture);
- item.amountSpecified = true;
- item.vatPercent = decimal.Parse(good.VATRate ?? "0", CultureInfo.InvariantCulture);
- item.vatPercentSpecified = true;
- if (product?.container != null && product?.container.countSpecified == true && product?.container.count > 1)
- {
- item.amount *= product.container.count;
- }
- item.sum = decimal.Parse(good.TotalPrice ?? "0", CultureInfo.InvariantCulture);
- item.sumSpecified = true;
- //item.sumWithoutNds = decimal.Parse(good.Price, CultureInfo.InvariantCulture);
- //item.sumWithoutNdsSpecified = true;
- item.store = store_id;
- items.Add(item);
- }
- idt.items = items.ToArray();
- return idt;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement