private async void DeleteISKU_Click(object sender, RoutedEventArgs e) { Button DeleteISKU = (Button)sender; ItemStockKeepUnit isku = (ItemStockKeepUnit)DeleteISKU.DataContext; if (dbCtx.WarehouseEntries.Any(x => x.KeepUnit == isku.Code && x.ItemID == isku.ItemID)) { MessageDialog message = new MessageDialog("Nie można usunąć jednostki, ponieważ jest wykorzystywana w zapisach magazynowych.", "Operacja przerwana"); await message.ShowAsync(); } else if (dbCtx.ReleaseLines.Any(x => x.StockKeepUnit == isku.Code && x.ItemID == isku.ItemID)) { MessageDialog message = new MessageDialog("Nie można usunąć jednostki, ponieważ jest wykorzystywana w wydaniach magazynowych.", "Operacja przerwana"); await message.ShowAsync(); } else if (dbCtx.ReceiveLines.Any(x => x.StockKeepUnit == isku.Code && x.ItemID == isku.ItemID)) { MessageDialog message = new MessageDialog("Nie można usunąć jednostki, ponieważ jest wykorzystywana w wydaniach magazynowych.", "Operacja przerwana"); await message.ShowAsync(); } else { dbCtx.ItemStockKeepUnits.Remove(isku); dbCtx.SaveChanges(); } BindList(); }
public ItemStockKeepUnitVm GetItemStockKeepUnit(Expression <Func <ItemStockKeepUnit, bool> > filterPredicate = null) { ItemStockKeepUnit itemStockKeepUnit = _uow.Repository <ItemStockKeepUnit>().Get(filterPredicate, false, null); ItemStockKeepUnitVm itemStockKeepUnitVm = Mapper.Map <ItemStockKeepUnitVm>(itemStockKeepUnit); return(itemStockKeepUnitVm); }
private void BindSearchList() { Item item = ItemSearchCb.SelectedItem as Item; ItemStockKeepUnit isku = ISKUCb.SelectedItem as ItemStockKeepUnit; using (DBContext dbCtx = new DBContext()) { if (item != null && isku != null) { var result = dbCtx.WarehouseEntries .GroupBy(cr => new { cr.ItemID, cr.KeepUnit, cr.WarehouseNumber, cr.WarehousePlace }) .Select(g => new { ItemID = g.First().ItemID, KeepUnit = g.First().KeepUnit, WarehouseNumber = g.First().WarehouseNumber, WarehousePlace = g.First().WarehousePlace, Quantity = g.Sum(x => x.Quantity) }) .Where(x => x.ItemID == item.ItemID && x.KeepUnit == isku.Code && x.Quantity > 0) .ToList(); SearchList.ItemsSource = result; } } }
private async void AddUnitToListButton_Click(object sender, RoutedEventArgs e) { var sku = UnitSelectCb.SelectedItem as StockKeepUnit; if (String.IsNullOrEmpty(SKUBarcodeTb.Text)) { MessageDialog message = new MessageDialog("Nie wprowadzono kodu.", "Operacja przerwana"); await message.ShowAsync(); return; } if (sku == null) { MessageDialog message = new MessageDialog("Wybierz jednostkę z listy dostępnych.", "Operacja przerwana"); await message.ShowAsync(); return; } if (dbCtx.ItemStockKeepUnits.Any(x => x.ItemID == itemm.ItemID && x.Code == sku.Code)) { MessageDialog message = new MessageDialog("Wybrana jednostka jest już na liście.", "Operacja przerwana"); await message.ShowAsync(); return; } if (dbCtx.ItemStockKeepUnits.Any(x => x.Barcode == SKUBarcodeTb.Text)) { MessageDialog message = new MessageDialog("Podany kod jest już używany dla innego zapasu i innej jednostki.", "Operacja przerwana"); await message.ShowAsync(); return; } itemSKU = new ItemStockKeepUnit(itemm.ItemID, sku.Code, SKUBarcodeTb.Text); dbCtx.ItemStockKeepUnits.Add(itemSKU); dbCtx.SaveChanges(); BindList(); }
private bool SetupScanningResult(string barcode) { if (!String.IsNullOrEmpty(barcode)) { using (DBContext dbCtx = new DBContext()) { ItemStockKeepUnit isku = dbCtx.ItemStockKeepUnits.FirstOrDefault(x => x.Barcode == barcode); ItemSearchCb.SelectedIndex = ItemColl.IndexOf(ItemColl.FirstOrDefault(x => x.ItemID == isku.ItemID)); CurrItem = ItemSearchCb.SelectedItem as Item; ISKUCb.SelectedIndex = ItemStockKeepUnitsColl.IndexOf(ItemStockKeepUnitsColl.FirstOrDefault(x => x.Code == isku.Code)); BindSearchList(); return(true); } } return(false); }