Пример #1
0
        private IEnumerable <XElement> OTHER_JUSTIFICATION(AnnexD3 annex)
        {
            switch (annex.OtherJustification)
            {
            case D3OtherJustificationOptions.ContractServicesListedInDirective:
                yield return(TedHelpers.Element("CONTRACT_SERVICES_LISTED_IN_DIRECTIVE"));

                break;

            case D3OtherJustificationOptions.ContractServicesOutsideDirective:
                yield return(TedHelpers.Element("CONTRACT_SERVICES_OUTSIDE_DIRECTIVE"));

                break;

            default:
                yield break;
            }
        }
Пример #2
0
        private IEnumerable <XElement> JUSTIFICATION_C(AnnexD3 annex)
        {
            if (annex.CrisisUrgency)
            {
                yield return(TedHelpers.Element("PERIOD_FOR_PROCEDURE_INCOMPATIBLE_WITH_CRISIS"));
            }
            else
            {
                yield return(TedHelpers.Element("NO_PERIOD_FOR_PROCEDURE_INCOMPATIBLE_WITH_CRISIS"));
            }

            if (annex.ExtremeUrgency)
            {
                yield return(TedHelpers.Element("EXTREME_URGENCY_EVENTS_UNFORESEEABLE"));
            }
            else
            {
                yield return(TedHelpers.Element("NO_EXTREME_URGENCY_EVENTS_UNFORESEEABLE"));
            }

            if (annex.ProvidedByOnlyParticularOperator)
            {
                switch (annex.ReasonForNoCompetition)
                {
                case ReasonForNoCompetition.DTechnical:
                    yield return(TedHelpers.Element("REASONS_PROVIDED_PARTICULAR_TENDERER",
                                                    TedHelpers.Element("REASONS_PROVIDED_PARTICULAR_TENDERER_TECHNICAL")));

                    break;

                case ReasonForNoCompetition.DExistenceExclusive:
                    yield return(TedHelpers.Element("REASONS_PROVIDED_PARTICULAR_TENDERER",
                                                    TedHelpers.Element("REASONS_PROVIDED_PARTICULAR_TENDERER_EXCLUSIVE_RIGHTS")));

                    break;
                }
            }

            if (_notice.Project.ContractType == ContractType.Supplies ||
                _notice.Project.ContractType == ContractType.Services)
            {
                if (annex.OtherServices)
                {
                    yield return(TedHelpers.Element("CONTRACT_RESEARCH_DIRECTIVE"));
                }
                else
                {
                    yield return(TedHelpers.Element("NO_CONTRACT_RESEARCH_DIRECTIVE"));
                }

                if (annex.ProductsManufacturedForResearch)
                {
                    yield return(TedHelpers.Element("MANUFACTURED_BY_DIRECTIVE"));
                }
                else
                {
                    yield return(TedHelpers.Element("NO_MANUFACTURED_BY_DIRECTIVE"));
                }
            }

            if (annex.AdditionalDeliveries)
            {
                yield return(TedHelpers.Element("ADDITIONAL_WORKS"));
            }
            else
            {
                yield return(TedHelpers.Element("NO_ADDITIONAL_WORKS"));
            }

            if (annex.CommodityMarket)
            {
                yield return(TedHelpers.Element("SUPPLIES_QUOTED_PURCHASED_COMMODITY_MARKET"));
            }
            else
            {
                yield return(TedHelpers.Element("NO_SUPPLIES_QUOTED_PURCHASED_COMMODITY_MARKET"));
            }

            if (annex.AdvantageousTerms)
            {
                var reasonElement = annex.AdvantageousPurchaseReason == AdvantageousPurchaseReason.DFromReceivers
                    ? TedHelpers.Element("RECEIVERS_ARRANGEMENT_CREDITORS")
                    : TedHelpers.Element("SUPPLIER_WINDING_UP_BUSINESS");
                yield return(TedHelpers.Element("PURCHASE_SUPPLIES_ADVANTAGEOUS_TERMS", reasonElement));
            }

            if (_notice.Project.ContractType == ContractType.Works ||
                _notice.Project.ContractType == ContractType.Services)
            {
                if (annex.RepetitionExisting)
                {
                    yield return(TedHelpers.Element("WORKS_REPETITION_EXISTING_WORKS"));
                }
                else
                {
                    yield return(TedHelpers.Element("NO_WORKS_REPETITION_EXISTING_WORKS"));
                }
            }

            if (annex.MaritimeService)
            {
                yield return(TedHelpers.Element("AIR_MARITIME_TRANSPORT_FOR_ARMED_FORCES_DEPLOYMENT"));
            }
            else
            {
                yield return(TedHelpers.Element("NO_AIR_MARITIME_TRANSPORT_FOR_ARMED_FORCES_DEPLOYMENT"));
            }
        }