/// <summary> /// Convert the specified <paramref name="conceptScheme"/> to CodeList. /// </summary> /// <param name="conceptScheme">The concept scheme.</param> /// <returns>The CodeList.</returns> public static ICodelistMutableObject ConvertToCodelist(this IConceptSchemeMutableObject conceptScheme) { ICodelistMutableObject codelist = new CodelistMutableCore() { Id = conceptScheme.Id, AgencyId = conceptScheme.AgencyId, Version = conceptScheme.Version, FinalStructure = conceptScheme.FinalStructure, IsPartial = conceptScheme.IsPartial, }; codelist.Names.AddAll(conceptScheme.Names); codelist.Descriptions.AddAll(conceptScheme.Descriptions); foreach (var item in conceptScheme.Items) { ICodeMutableObject code = new CodeMutableCore { Id = item.Id, }; code.Names.AddAll(item.Names); code.Descriptions.AddAll(item.Descriptions); codelist.AddItem(code); } return(codelist); }
/// <summary> /// Handles the ConceptScheme element child elements /// </summary> /// <param name="parent"> /// The parent IConceptSchemeMutableObject object /// </param> /// <param name="localName"> /// The name of the current xml element /// </param> private ElementActions HandleChildElements(IConceptSchemeMutableObject parent, object localName) { ElementActions actions = null; if (NameTableCache.IsElement(localName, ElementNameTable.Concept)) { var concept = new ConceptMutableCore(); ParseAttributes(concept, this.Attributes); string representation = Helper.TrySetFromAttribute( this.Attributes, AttributeNameTable.coreRepresentation, string.Empty); if (!string.IsNullOrWhiteSpace(representation)) { concept.CoreRepresentation = new RepresentationMutableCore(); string coreRepresentationAgency = Helper.TrySetFromAttribute( this.Attributes, AttributeNameTable.coreRepresentationAgency, string.Empty); concept.CoreRepresentation.Representation = new StructureReferenceImpl( coreRepresentationAgency, representation, null, SdmxStructureEnumType.CodeList); /* TODO check if coreRepresentationVersion was used somewhere. * var coreRepresentationVersion = Helper.TrySetFromAttribute( this.Attributes, AttributeNameTable.coreRepresentationVersion, string.Empty); */ } concept.ParentConcept = Helper.TrySetFromAttribute( this.Attributes, AttributeNameTable.parent, concept.ParentConcept); concept.ParentAgency = Helper.TrySetFromAttribute( this.Attributes, AttributeNameTable.parentAgency, concept.ParentAgency); parent.AddItem(concept); actions = this.AddNameableAction(concept, this.HandleChildElements); } return actions; }
private bool SendQuerySubmit(IConceptSchemeMutableObject cs) { try { ISdmxObjects sdmxObjects = new SdmxObjectsImpl(); sdmxObjects.AddConceptScheme(cs.ImmutableInstance); WSModel modelConceptScheme = new WSModel(); XmlDocument result = modelConceptScheme.SubmitStructure(sdmxObjects); if (Utils.GetXMLResponseError(result) != "") { Utils.ShowDialog(Utils.GetXMLResponseError(result), 350, "Error"); return false; } return true; } catch (Exception ex) { throw ex; } }
private bool SaveInMemory(IConceptSchemeMutableObject cs) { if (cs == null) return false; Session[KEY_PAGE_SESSION] = cs; return true; }
private IConceptSchemeMutableObject InsertConceptInConceptscheme(IConceptSchemeMutableObject cs) { if (cs == null) return null; IConceptMutableObject concept = new ConceptMutableCore(); string concept_id = txt_id_new.Text.Trim(); IList<ITextTypeWrapperMutableObject> concept_names = AddTextName_new.TextObjectList; IList<ITextTypeWrapperMutableObject> concept_descs = AddTextDescription_new.TextObjectList; string concept_parent_id = txt_parentid_new.Text.Trim(); // string code_order_str = txtOrderNewCode.Text.Trim(); ----- ORDINE #region CONCEPT ID if (ValidationUtils.CheckIdFormat(concept_id)) { concept.Id = concept_id; } else { lblErrorOnNewInsert.Text = Resources.Messages.err_id_format; Utils.AppendScript("openPopUp('df-Dimension', 600);"); Utils.AppendScript("location.href= '#concepts';"); return null; } IEnumerable<IConceptMutableObject> concepts = (from c in cs.Items where c.Id == concept_id select c).OfType<IConceptMutableObject>(); if (concepts.Count() > 0) { lblErrorOnNewInsert.Text = Resources.Messages.err_id_exist; Utils.AppendScript("openPopUp('df-Dimension', 600);"); Utils.AppendScript("location.href= '#concepts';"); return null; } #endregion #region CODE NAMES if (concept_names != null) { foreach (var tmpName in concept_names) { concept.AddName(tmpName.Locale, tmpName.Value); } } else { lblErrorOnNewInsert.Text = Resources.Messages.err_list_name_format; Utils.AppendScript("openPopUp('df-Dimension', 600);"); Utils.AppendScript("location.href= '#concepts';"); return null; } #endregion #region CONCEPT DESCRIPTIONS if (concept_descs != null) { foreach (var tmpDescription in concept_descs) { concept.AddDescription(tmpDescription.Locale, tmpDescription.Value); } } #endregion #region PARANT ID if (concept_id.Equals(concept_parent_id)) { lblErrorOnNewInsert.Text = Resources.Messages.err_parent_id_same_value; Utils.AppendScript("openPopUp('df-Dimension-update', 600 );"); Utils.AppendScript("location.href= '#concepts';"); return null; } if (!concept_parent_id.Equals(string.Empty) && ValidationUtils.CheckIdFormat(concept_id)) { IEnumerable<IConceptMutableObject> parentConcept = (from c in cs.Items where c.Id == concept_parent_id select c).OfType<IConceptMutableObject>(); if (parentConcept.Count() > 0) concept.ParentConcept = concept_parent_id; else { lblErrorOnNewInsert.Text = Resources.Messages.err_parent_id_not_found; Utils.AppendScript("openPopUp('df-Dimension', 600);"); Utils.AppendScript("location.href= '#concepts';"); return null; } } #endregion cs.Items.Add(concept); try { // Ultimo controllo se ottengo Immutable istanze validazione completa var canRead = cs.ImmutableInstance; } catch (Exception ex) { cs.Items.Remove(concept); return null; } return cs; }
private IConceptSchemeMutableObject GetConceptschemeForm(IConceptSchemeMutableObject cs) { if (cs == null) return GetConceptschemeForm(); bool isInError = false; // Indicatore di errore string messagesGroup = string.Empty; // Stringa di raggruppamento errori int errorCounter = 1; // Contatore errori #region CONCEPTSCHEME ID if (!ValidationUtils.CheckIdFormat(txtDSDID.Text)) { messagesGroup += Convert.ToString(errorCounter) + ")" + Resources.Messages.err_id_format + "<br /><br />"; errorCounter++; isInError = true; } #endregion #region CONCEPTSCHEME AGENCY if (cmbAgencies.Text.Trim().Equals(string.Empty)) { messagesGroup += Convert.ToString(errorCounter) + ") " + Resources.Messages.err_agency_missing + "<br /><br />"; errorCounter++; isInError = true; } #endregion #region CONCEPTSCHEME VERSION if (!ValidationUtils.CheckVersionFormat(txtVersion.Text)) { messagesGroup += Convert.ToString(errorCounter) + ")" + Resources.Messages.err_version_format + "<br /><br />"; errorCounter++; isInError = true; } #endregion /* URI NOT REQUIRED */ #region CONCEPTSCHEME URI if ((txtDSDURI.Text != string.Empty) && !ValidationUtils.CheckUriFormat(txtDSDURI.Text)) { messagesGroup += Convert.ToString(errorCounter) + ")" + Resources.Messages.err_uri_format + "<br /><br />"; errorCounter++; isInError = true; } #endregion #region CONCEPTSCHEME NAMES if (AddTextName.TextObjectList == null || AddTextName.TextObjectList.Count == 0) { messagesGroup += Convert.ToString(errorCounter) + ")" + Resources.Messages.err_list_name_format + "<br /><br />"; errorCounter++; isInError = true; } #endregion #region CONCEPTSCHEME START END DATE bool checkForDatesCombination = true; if (!txtValidFrom.Text.Trim().Equals(string.Empty) && !ValidationUtils.CheckDateFormat(txtValidFrom.Text)) { messagesGroup += Convert.ToString(errorCounter) + ")" + Resources.Messages.err_date_from_format + "<br /><br />"; errorCounter++; checkForDatesCombination = false; isInError = true; } if (!txtValidTo.Text.Trim().Equals(string.Empty) && !ValidationUtils.CheckDateFormat(txtValidTo.Text)) { messagesGroup += Convert.ToString(errorCounter) + ")" + Resources.Messages.err_date_to_format + "<br /><br />"; errorCounter++; checkForDatesCombination = false; isInError = true; } if (!txtValidFrom.Text.Trim().Equals(string.Empty) && !txtValidTo.Text.Trim().Equals(string.Empty)) { // Controllo congruenza date if (checkForDatesCombination) { if (!ValidationUtils.CheckDates(txtValidFrom.Text, txtValidTo.Text)) { messagesGroup += Convert.ToString(errorCounter) + ")" + Resources.Messages.err_date_diff + "<br /><br />"; errorCounter++; isInError = true; } } } #endregion if (isInError) { Utils.ShowDialog(messagesGroup, 300); return null; } #region CREATE CONCEPTSCHEME FROM FORM cs.AgencyId = GetAgencyValue(); cs.Id = txtDSDID.Text; cs.Version = txtVersion.Text; cs.FinalStructure = TertiaryBool.ParseBoolean(chkIsFinal.Checked); cs.Uri = (!txtDSDURI.Text.Trim().Equals(string.Empty) && ValidationUtils.CheckUriFormat(txtDSDURI.Text)) ? new Uri(txtDSDURI.Text) : null; if (!txtValidFrom.Text.Trim().Equals(string.Empty)) { cs.StartDate = DateTime.ParseExact(txtValidFrom.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); } if (!txtValidTo.Text.Trim().Equals(string.Empty)) { cs.EndDate = DateTime.ParseExact(txtValidTo.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); } if (cs.Names.Count != 0) { cs.Names.Clear(); } if (cs.Descriptions.Count != 0) { cs.Descriptions.Clear(); } foreach (var tmpName in AddTextName.TextObjectList) { cs.AddName(tmpName.Locale, tmpName.Value); } if (AddTextDescription.TextObjectList != null) foreach (var tmpDescription in AddTextDescription.TextObjectList) { cs.AddDescription(tmpDescription.Locale, tmpDescription.Value); } if (cs.Annotations.Count != 0) { cs.Annotations.Clear(); } if (AnnotationGeneralControl.AnnotationObjectList != null) foreach (var annotation in AnnotationGeneralControl.AnnotationObjectList) { cs.AddAnnotation(annotation); } #endregion return cs; }