예제 #1
0
        protected internal virtual void AddContract(Contract contract)
        {
            if (contracts.Contains(contract))
            {
                throw new Exception("Данный договор уже связан с этой организацией.");
            }

            contracts.Add(contract);
        }
예제 #2
0
        /// <summary>
        /// Добавление связанной фабрики-изготовителя
        /// </summary>
        /// <param name="manufacturer"></param>
        public virtual void AddManufacturer(Manufacturer manufacturer)
        {
            if (manufacturers.Contains(manufacturer))
            {
                throw new Exception(String.Format("Фабрика-изготовитель «{0}» уже связана с данным производителем.", manufacturer.Name));
            }

            manufacturers.Add(manufacturer);
        }
예제 #3
0
        protected internal virtual void AddContractor(Contractor contractor)
        {
            if (contractors.Contains(contractor))
            {
                throw new Exception("Данный контрагент уже связан с этим договором.");
            }

            contractors.Add(contractor);
        }
예제 #4
0
        public void TestToSetDuplicates()
        {
            ICollection <int> integers = new int[] { 1, 5, 5, 7 };

            Iesi.Collections.Generic.ISet <int> setIntegers = integers.ToSet();

            Assert.IsNotNull(setIntegers, "Nullability");
            Assert.AreEqual(3, setIntegers.Count, "Count");
            Assert.IsTrue(setIntegers.Contains(1), "Contains 1");
            Assert.IsTrue(setIntegers.Contains(5), "Contains 5");
            Assert.IsTrue(setIntegers.Contains(7), "Contains 7");
        }
예제 #5
0
        /// <summary>
        /// Добавление места хранения
        /// </summary>
        /// <param name="storage"></param>
        public virtual void AddStorage(Storage storage)
        {
            if (storages.Contains(storage))
            {
                throw new Exception("Данное место хранения уже связано с этой организацией.");
            }

            storages.Add(storage);
            if (!storage.AccountOrganizations.Contains(this))
            {
                storage.AddAccountOrganization(this);
            }
        }
예제 #6
0
        /// <summary>
        /// Добавление организации в список организаций контрагента
        /// </summary>
        public virtual void AddContractorOrganization(ContractorOrganization contractorOrganization)
        {
            if (organizations.Contains(contractorOrganization))
            {
                throw new Exception("Данная организация уже содержится в списке организаций контрагента.");
            }

            organizations.Add(contractorOrganization);
            if (!contractorOrganization.Contractors.Contains(this))
            {
                contractorOrganization.AddContractor(this);
            }
        }
예제 #7
0
        /// <summary>
        /// Добавление связанной собственной организации
        /// </summary>
        /// <param name="accountOrganization">Собственная организация</param>
        public virtual void AddAccountOrganization(AccountOrganization accountOrganization)
        {
            if (accountOrganizations.Contains(accountOrganization))
            {
                throw new Exception(String.Format("Организация «{0}» уже связана с местом хранения «{1}».", accountOrganization.ShortName, this.Name));
            }

            accountOrganizations.Add(accountOrganization);
            if (!accountOrganization.Storages.Contains(this))
            {
                accountOrganization.AddStorage(this);
            }
        }
예제 #8
0
        /// <summary>
        /// Установка нового вида распространения и добавление в список одного места хранения
        /// </summary>
        public virtual void AddStorage(Storage storage)
        {
            ValidationUtils.NotNull(storage, "Место хранения не указано.");

            CheckPossibilityToAddStorage();

            if (storages.Contains(storage))
            {
                throw new Exception("Место хранения уже имеется в списке.");
            }

            storages.Add(storage);
        }
예제 #9
0
        /// <summary>
        /// Adds an <see cref="Edge" /> to the subgraph.
        /// The associated <see cref="DirectedEdge" />s and <see cref="Node" />s are also added.
        /// </summary>
        /// <param name="e">The <see cref="Edge" /> to add.</param>
        public virtual void Add(Edge e)
        {
            if (Edges.Contains(e))
            {
                return;
            }

            Edges.Add(e);

            DirEdges.Add(e.GetDirEdge(0));
            DirEdges.Add(e.GetDirEdge(1));

            NodeMap.Add(e.GetDirEdge(0).FromNode);
            NodeMap.Add(e.GetDirEdge(1).FromNode);
        }
