Ejemplo n.º 1
0
        public virtual void AddItem(Employee employee)
        {
            var item = new PremiumItem()
            {
                Employee = employee,
                Premium  = this
            };

            ObservableItems.Add(item);
        }
Ejemplo n.º 2
0
        public virtual void AddItem(SubdivisionIssueOperation operation, int count)
        {
            if (operation.Issued == 0)
            {
                throw new InvalidOperationException("Этот метод можно использовать только с операциями выдачи.");
            }

            if (Items.Any(p => DomainHelper.EqualDomainObjects(p.SubdivisionWriteoffOperation?.IssuedOperation, operation)))
            {
                logger.Warn("Номенклатура из этой выдачи уже добавлена. Пропускаем...");
                return;
            }

            ObservableItems.Add(new WriteoffItem(this, operation, count));
        }
Ejemplo n.º 3
0
        private void UpdateItemList(ICollection <DirectItem> source)
        {
            if (source == null)
            {
                return;
            }
            var convertedSource = source.Select(x => new InstaDirectInboxItemWrapper(x, this, _instaApi)).ToList();

            DecorateItems(convertedSource);
            if (ObservableItems.Count == 0)
            {
                foreach (var item in convertedSource)
                {
                    ObservableItems.Add(item);
                }
                return;
            }

            foreach (var item in convertedSource)
            {
                var existingItem = ObservableItems.SingleOrDefault(x => x.Equals(item));
                var existed      = existingItem != null;

                if (existed)
                {
                    if (item.Reactions != null)
                    {
                        existingItem.Reactions.Update(item.Reactions, Users);
                    }
                    continue;
                }
                for (var i = ObservableItems.Count - 1; i >= 0; i--)
                {
                    if (item.Timestamp > ObservableItems[i].Timestamp)
                    {
                        ObservableItems.Insert(i + 1, item);
                        break;
                    }

                    if (i == 0)
                    {
                        ObservableItems.Insert(0, item);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public virtual void AddItem(StockPosition position, Warehouse warehouse, int count)
        {
            if (position == null)
            {
                throw new ArgumentNullException(nameof(position));
            }

            if (warehouse == null)
            {
                throw new ArgumentNullException(nameof(warehouse));
            }

            if (Items.Any(p => p.WarehouseOperation?.ExpenseWarehouse == warehouse && position.Equals(p.StockPosition)))
            {
                logger.Warn($"Позиция [{position}] для склада {warehouse.Name} уже добавлена. Пропускаем...");
                return;
            }

            ObservableItems.Add(new WriteoffItem(this, position, warehouse, count));
        }