コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: MainPage.xaml.cs プロジェクト: ooliik/Magazyn
        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;
                }
            }
        }
コード例 #4
0
        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();
        }
コード例 #5
0
ファイル: MainPage.xaml.cs プロジェクト: ooliik/Magazyn
        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);
        }