public virtual void AddItem(IncomeItem incomeFromItem, int count) { if(Items.Any (p => DomainHelper.EqualDomainObjects (p.IncomeOn, incomeFromItem))) { logger.Warn ("Номенклатура из этого прихода уже добавлена. Пропускаем..."); return; } var newItem = new WriteoffItem () { Amount = count, Nomenclature = incomeFromItem.Nomenclature, IncomeOn = incomeFromItem, }; ObservableItems.Add (newItem); }
public virtual void RemoveItem(IncomeItem item) { ObservableItems.Remove (item); }
public virtual void AddItem(Nomenclature nomenclature) { if (Operation != IncomeOperations.Enter) throw new InvalidOperationException ("Добавление номенклатуры возможно только во входящую накладную. Возвраты должны добавляться с указанием строки выдачи."); if(Items.Any (p => DomainHelper.EqualDomainObjects (p.Nomenclature, nomenclature))) { logger.Warn ("Номенклатура из уже добавлена. Пропускаем..."); return; } var newItem = new IncomeItem () { Amount = 1, Nomenclature = nomenclature, Cost = 0, LifePercent = 1, }; ObservableItems.Add (newItem); }
public virtual void AddItem(ExpenseItem expenseFromItem, int count) { if(Items.Any (p => DomainHelper.EqualDomainObjects (p.IssuedOn, expenseFromItem))) { logger.Warn ("Номенклатура из этой выдачи уже добавлена. Пропускаем..."); return; } decimal life = expenseFromItem.IncomeOn.LifePercent; decimal cost = expenseFromItem.IncomeOn.Cost; if(expenseFromItem.AutoWriteoffDate.HasValue) { double multiplier = (expenseFromItem.AutoWriteoffDate.Value - DateTime.Today).TotalDays / (expenseFromItem.AutoWriteoffDate.Value - expenseFromItem.ExpenseDoc.Date).TotalDays; life = (life * (decimal)multiplier); cost = (cost * (decimal)multiplier); } var newItem = new IncomeItem () { Amount = count, Nomenclature = expenseFromItem.Nomenclature, IssuedOn = expenseFromItem, Cost = cost, LifePercent = life }; ObservableItems.Add (newItem); }
public virtual void AddItem(IncomeItem fromIncomeItem, int amount) { if(Items.Any (p => QSOrmProject.DomainHelper.EqualDomainObjects (p.IncomeOn, fromIncomeItem))) { logger.Warn ("Номенклатура из этого поступления уже добавлена. Пропускаем..."); return; } var newItem = new ExpenseItem () { ExpenseDoc = this, Amount = amount, Nomenclature = fromIncomeItem.Nomenclature, IncomeOn = fromIncomeItem }; ObservableItems.Add (newItem); }
public virtual void AddItem(IncomeItem fromIncomeItem) { AddItem (fromIncomeItem, 1); }