/// <summary>
        /// Build <see cref="OrganisationSchemeType"/> from <paramref name="dataProviderSchemeBean"/>.
        /// </summary>
        /// <param name="dataProviderSchemeBean">
        /// The build from.
        /// </param>
        /// <returns>
        /// The <see cref="OrganisationSchemeType"/> from <paramref name="dataProviderSchemeBean"/> .
        /// </returns>
        public OrganisationSchemeType Build(IDataProviderScheme dataProviderSchemeBean)
        {
            OrganisationSchemeType builtObj = this.GetOrganisationSchemeType(dataProviderSchemeBean);
            if (dataProviderSchemeBean.Items.Count > 0)
            {
                var type = new DataProvidersType();
                builtObj.DataProviders.Add(type);

                /* foreach */
                foreach (IDataProvider currentDc in dataProviderSchemeBean.Items)
                {
                    type.DataProvider.Add(this._organisationRoleXmlBuilder.Build(currentDc));
                }
            }
            return builtObj;
        }
        private void SetGeneralTab(IDataProviderScheme dataProviderScheme)
        {
            txtDSDID.Text = dataProviderScheme.Id;
            txtAgenciesReadOnly.Text = dataProviderScheme.AgencyId;
            txtVersion.Text = dataProviderScheme.Version;
            chkIsFinal.Checked = dataProviderScheme.IsFinal.IsTrue;

            FileDownload31.ucID = dataProviderScheme.Id;
            FileDownload31.ucAgency = dataProviderScheme.AgencyId;
            FileDownload31.ucVersion = dataProviderScheme.Version;
            FileDownload31.ucArtefactType = "DataProviderScheme";

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

            // 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 || dataProviderScheme.IsFinal.IsTrue)
            {
                AddTextName.Visible = false;
                AddTextDescription.Visible = false;
                txtAllDescriptions.Visible = true;
                txtAllNames.Visible = true;
                chkIsFinal.Enabled = false;
                txtAllDescriptions.Text = _localizedUtils.GetNameableDescription(dataProviderScheme);
                txtAllNames.Text = _localizedUtils.GetNameableName(dataProviderScheme);
            }
            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 = dataProviderScheme.Names;
                AddTextDescription.InitTextObjectList = dataProviderScheme.Descriptions;
            }

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

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

            if (dataProviderScheme.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;
            }
            SetDataProviderDetailPanel(dataProviderScheme);
        }
 private void SetDataProviderDetailPanel(IDataProviderScheme dataProviderScheme)
 {
     // Verifico se la codelist è final
     if (dataProviderScheme.IsFinal.IsTrue || _action == Action.VIEW)
     {
         // Se final il pulsante di add e le colonne di modifica
         // dei codici non devono apparire
         btnSaveMemoryDataProviderScheme.Visible = false;
         btnAddNewDataProvider.Visible = false;
         AddTextName_Update.ucEditMode = false;
         AddTextDescription_Update.ucEditMode = false;
         AnnotationGeneralControl.EditMode = false;
         btnSaveAnnotationCode.Enabled = false;
         btnUpdateDataProvider.Enabled = false;
         //gvDataProviderschemesItem.Columns[3].Visible = false;
         gvDataProviderschemesItem.Columns[4].Visible = false;
         //gvDataProviderschemesItem.Columns[5].Visible = false;
         cmbLanguageForCsv.Visible = false;
         imgImportCsv.Visible = false;
     }
     else
     {
         btnSaveMemoryDataProviderScheme.Visible = true;
         btnAddNewDataProvider.Visible = true;
         gvDataProviderschemesItem.Columns[3].Visible = true;
         gvDataProviderschemesItem.Columns[4].Visible = true;
         gvDataProviderschemesItem.Columns[5].Visible = true;
         Utils.PopulateCmbLanguages(cmbLanguageForCsv, AVAILABLE_MODES.MODE_FOR_ADD_TEXT);
         cmbLanguageForCsv.Visible = true;
         imgImportCsv.Visible = true;
     }
 }