예제 #1
0
 public ReservationsViewModel()
 {
     CleanUp();
     _itemQuantityService = new ItemQuantityService(false);
     Messenger.Default.Register <ItemQuantityDTO>(this, (message) =>
     {
         CurrentItemQuantityOld = _itemQuantityService.Find(message.Id.ToString(CultureInfo.InvariantCulture));
     });
 }
        public void GetLiveItemsQuantity()
        {
            try
            {
                CleanUp();
                _itemQuantityService = new ItemQuantityService();

                ItemQuantityList = new List <ItemQuantityDTO>();

                var criteria = new SearchCriteria <ItemQuantityDTO>()
                {
                    CurrentUserId = Singleton.User.UserId
                };
                //criteria.FiList.Add(f => f.Item.ItemType == ItemTypes.PurchaseForSell || f.Item.ItemType == ItemTypes.ProcessForSell);

                if (SelectedWarehouse != null && SelectedWarehouse.Id != -1)
                {
                    criteria.SelectedWarehouseId = SelectedWarehouse.Id;
                }

                int totalCount;
                ItemQuantityList = _itemQuantityService.GetAll(criteria, out totalCount).ToList();

                //if (SelectedWarehouse != null && SelectedWarehouse.Id != -1)
                //{
                //    var items = new ItemService(true).GetAll().Where(i => i.ItemType == ItemTypes.PurchaseForSell || i.ItemType == ItemTypes.ProcessForSell).OrderBy(i => i.Id).ToList();
                //    var itemsQty = (from itemDto in items
                //                    where ItemQuantityList.All(iq => iq.ItemId != itemDto.Id)
                //                    select new ItemQuantityDTO()
                //                    {
                //                        Item = itemDto,
                //                        ItemId = itemDto.Id,
                //                        Warehouse = SelectedWarehouse,
                //                        QuantityOnHand = 0
                //                    }).ToList();

                //    ItemQuantityList = ItemQuantityList.Concat(itemsQty);
                //}

                var sNo = 1;
                foreach (var itemQuantityDTO in ItemQuantityList)
                {
                    itemQuantityDTO.SerialNumber = sNo;
                    sNo++;
                }

                ItemsQuantity = new ObservableCollection <ItemQuantityDTO>(ItemQuantityList);
            }
            catch (Exception exception)
            {
                MessageBox.Show("Can't load inventory, please refresh window again..."
                                + Environment.NewLine + exception.Message, "Can't Load Inventory", MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }
        }
예제 #3
0
        public ItemDetailViewModel()
        {
            CleanUp();
            _itemService         = new ItemService();
            _itemQuantityService = new ItemQuantityService();

            CheckRoles();

            LoadItems();
            LoadCategories();
            SelectedCategory = Categories.FirstOrDefault();
            LoadUoMs();
            SelectedUnitOfMeasure = UnitOfMeasures.FirstOrDefault();

            Messenger.Default.Register <ItemQuantityDTO>(this, (message) =>
            {
                if (message != null)
                {
                    SelectedItemQuantityOld = _itemQuantityService.Find(message.Id.ToString()) ??
                                              new ItemQuantityDTO()
                    {
                        QuantityOnHand = 0,
                        ItemId         = message.ItemId,
                        WarehouseId    = message.WarehouseId
                    };
                }
            });

            Messenger.Default.Register <WarehouseDTO>(this, (message) =>
            {
                SelectedWarehouse = message;
            });

            Messenger.Default.Register <ObservableCollection <TransactionLineDTO> >(this, (message) =>
            {
                TransactionLines = message;
            });
            Messenger.Default.Register <TransactionHeaderDTO>(this, (message) =>
            {
                SelectedTransaction = message;
            });


            if (_currentItem == null)
            {
                _currentItem     = GetNewCurrentItem();
                _itemPreviousQty = 0;
            }
            QuantityEditVisibility = "Collapsed";
            ItemsListVisibility    = "Collapsed";
        }
예제 #4
0
        public SellItemEntryViewModel()
        {
            CleanUp();
            _itemService         = new ItemService();
            _itemQuantityService = new ItemQuantityService();
            _transactionService  = new TransactionService();

            CheckRoles();
            GetLiveItems();

            Messenger.Default.Register <TransactionTypes>(this, (message) =>
            {
                TransactionType = message;
            });
        }
예제 #5
0
        public OnHandInventoryViewModel()
        {
            CleanUp();
            _itemQuantityService = new ItemQuantityService();

            LoadCategories();
            ItemEntryEnability = false;
            FillByQuantityCombo();
            CheckRoles();
            GetWarehouses();

            if (Warehouses != null && Warehouses.Any())
            {
                SelectedWarehouse = SelectedWarehouse ?? Warehouses.FirstOrDefault();
            }
        }
예제 #6
0
        public SellItemHelperViewModel()
        {
            CleanUp();
            _itemService         = new ItemService();
            _itemQuantityService = new ItemQuantityService();
            _transactionService  = new TransactionService();

            GetLiveItems();
            GetWarehouses();

            if (Warehouses != null && Warehouses.Any())
            {
                SelectedWarehouse = SelectedWarehouse ?? Warehouses.FirstOrDefault();
            }

            CheckRoles();
        }
예제 #7
0
        public ItemEntryViewModel()
        {
            CleanUp();
            _itemService         = new ItemService();
            _itemQuantityService = new ItemQuantityService();

            CheckRoles();

            LoadCategories();
            SelectedCategory = Categories.FirstOrDefault();
            LoadUoMs();
            SelectedUnitOfMeasure = UnitOfMeasures.FirstOrDefault();

            Messenger.Default.Register <ItemQuantityDTO>(this, (message) =>
            {
                if (message != null)
                {
                    SelectedItemQuantityOld = _itemQuantityService.Find(message.Id.ToString()) ??
                                              new ItemQuantityDTO()
                    {
                        QuantityOnHand = 0,
                        ItemId         = message.ItemId,
                        WarehouseId    = message.WarehouseId
                    };
                }
            });

            Messenger.Default.Register <WarehouseDTO>(this, (message) =>
            {
                SelectedWarehouse = message;
            });


            if (_selectedItem == null)
            {
                _selectedItem    = GetNewSelectedItem();
                _itemPreviousQty = 0;
            }
            QuantityEditVisibility = "Collapsed";
        }
예제 #8
0
        private void Load()
        {
            CleanUp();
            _itemQuantityService = new ItemQuantityService();

            LoadCategories();
            ItemDetailEnability = false;

            if (Warehouses != null && Warehouses.Any())
            {
                if (SelectedWarehouse == null)
                {
                    SelectedWarehouse = Warehouses.FirstOrDefault(w => w.IsDefault) ?? Warehouses.FirstOrDefault();
                }
                else
                {
                    SelectedWarehouse = SelectedWarehouse;
                }
            }

            CheckRoles();
            TextSearchMode = "Contains";
        }
예제 #9
0
 public OnHandInventoryController()
 {
     CleanUp();
     _itemQuantityService = new ItemQuantityService();
 }