|
@@ -22,8 +22,8 @@ namespace PRSDesktop
|
|
|
.Add(DynamicGridOption.DirectEdit)
|
|
|
.EndUpdate();
|
|
|
|
|
|
- AddButton("Import PO", PRSDesktop.Resources.purchase.AsBitmapImage(), ImportPurchaseOrder);
|
|
|
-
|
|
|
+ AddButton("Import", PRSDesktop.Resources.purchase.AsBitmapImage(), ImportPOLines);
|
|
|
+
|
|
|
HiddenColumns.Add(x => x.TaxCode.ID);
|
|
|
HiddenColumns.Add(x => x.TaxCode.Code);
|
|
|
HiddenColumns.Add(x => x.TaxCode.Description);
|
|
@@ -36,19 +36,25 @@ namespace PRSDesktop
|
|
|
|
|
|
}
|
|
|
|
|
|
- private bool ImportPurchaseOrder(Button arg1, CoreRow[] arg2)
|
|
|
+ private bool ImportPOLines(Button arg1, CoreRow[] arg2)
|
|
|
{
|
|
|
- MultiSelectDialog<PurchaseOrder> dlg = new MultiSelectDialog<PurchaseOrder>(
|
|
|
- new Filter<PurchaseOrder>(x => x.SupplierLink.ID).IsEqualTo(Item.SupplierLink.ID).And(x => x.ClosedDate).IsEqualTo(DateTime.MinValue),
|
|
|
- new Columns<PurchaseOrder>(x => x.ID).Add(x => x.PONumber).Add(x => x.Notes).Add(x => x.Balance),
|
|
|
- false
|
|
|
- );
|
|
|
+ MultiSelectDialog<PurchaseOrderItem> dlg = new MultiSelectDialog<PurchaseOrderItem>(
|
|
|
+ new Filter<PurchaseOrderItem>(x => x.PurchaseOrderLink.SupplierLink.ID).IsEqualTo(Item.SupplierLink.ID).And(x => x.PurchaseOrderLink.ClosedDate).IsEqualTo(DateTime.MinValue),
|
|
|
+ new Columns<PurchaseOrderItem>
|
|
|
+ (
|
|
|
+ x => x.ID,
|
|
|
+ x => x.Description,
|
|
|
+ x => x.Product.Code,
|
|
|
+ x => x.ReceivedDate,
|
|
|
+ x => x.Consignment.Number,
|
|
|
+ x => x.PurchaseOrderLink.PONumber
|
|
|
+ ));
|
|
|
if (dlg.ShowDialog() == true)
|
|
|
{
|
|
|
var items = new Client<PurchaseOrderItem>().Query(
|
|
|
- new Filter<PurchaseOrderItem>(x => x.PurchaseOrderLink.ID).InList(dlg.IDs()),
|
|
|
+ new Filter<PurchaseOrderItem>(x => x.ID).InList(dlg.IDs()),
|
|
|
new Columns<PurchaseOrderItem>(x => x.ID)
|
|
|
- .Add(x=>x.Description)
|
|
|
+ .Add(x => x.Description)
|
|
|
.Add(x => x.TaxCode.ID)
|
|
|
.Add(x => x.TaxCode.Code)
|
|
|
.Add(x => x.TaxCode.Description)
|
|
@@ -58,13 +64,16 @@ namespace PRSDesktop
|
|
|
.Add(x => x.Tax)
|
|
|
.Add(x => x.IncTax)
|
|
|
.Add(x => x.Created)
|
|
|
- .Add(x=>x.PurchaseOrderLink.ID)
|
|
|
- .Add(x=>x.PurchaseOrderLink.PONumber)
|
|
|
+ .Add(x => x.PurchaseOrderLink.ID)
|
|
|
+ .Add(x => x.PurchaseOrderLink.PONumber)
|
|
|
+ .Add(x => x.Product.ID)
|
|
|
+ .Add(x => x.Product.Code)
|
|
|
+ .Add(x => x.Product.Name)
|
|
|
);
|
|
|
foreach (var row in items.Rows)
|
|
|
{
|
|
|
var line = new BillLine();
|
|
|
-
|
|
|
+
|
|
|
line.OrderItem.ID = row.Get<PurchaseOrderItem, Guid>(x => x.ID);
|
|
|
line.OrderItem.PurchaseOrderLink.ID = row.Get<PurchaseOrderItem, Guid>(x => x.PurchaseOrderLink.ID);
|
|
|
line.OrderItem.PurchaseOrderLink.PONumber = row.Get<PurchaseOrderItem, String>(x => x.PurchaseOrderLink.PONumber);
|
|
@@ -78,24 +87,23 @@ namespace PRSDesktop
|
|
|
description.Add(Description);
|
|
|
line.Description = string.Join("\n", description);
|
|
|
|
|
|
+ line.ExTax = row.Get<PurchaseOrderItem, double>(x => x.ExTax);
|
|
|
line.TaxCode.ID = row.Get<PurchaseOrderItem, Guid>(x => x.TaxCode.ID);
|
|
|
line.TaxCode.Code = row.Get<PurchaseOrderItem, string>(x => x.TaxCode.Code);
|
|
|
line.TaxCode.Description = row.Get<PurchaseOrderItem, string>(x => x.TaxCode.Description);
|
|
|
line.TaxCode.Rate = row.Get<PurchaseOrderItem, double>(x => x.TaxCode.Rate);
|
|
|
- line.TaxRate = row.Get<PurchaseOrderItem, double>(x => x.TaxRate);
|
|
|
- line.ExTax = row.Get<PurchaseOrderItem, double>(x => x.ExTax);
|
|
|
- line.Tax = row.Get<PurchaseOrderItem, double>(x => x.Tax);
|
|
|
- line.IncTax = row.Get<PurchaseOrderItem, double>(x => x.IncTax);
|
|
|
+ //line.TaxRate = row.Get<PurchaseOrderItem, double>(x => x.TaxRate);
|
|
|
+ //line.Tax = row.Get<PurchaseOrderItem, double>(x => x.Tax);
|
|
|
+ //line.IncTax = row.Get<PurchaseOrderItem, double>(x => x.IncTax);
|
|
|
+ line.OrderItem.Product.ID = row.Get<PurchaseOrderItem, Guid>(x => x.Product.ID);
|
|
|
+ line.OrderItem.Product.Code = row.Get<PurchaseOrderItem, string>(x => x.Product.Code);
|
|
|
+ line.OrderItem.Product.Name = row.Get<PurchaseOrderItem, string>(x => x.Product.Name);
|
|
|
Items.Add(line);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
return false;
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|