protected internal virtual void AddContract(Contract contract) { if (contracts.Contains(contract)) { throw new Exception("Данный договор уже связан с этой организацией."); } contracts.Add(contract); }
/// <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); }
protected internal virtual void AddContractor(Contractor contractor) { if (contractors.Contains(contractor)) { throw new Exception("Данный контрагент уже связан с этим договором."); } contractors.Add(contractor); }
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"); }
/// <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); } }
/// <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); } }
/// <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); } }
/// <summary> /// Установка нового вида распространения и добавление в список одного места хранения /// </summary> public virtual void AddStorage(Storage storage) { ValidationUtils.NotNull(storage, "Место хранения не указано."); CheckPossibilityToAddStorage(); if (storages.Contains(storage)) { throw new Exception("Место хранения уже имеется в списке."); } storages.Add(storage); }
/// <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); }
/// <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); }
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); }
/// <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); }
/// <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; }
/// <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); } }
/// <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; //Выставляем дату изменения пакета }
/// <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(); } }
/// <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(); } }
/// <summary> /// Удаление разнесения платежного документа на данную сущность /// </summary> /// <param name="paymentDistribution"></param> public virtual void RemoveDealPaymentDocumentDistribution(DealPaymentDocumentDistributionToSaleWaybill dealPaymentDocumentDistributionToSaleWaybill) { ValidationUtils.Assert(distributions.Contains(dealPaymentDocumentDistributionToSaleWaybill), "Расшифровка распределения платежного документа не связана с данной накладной реализации."); distributions.Remove(dealPaymentDocumentDistributionToSaleWaybill); }
/// <summary> /// Удаление разнесения платежного документа на данную сущность /// </summary> /// <param name="paymentDistribution"></param> public virtual void RemoveDealPaymentDocumentDistribution(DealPaymentDocumentDistributionToReturnFromClientWaybill dealPaymentDocumentDistributionToReturnFromClientWaybill) { ValidationUtils.Assert(distributions.Contains(dealPaymentDocumentDistributionToReturnFromClientWaybill), "Расшифровка распределения платежного документа не связана с данной накладной возврата от клиента."); distributions.Remove(dealPaymentDocumentDistributionToReturnFromClientWaybill); }