async void setSerieBatchSource(ProductionOrderLineClient row) { var cache = api.GetCache(typeof(InvItem)); var invItemMaster = cache.Get(row._Item) as InvItem; if (invItemMaster == null) { return; } if (row.SerieBatches != null && row.SerieBatches.First()._Item == row._Item)/*Bind if Item changed*/ { return; } UnicontaBaseEntity master; if (row._Qty < 0) { master = invItemMaster; } else { // We only select opens var mast = new InvSerieBatchOpen(); mast.SetMaster(invItemMaster); master = mast; } var res = await api.Query <SerialToOrderLineClient>(master); if (res != null && res.Length > 0) { row.SerieBatches = res; row.NotifyPropertyChanged("SerieBatches"); } }
void UpdatePrice(ProductionOrderLineClient rec) { var priceLookup = SetPriceLookup(rec); if (priceLookup != null && priceLookup.UseCustomerPrices) { priceLookup.GetCustomerPrice(rec, false); } }
async void AddAttachment(string actionType, ProductionOrderLineClient productionOrderLineClient) { var invBomResult = await api.Query <InvBOMClient>(productionOrderLineClient, new[] { PropValuePair.GenereteParameter("ItemPart", typeof(string), "1") }); if (invBomResult != null && invBomResult.Length > 0) { AddDockItem(actionType == "AddNote" ? TabControls.UserNotesPage : TabControls.UserDocsPage, invBomResult[0]); } }
async void CreateProductionOrder(ProductionOrderLineClient orderLine) { var t = saveGridLocal(); if (t != null && orderLine.RowId == 0) { await t; } AddDockItem(TabControls.ProductionOrdersPage2, new object[2] { api, orderLine }, Uniconta.ClientTools.Localization.lookup("Production"), "Add_16x16.png"); }
async void LinkSerialNumber(ProductionOrderLineClient orderLine) { var t = saveGridLocal(); if (t != null && orderLine.RowId == 0) { await t; } if (api.CompanyEntity.Warehouse) { dgProductionOrderLineGrid.SetLoadedRow(orderLine); // serial page add warehouse and location } AddDockItem(TabControls.SerialToOrderLinePage, orderLine, string.Format("{0}:{1}/{2},{3}", Uniconta.ClientTools.Localization.lookup("SerialBatchNumbers"), orderLine.OrderRowId, orderLine._Item, orderLine.RowId)); }
async void SetLocation(InvWarehouse master, ProductionOrderLineClient rec) { if (api.CompanyEntity.Location) { if (master != null) { rec.locationSource = master.Locations ?? await master.LoadLocations(api); } else { rec.locationSource = null; rec.Location = null; } rec.NotifyPropertyChanged("LocationSource"); } }
private void DataControl_CurrentItemChanged(object sender, DevExpress.Xpf.Grid.CurrentItemChangedEventArgs e) { ProductionOrderLineClient oldselectedItem = e.OldItem as ProductionOrderLineClient; if (oldselectedItem != null) { oldselectedItem.PropertyChanged -= ProductionOrderLineGrid_PropertyChanged; } ProductionOrderLineClient selectedItem = e.NewItem as ProductionOrderLineClient; if (selectedItem != null) { selectedItem.PropertyChanged += ProductionOrderLineGrid_PropertyChanged; } }
async void MarkedInvTrans(ProductionOrderLineClient selectedItem) { busyIndicator.IsBusy = true; var invTrans = new InvTransClient(); OrderAPI orderApi = new OrderAPI(api); var res = await orderApi.GetMarkedInvTrans(selectedItem, invTrans); busyIndicator.IsBusy = false; if (res == ErrorCodes.Succes) { AddDockItem(TabControls.InvTransMarkedPage, new object[] { api, invTrans }, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("InvTransactions"), invTrans._OrderNumber)); } else { UtilDisplay.ShowErrorCode(res); } }
async void MarkedOrderLine(ProductionOrderLineClient selectedItem) { busyIndicator.IsBusy = true; var orderLineMarked = new CreditorOrderLineClient(); OrderAPI orderApi = new OrderAPI(api); var res = await orderApi.GetMarkedOrderLine(selectedItem, orderLineMarked); busyIndicator.IsBusy = false; if (res == ErrorCodes.Succes) { AddDockItem(TabControls.OrderLineMarkedPage, new object[] { api, orderLineMarked }, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("PurchaseLines"), orderLineMarked._OrderNumber)); } else { UtilDisplay.ShowErrorCode(res); } }
private void Location_GotFocus(object sender, RoutedEventArgs e) { ProductionOrderLineClient selectedItem = dgProductionOrderLineGrid.SelectedItem as ProductionOrderLineClient; if (selectedItem != null && selectedItem._Warehouse != null && warehouse != null) { var selected = (InvWarehouse)warehouse.Get(selectedItem._Warehouse); setLocation(selected, selectedItem); if (prevLocation != null) { prevLocation.isValidate = false; } var editor = (CorasauGridLookupEditorClient)sender; prevLocation = editor; editor.isValidate = true; } }
Uniconta.API.DebtorCreditor.FindPrices SetPriceLookup(ProductionOrderLineClient rec) { var OrderNumber = rec.OrderRowId; if (OrderNumber != 0) { if (dictPriceLookup.ContainsKey(OrderNumber)) { return(dictPriceLookup[OrderNumber]); } var order = (ProductionOrder)productionOrders.Get(OrderNumber); if (order != null) { var priceLookup = new Uniconta.API.DebtorCreditor.FindPrices(order, api); dictPriceLookup.Add(OrderNumber, priceLookup); return(priceLookup); } } return(null); }
private void LoadInvItemStorageGrid(ProductionOrderLineClient selectedRow) { if (!OnHandScreenInOrder || selectedRow == null) { return; } if (selectedRow._Item == null) { dgInvItemStorageClientGrid.ItemsSource = null; } else { var itm = (Uniconta.DataModel.InvItem)items?.Get(selectedRow._Item); if (itm != null && itm._ItemType == (byte)ItemType.Service) { dgInvItemStorageClientGrid.ItemsSource = null; } else { dgInvItemStorageClientGrid.UpdateMaster(selectedRow); dgInvItemStorageClientGrid.Filter(null); } } }
async void UnfoldBOM(ProductionOrderLineClient selectedItem) { var items = this.items; var item = (InvItem)items.Get(selectedItem._Item); if (item == null || item._ItemType < (byte)ItemType.BOM) { return; } busyIndicator.IsBusy = true; busyIndicator.BusyContent = Uniconta.ClientTools.Localization.lookup("LoadingMsg"); var list = await api.Query <InvBOM>(selectedItem); if (list != null && list.Length > 0) { var type = dgProductionOrderLineGrid.TableTypeUser; var Qty = selectedItem._Qty; var lst = new List <UnicontaBaseEntity>(list.Length); foreach (var bom in list) { var invJournalLine = Activator.CreateInstance(type) as ProductionOrderLineClient; invJournalLine._Date = selectedItem._Date; invJournalLine._Week = selectedItem._Week; invJournalLine._Dim1 = selectedItem._Dim1; invJournalLine._Dim2 = selectedItem._Dim2; invJournalLine._Dim3 = selectedItem._Dim3; invJournalLine._Dim4 = selectedItem._Dim4; invJournalLine._Dim5 = selectedItem._Dim5; invJournalLine._Item = bom._ItemPart; invJournalLine._Variant1 = bom._Variant1; invJournalLine._Variant2 = bom._Variant2; invJournalLine._Variant3 = bom._Variant3; invJournalLine._Variant4 = bom._Variant4; invJournalLine._Variant5 = bom._Variant5; item = (InvItem)items.Get(bom._ItemPart); if (item == null && bom._ItemPart != null) { items = await api.LoadCache(typeof(InvItem), true); item = (InvItem)items.Get(bom._ItemPart); } if (item != null) { invJournalLine._Warehouse = bom._Warehouse ?? item._Warehouse ?? selectedItem._Warehouse; invJournalLine._Location = bom._Location ?? item._Location ?? selectedItem._Location; invJournalLine._CostPriceLine = item._CostPrice; invJournalLine.SetItemValues(item, selectedItem._Storage); invJournalLine._Qty = Math.Round(bom.GetBOMQty(Qty), item._Decimals); TableField.SetUserFieldsFromRecord(item, invJournalLine); } else { invJournalLine._Qty = Math.Round(bom.GetBOMQty(Qty), 2); } TableField.SetUserFieldsFromRecord(bom, invJournalLine); lst.Add(invJournalLine); } busyIndicator.IsBusy = false; dgProductionOrderLineGrid.ReplaceCurrentRow(lst); } busyIndicator.IsBusy = false; }