Example #1
0
        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);
        }
Example #2
0
 public virtual void RemoveItem(IncomeItem item)
 {
     ObservableItems.Remove (item);
 }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
 public virtual void AddItem(IncomeItem fromIncomeItem)
 {
     AddItem (fromIncomeItem, 1);
 }