예제 #10
0
        /// <summary>
        /// Удаление курса валюты
        /// </summary>
        /// <param name="rate">Курс валюты</param>
        public virtual void RemoveRate(CurrencyRate rate)
        {
            ValidationUtils.NotNull(rate, String.Format("Указан недопустимый курс для валюты «{0}».", Name));
            ValidationUtils.Assert(rates.Contains(rate), String.Format("Указанный курс не принадлежит валюте «{0}».", Name));

            rates.Remove(rate);
        }
        /// <summary>
        /// Удалить этап
        /// </summary>
        /// <param name="stage">Этап</param>
        public virtual void DeleteStage(ProductionOrderBatchLifeCycleTemplateStage stage)
        {
            if (!stages.Contains(stage))
            {
                throw new Exception("Этап не найден. Возможно, он был удален.");
            }

            if (stage.IsDefault)
            {
                throw new Exception("Невозможно удалить системный этап.");
            }

            stage.Template = null;
            stages.Remove(stage);
            RecalculateOrdinalNumbers();
            CheckStageOrder();
        }
        /// <summary>
        /// Добавление оплаты
        /// </summary>
        /// <param name="payment">Оплата</param>
        public virtual void AddPayment(ProductionOrderPayment payment)
        {
            ValidationUtils.NotNull(payment, "Необходимо указать платеж.");
            ValidationUtils.Assert(!payments.Contains(payment), "Данная оплата уже связана с этим транспортным листом.");

            payment.ProductionOrderPlannedPayment = this;
            payments.Add(payment);
        }
예제 #13
0
        protected override void WriteElement(TextWriter result, string name, Dictionary <string, string> attributes, bool empty)
        {
            if (!KeepElements.Contains(name))
            {
                return;
            }

            if (KeepAttributeElements.Contains(name))
            {
                _prevNodeType = HtmlNodeType.Element;
                base.WriteElement(result, name, attributes, empty);
                return;
            }

            _prevNodeType = HtmlNodeType.Element;
            base.WriteElement(result, name, new Dictionary <string, string>(), empty);
        }
        /// <summary>
        /// Добавление оплаты
        /// </summary>
        /// <param name="payment">Оплата</param>
        protected internal virtual void AddPayment(ProductionOrderCustomsDeclarationPayment payment)
        {
            if (payments.Contains(payment))
            {
                throw new Exception("Данная оплата уже связана с этим таможенным листом.");
            }

            payments.Add(payment);
        }
예제 #15
0
        /// <summary>
        /// Добавление планируемой оплаты
        /// </summary>
        /// <param name="payment">Оплата</param>
        protected internal virtual void AddPlannedPayment(ProductionOrderPlannedPayment payment)
        {
            if (plannedPayments.Contains(payment))
            {
                throw new Exception("Данная оплата уже связана с этим заказом.");
            }

            plannedPayments.Add(payment);
        }
        /// <summary>
        /// Добавление оплаты
        /// </summary>
        /// <param name="payment">Оплата</param>
        protected internal virtual void AddPayment(ProductionOrderExtraExpensesSheetPayment payment)
        {
            if (payments.Contains(payment))
            {
                throw new Exception("Данная оплата уже связана с этим листом дополнительных расходов.");
            }

            payments.Add(payment);
        }
        /// <summary>
        /// Добавление оплаты
        /// </summary>
        /// <param name="payment">Оплата</param>
        protected internal virtual void AddPayment(ProductionOrderTransportSheetPayment payment)
        {
            if (payments.Contains(payment))
            {
                throw new Exception("Данная оплата уже связана с этим транспортным листом.");
            }

            payments.Add(payment);
        }
예제 #18
0
        /// <summary>
        /// Добавление договора
        /// </summary>
        /// <param name="newContract">Добавляемый договор</param>
        public virtual void AddContract(Contract contract)
        {
            if (contracts.Contains(contract))
            {
                throw new Exception("Данный договор уже связан с этой организацией.");
            }

            contracts.Add(contract);
            contract.AccountOrganization = this;
        }
예제 #19
0
        /// <summary>
        /// Removes the specified performed step from the set of <see cref="PerformedStep"/> objects associated with this activity,
        /// and removes this activity from the set of activities associated with the specified performed step.
        /// </summary>
        /// <param name="step"></param>
        public virtual void RemovePerformedStep(PerformedStep step)
        {
            if (_performedSteps.Contains(step))
            {
                _performedSteps.Remove(step);
            }

            if (step.Activities.Contains(this))
            {
                step.Activities.Remove(this);
            }
        }
예제 #20
0
        /// <summary>
        /// Удаление материала
        /// </summary>
        /// <param name="document"></param>
        public virtual void DeleteDocument(ProductionOrderMaterialsPackageDocument document)
        {
            ValidationUtils.NotNull(document, "Не указан документ, удаляемый из пакета материалов заказа.");
            if (!documents.Contains(document))
            {
                throw new Exception("Указанный документ не содержится в пакете материалов заказа.");
            }

            documents.Remove(document);                           //Удаляем материал

            ProductionOrderMaterialsPackageSize -= document.Size; //Добавляем размер материала к размеру пакета
            LastChangeDate = DateTime.Now;                        //Выставляем дату изменения пакета
        }
