private async void load_PrimaryDataThread() { Cognitivo.Purchase.OrderSetting OrderSetting = new Cognitivo.Purchase.OrderSetting(); if (OrderSetting.filterbyBranch) { await PurchaseOrderDB.purchase_order.Where(a => a.id_company == CurrentSession.Id_Company && a.id_branch == CurrentSession.Id_Branch ).OrderByDescending(x => x.trans_date).ToListAsync(); } else { await PurchaseOrderDB.purchase_order.Where(a => a.id_company == CurrentSession.Id_Company ).OrderByDescending(x => x.trans_date).ToListAsync(); } await Dispatcher.InvokeAsync(new Action(() => { purchase_orderViewSource = ((CollectionViewSource)(FindResource("purchase_orderViewSource"))); purchase_orderViewSource.Source = PurchaseOrderDB.purchase_order.Local; })); await PurchaseOrderDB.app_dimension.Where(a => a.id_company == CurrentSession.Id_Company).ToListAsync(); await Dispatcher.InvokeAsync(new Action(() => { CollectionViewSource app_dimensionViewSource = ((CollectionViewSource)(FindResource("app_dimensionViewSource"))); app_dimensionViewSource.Source = PurchaseOrderDB.app_dimension.Local; })); await PurchaseOrderDB.app_measurement.Where(a => a.id_company == CurrentSession.Id_Company).ToListAsync(); await Dispatcher.InvokeAsync(new Action(() => { CollectionViewSource app_measurementViewSource = ((CollectionViewSource)(FindResource("app_measurementViewSource"))); app_measurementViewSource.Source = PurchaseOrderDB.app_measurement.Local; })); }
private void SelectProduct_Thread(object sender, EventArgs e, purchase_order purchase_order, item item, contact contact) { purchase_order_detail purchase_order_detail = new purchase_order_detail(); purchase_order_detail.purchase_order = purchase_order; Cognitivo.Purchase.OrderSetting OrderSetting = new Cognitivo.Purchase.OrderSetting(); //ItemLink if (item != null) { if (purchase_order.purchase_order_detail.Where(a => a.id_item == item.id_item).FirstOrDefault() != null || OrderSetting.AllowDuplicateItems) { //Item Exists in Context, so add to sum. purchase_order_detail _purchase_order_detail = purchase_order.purchase_order_detail.Where(a => a.id_item == item.id_item).FirstOrDefault(); _purchase_order_detail.quantity += 1; //Return because Item exists, and will +1 in Quantity return; } else { //If Item Exists in previous purchase... then get Last Cost. Problem, will get in stored value, in future we will need to add logic to convert into current currency. if (PurchaseOrderDB.purchase_invoice_detail .Where(x => x.id_item == item.id_item && x.purchase_invoice.id_contact == purchase_order.id_contact) .OrderByDescending(y => y.purchase_invoice.trans_date) .FirstOrDefault() != null) { purchase_order_detail.unit_cost = PurchaseOrderDB.purchase_invoice_detail .Where(x => x.id_item == item.id_item && x.purchase_invoice.id_contact == purchase_order.id_contact) .OrderByDescending(y => y.purchase_invoice.trans_date) .FirstOrDefault().unit_cost; } //Item DOES NOT Exist in Context purchase_order_detail.item = item; purchase_order_detail.id_item = item.id_item; purchase_order_detail.item_description = item.name; purchase_order_detail.quantity = 1; } } else { Dispatcher.BeginInvoke((Action)(() => { purchase_order_detail.item_description = sbxItem.Text; })); } //Cost Center if (contact != null && contact.app_cost_center != null) { app_cost_center app_cost_center = contact.app_cost_center; if (app_cost_center.id_cost_center > 0) { purchase_order_detail.id_cost_center = app_cost_center.id_cost_center; } } else { if (item != null) { int id_cost_center = 0; if (item.item_product != null) { if (PurchaseOrderDB.app_cost_center.Where(a => a.is_product == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault() != null) { id_cost_center = Convert.ToInt32(PurchaseOrderDB.app_cost_center.Where(a => a.is_product == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault().id_cost_center); } if (id_cost_center > 0) { purchase_order_detail.id_cost_center = id_cost_center; } } else if (item.item_asset != null) { if (PurchaseOrderDB.app_cost_center.Where(a => a.is_fixedasset == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault() != null) { id_cost_center = Convert.ToInt32(PurchaseOrderDB.app_cost_center.Where(a => a.is_fixedasset == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault().id_cost_center); } if (id_cost_center > 0) { purchase_order_detail.id_cost_center = id_cost_center; } } } else { int id_cost_center = 0; if (PurchaseOrderDB.app_cost_center.Where(a => a.is_administrative == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault() != null) { id_cost_center = Convert.ToInt32(PurchaseOrderDB.app_cost_center.Where(a => a.is_administrative == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault().id_cost_center); } if (id_cost_center > 0) { purchase_order_detail.id_cost_center = id_cost_center; } } } //VAT if (item != null) { if (item.id_vat_group > 0) { purchase_order_detail.id_vat_group = item.id_vat_group; } } else if (PurchaseOrderDB.app_vat_group.Where(x => x.is_active == true && x.is_default == true && x.id_company == CurrentSession.Id_Company).FirstOrDefault() != null) { purchase_order_detail.id_vat_group = PurchaseOrderDB.app_vat_group.Where(x => x.is_active == true && x.is_default == true && x.id_company == CurrentSession.Id_Company).FirstOrDefault().id_vat_group; } Dispatcher.BeginInvoke((Action)(() => { purchase_order.purchase_order_detail.Add(purchase_order_detail); purchase_orderpurchase_order_detailViewSource.View.Refresh(); calculate_vat(sender, e); })); }