public virtual void AddItem(Employee employee) { var item = new PremiumItem() { Employee = employee, Premium = this }; ObservableItems.Add(item); }
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)); }
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); } } } }
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)); }