예제 #21
0
파일: Deal.cs 프로젝트: dmozhnov/EmpireERP
        /// <summary>
        /// Удаление квоты
        /// </summary>
        /// <param name="quota">Квота по сделке</param>
        public virtual void RemoveQuota(DealQuota quota, bool checkPossibility)
        {
            if (!quotas.Contains(quota))
            {
                throw new Exception("Данная квота не относится к этой сделке.");
            }

            if (checkPossibility)
            {
                CheckPossibilityToRemoveQuota(quota);
            }
            
            quotas.Remove(quota);
        }
        /// <summary>
        /// Удаление разнесения платежного документа из данной сущности. Вызывается извне.
        /// Удаляет разнесение из коллекций обоих сущностей.
        /// Переопределяет и вызывает соответствующий метод в предке
        /// </summary>
        /// <param name="paymentDistribution"></param>
        public override void RemoveDealPaymentDocumentDistribution(DealPaymentDocumentDistribution dealPaymentDocumentDistribution, bool updateSecondEntity = true)
        {
            ValidationUtils.Assert(distributions.Contains(dealPaymentDocumentDistribution), "Расшифровка распределения корректировки не связана с данной корректировкой.");
            distributions.Remove(dealPaymentDocumentDistribution);
            dealPaymentDocumentDistribution.SourceDealPaymentDocument = null;
            DistributedSum    -= dealPaymentDocumentDistribution.Sum;
            IsFullyDistributed = UndistributedSum <= 0;
            ValidationUtils.Assert(UndistributedSum >= 0, "Невозможно распределить сумму, большую суммы корректировки.");

            if (updateSecondEntity)
            {
                dealPaymentDocumentDistribution.RemoveDealPaymentDocumentDistributionFromDestination();
            }
        }
예제 #23
0
        /// <summary>
        /// Удаление разнесения платежного документа из данной сущности. Вызывается извне.
        /// Удаляет разнесение из коллекций обоих сущностей.
        /// Переопределяет и вызывает соответствующий метод в предке
        /// </summary>
        /// <param name="paymentDistribution"></param>
        public override void RemoveDealPaymentDocumentDistribution(DealPaymentDocumentDistribution dealPaymentDocumentDistribution, bool updateSecondEntity = true)
        {
            ValidationUtils.Assert(dealPaymentDocumentDistribution.Is <DealPaymentDocumentDistributionToDealPaymentDocument>(),
                                   "Неверный тип разнесения платежного документа.");

            ValidationUtils.Assert(concreteDistributions.Contains(dealPaymentDocumentDistribution.As <DealPaymentDocumentDistributionToDealPaymentDocument>()),
                                   "Расшифровка распределения корректировки не связана с данной корректировкой.");
            concreteDistributions.Remove(dealPaymentDocumentDistribution.As <DealPaymentDocumentDistributionToDealPaymentDocument>());
            dealPaymentDocumentDistribution.As <DealPaymentDocumentDistributionToDealPaymentDocument>().DestinationDealPaymentDocument = null;
            DistributedSum    -= dealPaymentDocumentDistribution.Sum;
            IsFullyDistributed = UndistributedSum <= 0;
            ValidationUtils.Assert(UndistributedSum >= 0, "Невозможно распределить сумму, большую суммы корректировки.");

            if (updateSecondEntity)
            {
                dealPaymentDocumentDistribution.RemoveDealPaymentDocumentDistributionFromSource();
            }
        }
예제 #24
0
 /// <summary>
 /// Удаление разнесения платежного документа на данную сущность
 /// </summary>
 /// <param name="paymentDistribution"></param>
 public virtual void RemoveDealPaymentDocumentDistribution(DealPaymentDocumentDistributionToSaleWaybill dealPaymentDocumentDistributionToSaleWaybill)
 {
     ValidationUtils.Assert(distributions.Contains(dealPaymentDocumentDistributionToSaleWaybill),
                            "Расшифровка распределения платежного документа не связана с данной накладной реализации.");
     distributions.Remove(dealPaymentDocumentDistributionToSaleWaybill);
 }
예제 #25
0
 /// <summary>
 /// Удаление разнесения платежного документа на данную сущность
 /// </summary>
 /// <param name="paymentDistribution"></param>
 public virtual void RemoveDealPaymentDocumentDistribution(DealPaymentDocumentDistributionToReturnFromClientWaybill dealPaymentDocumentDistributionToReturnFromClientWaybill)
 {
     ValidationUtils.Assert(distributions.Contains(dealPaymentDocumentDistributionToReturnFromClientWaybill),
                            "Расшифровка распределения платежного документа не связана с данной накладной возврата от клиента.");
     distributions.Remove(dealPaymentDocumentDistributionToReturnFromClientWaybill);
 }