/// <summary>
        /// The build.
        /// </summary>
        /// <param name="dataConsumerScheme">
        /// The data consumer scheme.
        /// </param>
        /// <returns>
        /// The <see cref="OrganisationSchemeType"/> .
        /// </returns>
        public OrganisationSchemeType Build(IDataConsumerScheme dataConsumerScheme)
        {
            OrganisationSchemeType builtObj = this.GetOrganisationSchemeType(dataConsumerScheme);
            if (dataConsumerScheme.Items.Count > 0)
            {
                var dataConsumersType = new DataConsumersType();
                builtObj.DataConsumers.Add(dataConsumersType);

                /* foreach */
                foreach (IDataConsumer currentDc in dataConsumerScheme.Items)
                {
                    dataConsumersType.DataConsumer.Add(this._organisationRoleXmlBuilder.Build(currentDc));
                }
            }
            return builtObj;
        }
        private void SetGeneralTab(IDataConsumerScheme dataConsumerScheme)
        {
            txtDSDID.Text = dataConsumerScheme.Id;
            txtAgenciesReadOnly.Text = dataConsumerScheme.AgencyId;
            txtVersion.Text = dataConsumerScheme.Version;
            chkIsFinal.Checked = dataConsumerScheme.IsFinal.IsTrue;

            FileDownload31.ucID = dataConsumerScheme.Id;
            FileDownload31.ucAgency = dataConsumerScheme.AgencyId;
            FileDownload31.ucVersion = dataConsumerScheme.Version;
            FileDownload31.ucArtefactType = "DataConsumerScheme";

            txtDSDURI.Text = (dataConsumerScheme.Uri != null) ? dataConsumerScheme.Uri.AbsoluteUri : string.Empty;
            txtDSDURN.Text = (dataConsumerScheme.Urn != null) ? dataConsumerScheme.Urn.AbsoluteUri : string.Empty;
            txtValidFrom.Text = (dataConsumerScheme.StartDate != null) ? string.Format("{0}/{1}/{2}", dataConsumerScheme.StartDate.Date.Value.Day.ToString(), dataConsumerScheme.StartDate.Date.Value.Month.ToString(), dataConsumerScheme.StartDate.Date.Value.Year.ToString()) : string.Empty;
            txtValidTo.Text = (dataConsumerScheme.EndDate != null) ? string.Format("{0}/{1}/{2}", dataConsumerScheme.EndDate.Date.Value.Day.ToString(), dataConsumerScheme.EndDate.Date.Value.Month.ToString(), dataConsumerScheme.EndDate.Date.Value.Year.ToString()) : string.Empty;
            txtDSDName.Text = _localizedUtils.GetNameableName(dataConsumerScheme);
            txtDSDDescription.Text = _localizedUtils.GetNameableDescription(dataConsumerScheme);

            // Svuoto le griglie name e description
            //===========================================
            if (AddTextName.TextObjectList != null && AddTextName.TextObjectList.Count != 0)
            {
                AddTextName.ClearTextObjectList();
            }
            if (AddTextDescription.TextObjectList != null && AddTextDescription.TextObjectList.Count != 0)
            {
                AddTextDescription.ClearTextObjectList();
            }

            txtDSDID.Enabled = false;
            txtVersion.Enabled = false;
            cmbAgencies.Enabled = false;

            if (_action == Action.VIEW || dataConsumerScheme.IsFinal.IsTrue)
            {
                AddTextName.Visible = false;
                AddTextDescription.Visible = false;
                txtAllDescriptions.Visible = true;
                txtAllNames.Visible = true;
                chkIsFinal.Enabled = false;
                txtAllDescriptions.Text = _localizedUtils.GetNameableDescription(dataConsumerScheme);
                txtAllNames.Text = _localizedUtils.GetNameableName(dataConsumerScheme);
            }
            else
            {
                AspConfirmationExit = "true";

                AddTextName.Visible = true;
                AddTextDescription.Visible = true;
                txtAllDescriptions.Visible = false;
                txtAllNames.Visible = false;

                /*
                 * DA IMPLEMENTARE L'ADDING NELLE GRIDS DI MASSIMILIANO
                 */

                AddTextName.InitTextObjectList = dataConsumerScheme.Names;
                AddTextDescription.InitTextObjectList = dataConsumerScheme.Descriptions;
            }

            if ( _action != Action.VIEW )
            {
                DuplicateArtefact1.Visible = true;
            }

            AnnotationGeneralControl.AddText_ucOpenTabName = AnnotationGeneralControl.ClientID;
            AnnotationGeneralControl.AnnotationObjectList = dataConsumerScheme.MutableInstance.Annotations;
            AnnotationGeneralControl.EditMode = (dataConsumerScheme.IsFinal.IsTrue || _action == Action.VIEW) ? false : true;
            AnnotationGeneralControl.OwnerAgency =  txtAgenciesReadOnly.Text;
            ctr_annotation_update.EditMode = (dataConsumerScheme.IsFinal.IsTrue || _action == Action.VIEW) ? false : true;

            if (dataConsumerScheme.IsFinal.IsTrue || _action == Action.VIEW)
            {
                txtValidFrom.Enabled = false;
                txtValidTo.Enabled = false;
                txtDSDName.Enabled = false;
                txtDSDDescription.Enabled = false;
                txtDSDURI.Enabled = false;
                chkIsFinal.Enabled = false;
            }
            else
            {
                txtValidFrom.Enabled = true;
                txtValidTo.Enabled = true;
                txtDSDName.Enabled = true;
                txtDSDDescription.Enabled = true;
                txtDSDURI.Enabled = true;
                //chkIsFinal.Enabled = true;
            }

            //===========================================
            if ( _action == Action.INSERT )
            {
                cmbAgencies.Visible = true;
                txtAgenciesReadOnly.Visible = false;
            }
            else
            {
                cmbAgencies.Visible = false;
                txtAgenciesReadOnly.Visible = true;
            }
            SetDataConsumerDetailPanel(dataConsumerScheme);
        }
 private void SetDataConsumerDetailPanel(IDataConsumerScheme dataConsumerScheme)
 {
     // Verifico se la codelist è final
     if (dataConsumerScheme.IsFinal.IsTrue || _action == Action.VIEW)
     {
         // Se final il pulsante di add e le colonne di modifica
         // dei codici non devono apparire
         btnSaveMemoryDataConsumerScheme.Visible = false;
         btnAddNewDataConsumer.Visible = false;
         AddTextName_Update.ucEditMode = false;
         AddTextDescription_Update.ucEditMode = false;
         AnnotationGeneralControl.EditMode = false;
         btnSaveAnnotationCode.Enabled = false;
         btnUpdateDataConsumer.Enabled = false;
         //gvDataConsumerschemesItem.Columns[3].Visible = false;
         gvDataConsumerschemesItem.Columns[4].Visible = false;
         //gvDataConsumerschemesItem.Columns[5].Visible = false;
         cmbLanguageForCsv.Visible = false;
         imgImportCsv.Visible = false;
     }
     else
     {
         btnSaveMemoryDataConsumerScheme.Visible = true;
         btnAddNewDataConsumer.Visible = true;
         gvDataConsumerschemesItem.Columns[3].Visible = true;
         gvDataConsumerschemesItem.Columns[4].Visible = true;
         gvDataConsumerschemesItem.Columns[5].Visible = true;
         Utils.PopulateCmbLanguages(cmbLanguageForCsv, AVAILABLE_MODES.MODE_FOR_ADD_TEXT);
         cmbLanguageForCsv.Visible = true;
         imgImportCsv.Visible = true;
     }
 }