private ISdmxObjects GetSdmxObjects()
        {
            ISdmxObjects sdmxObjects = null;
            WSModel dal = new WSModel();

            switch (ucArtefactType)
            {
                case "CodeList":
                    sdmxObjects = dal.GetCodeList(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "ConceptScheme":
                    sdmxObjects = dal.GetConceptScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "CategoryScheme":
                    sdmxObjects = dal.GetCategoryScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "DataFlow":
                    sdmxObjects = dal.GetDataFlow(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), false, false);
                    break;
                case "KeyFamily":
                    sdmxObjects = dal.GetDataStructure(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "Categorization":    // Aggiunto per il recupero di una Categorization   ------ Fabrizio Alonzi
                    sdmxObjects = dal.GetCategorisation(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), false, false);
                    break;
                case "AgencyScheme":
                    sdmxObjects = dal.GetAgencyScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "DataProviderScheme":
                    sdmxObjects = dal.GetDataProviderScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "DataConsumerScheme":
                    sdmxObjects = dal.GetDataConsumerScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "OrganizationUnitScheme":
                    sdmxObjects = dal.GetOrganisationUnitScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "ContentConstraint":
                    sdmxObjects = dal.GetContentConstraint(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "StructureSet":
                    sdmxObjects = dal.GetStructureSet(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                case "Hcl":
                    sdmxObjects = dal.GetHcl(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), true, false);
                    break;
                default:
                    return null;
            }

            return sdmxObjects;
        }
        private ISdmxObjects GetSdmxObjects()
        {
            ISdmxObjects sdmxObjects = null;
            WSModel dal = new WSModel();

            switch (ucArtefactType.ToUpper())
            {
                case "CODELIST":
                    sdmxObjects = dal.GetCodeList(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked,false);
                    break;
                case "CONCEPTSCHEME":
                    sdmxObjects = dal.GetConceptScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "CATEGORYSCHEME":
                    sdmxObjects = dal.GetCategoryScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "DATAFLOW":
                    sdmxObjects = dal.GetDataFlow(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "KEYFAMILY":

                        if ( chkExportCodeListAndConcept.Checked )
                        {
                            sdmxObjects = dal.GetDataStructureWithRef(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                        }
                        else
                        {
                            sdmxObjects = dal.GetDataStructure(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                        }
                    break;
                case "CATEGORIZATION":
                    sdmxObjects = dal.GetCategorisation(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "AGENCYSCHEME":
                    sdmxObjects = dal.GetAgencyScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "DATAPROVIDERSCHEME":
                    sdmxObjects = dal.GetDataProviderScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "DATACONSUMERSCHEME":
                    sdmxObjects = dal.GetDataConsumerScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "ORGANIZATIONUNITSCHEME":
                    sdmxObjects = dal.GetOrganisationUnitScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "CONTENTCONSTRAINT":
                    sdmxObjects = dal.GetContentConstraint(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "STRUCTURESET":
                    sdmxObjects = dal.GetStructureSet(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "HCL":
                    sdmxObjects = dal.GetHcl(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;

                default:
                    return null;
            }

            return sdmxObjects;
        }
예제 #3
0
        private ISdmxObjects GetSdmxObjects()
        {
            ISdmxObjects sdmxObjects = null;
            WSModel dal = new WSModel();

            switch (ucArtefactType)
            {
                case "CodeList":
                    sdmxObjects = dal.GetCodeList(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked,false);
                    break;
                case "ConceptScheme":
                    sdmxObjects = dal.GetConceptScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "CategoryScheme":
                    sdmxObjects = dal.GetCategoryScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "DataFlow":
                    sdmxObjects = dal.GetDataFlow(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "KeyFamily":

                        if ( chkExportCodeListAndConcept.Checked )
                        {
                            sdmxObjects = dal.GetDataStructureWithRef(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                        }
                        else
                        {
                            sdmxObjects = dal.GetDataStructure(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                        }
                    break;
                case "Categorization":
                    sdmxObjects = dal.GetCategorisation(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "AgencyScheme":
                    sdmxObjects = dal.GetAgencyScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "DataProviderScheme":
                    sdmxObjects = dal.GetDataProviderScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "DataConsumerScheme":
                    sdmxObjects = dal.GetDataConsumerScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "OrganizationUnitScheme":
                    sdmxObjects = dal.GetOrganisationUnitScheme(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "ContentConstraint":
                    sdmxObjects = dal.GetContentConstraint(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "StructureSet":
                    sdmxObjects = dal.GetStructureSet(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;
                case "Hcl":
                    sdmxObjects = dal.GetHcl(new ISTAT.Entity.ArtefactIdentity(ucID, ucAgency, ucVersion), chkStub.Checked, false);
                    break;

                default:
                    return null;
            }

            return sdmxObjects;
        }
        private ICategorisationMutableObject GetCategorizationFromSession()
        {
            try
            {
                if (Session[KEY_PAGE_SESSION] == null)
                {
                    if (_artIdentity.ToString() != string.Empty)
                    {
                        WSModel wsModel = new WSModel();
                        ISdmxObjects sdmxObject = wsModel.GetCategorisation(_artIdentity, false, false);
                        ICategorisationObject cat = sdmxObject.Categorisations.FirstOrDefault();
                        Session[KEY_PAGE_SESSION] = cat.MutableInstance;
                    }
                    else
                    {
                        throw new Exception();
                    }

                }
                return (ICategorisationMutableObject)Session[KEY_PAGE_SESSION];
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        protected void btnUploadFile_Click(object sender, EventArgs e)
        {
            if (uploadedFiles.HasFile)
            {
                User currentUser = Session[SESSION_KEYS.USER_DATA] as User;

                try
                {
                    //ResetSdmxSession();
                    WSModel wsModel = new WSModel();
                    XmlDocument xDocStructure = new XmlDocument();
                    XmlDocument xDocMessage = new XmlDocument();
                    XmlDocument xRet;
                    WSUtils utils = new WSUtils();
                    ISdmxObjects sdmxObjects;

                    string FilePath = SaveFile();

                    // Carico il file in un XMLDOcument
                    xDocStructure.Load(FilePath);

                    // Carico l'XMLDocument in un SDMXObjects
                    sdmxObjects = utils.GetSdmxObjectsFromXML(xDocStructure);

                    List<ImportedItem> items = new List<ImportedItem>();
                    bool itemIsOk;
                    foreach (ICodelistObject tmpCodeList in sdmxObjects.Codelists)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetCodeList(new ArtefactIdentity(tmpCodeList.Id, tmpCodeList.AgencyId, tmpCodeList.Version), true, false);
                            if (checkedObject.Codelists.Count > 0)
                            {
                                ICodelistObject checkedCodelist = checkedObject.Codelists.First();
                                if (checkedCodelist.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }

                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpCodeList.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpCodeList), tmpCodeList.Id, tmpCodeList.AgencyId, tmpCodeList.Version, "CODELIST", itemIsOk));
                        }
                    }

                    foreach (IConceptSchemeObject tmpConceptScheme in sdmxObjects.ConceptSchemes)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetConceptScheme(new ArtefactIdentity(tmpConceptScheme.Id, tmpConceptScheme.AgencyId, tmpConceptScheme.Version), true, false);
                            if (checkedObject.ConceptSchemes.Count > 0)
                            {
                                IConceptSchemeObject checkedConcepScheme = checkedObject.ConceptSchemes.First();
                                if (checkedConcepScheme.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }

                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpConceptScheme.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpConceptScheme), tmpConceptScheme.Id, tmpConceptScheme.AgencyId, tmpConceptScheme.Version, "CONCEPT_SCHEME", itemIsOk));
                        }
                    }

                    foreach (ICategorySchemeObject tmpCategoryScheme in sdmxObjects.CategorySchemes)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetCategoryScheme(new ArtefactIdentity(tmpCategoryScheme.Id, tmpCategoryScheme.AgencyId, tmpCategoryScheme.Version), true, false);
                            if (checkedObject.CategorySchemes.Count > 0)
                            {
                                ICategorySchemeObject checkedCategoryScheme = checkedObject.CategorySchemes.First();
                                if (checkedCategoryScheme.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }

                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpCategoryScheme.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpCategoryScheme), tmpCategoryScheme.Id, tmpCategoryScheme.AgencyId, tmpCategoryScheme.Version, "CATEGORY_SCHEME", itemIsOk));
                        }
                    }

                    foreach (IDataStructureObject tmpDataStructure in sdmxObjects.DataStructures)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetDataStructure(new ArtefactIdentity(tmpDataStructure.Id, tmpDataStructure.AgencyId, tmpDataStructure.Version), true, false);
                            if (checkedObject.DataStructures.Count > 0)
                            {
                                IDataStructureObject checkedDataStructure = checkedObject.DataStructures.First();
                                if (checkedDataStructure.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }
                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpDataStructure.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpDataStructure), tmpDataStructure.Id, tmpDataStructure.AgencyId, tmpDataStructure.Version, "DSD", itemIsOk));
                        }
                    }

                    foreach (IAgencyScheme tmpAgencyScheme in sdmxObjects.AgenciesSchemes)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetAgencyScheme(new ArtefactIdentity(tmpAgencyScheme.Id, tmpAgencyScheme.AgencyId, tmpAgencyScheme.Version), true, false);
                            if (checkedObject.AgenciesSchemes.Count > 0)
                            {
                                IAgencyScheme checkedAgencyScheme = checkedObject.AgenciesSchemes.First();
                                if (checkedAgencyScheme.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }
                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpAgencyScheme.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpAgencyScheme), tmpAgencyScheme.Id, tmpAgencyScheme.AgencyId, tmpAgencyScheme.Version, "AGENCY_SCHEME", itemIsOk));
                        }
                    }

                    foreach (IDataProviderScheme tmpDataProviderScheme in sdmxObjects.DataProviderSchemes)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetDataProviderScheme(new ArtefactIdentity(tmpDataProviderScheme.Id, tmpDataProviderScheme.AgencyId, tmpDataProviderScheme.Version), true, false);
                            if (checkedObject.DataProviderSchemes.Count > 0)
                            {
                                IDataProviderScheme checkedDataProviderScheme = checkedObject.DataProviderSchemes.First();
                                if (checkedDataProviderScheme.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }
                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpDataProviderScheme.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpDataProviderScheme), tmpDataProviderScheme.Id, tmpDataProviderScheme.AgencyId, tmpDataProviderScheme.Version, "DATA_PROVIDER_SCHEME", itemIsOk));
                        }
                    }

                    foreach (IDataConsumerScheme tmpDataConsumerScheme in sdmxObjects.DataConsumerSchemes)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetDataConsumerScheme(new ArtefactIdentity(tmpDataConsumerScheme.Id, tmpDataConsumerScheme.AgencyId, tmpDataConsumerScheme.Version), true, false);
                            if (checkedObject.DataConsumerSchemes.Count > 0)
                            {
                                IDataConsumerScheme checkedDataConsumerScheme = checkedObject.DataConsumerSchemes.First();
                                if (checkedDataConsumerScheme.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }

                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpDataConsumerScheme.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpDataConsumerScheme), tmpDataConsumerScheme.Id, tmpDataConsumerScheme.AgencyId, tmpDataConsumerScheme.Version, "DATA_CONSUMER_SCHEME", itemIsOk));
                        }
                    }

                    foreach (IOrganisationUnitSchemeObject tmpOrganizationUnitScheme in sdmxObjects.OrganisationUnitSchemes)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetOrganisationUnitScheme(new ArtefactIdentity(tmpOrganizationUnitScheme.Id, tmpOrganizationUnitScheme.AgencyId, tmpOrganizationUnitScheme.Version), true, false);
                            if (checkedObject.OrganisationUnitSchemes.Count > 0)
                            {
                                IOrganisationUnitSchemeObject checkedOrganisationUnitScheme = checkedObject.OrganisationUnitSchemes.First();
                                if (checkedOrganisationUnitScheme.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }

                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpOrganizationUnitScheme.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpOrganizationUnitScheme), tmpOrganizationUnitScheme.Id, tmpOrganizationUnitScheme.AgencyId, tmpOrganizationUnitScheme.Version, "ORGANIZATION_UNIT_SCHEME", itemIsOk));
                        }
                    }

                    foreach (IContentConstraintObject tmpContentConstraint in sdmxObjects.ContentConstraintObjects)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetContentConstraint(new ArtefactIdentity(tmpContentConstraint.Id, tmpContentConstraint.AgencyId, tmpContentConstraint.Version), true, false);
                            if (checkedObject.ContentConstraintObjects.Count > 0)
                            {
                                IContentConstraintObject checkedContentConstraint = checkedObject.ContentConstraintObjects.First();
                                if (checkedContentConstraint.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }
                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpContentConstraint.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpContentConstraint), tmpContentConstraint.Id, tmpContentConstraint.AgencyId, tmpContentConstraint.Version, "CONTENT_CONSTRAINT", itemIsOk));
                        }
                    }

                    foreach (IStructureSetObject tmpStructureSet in sdmxObjects.StructureSets)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetStructureSet(new ArtefactIdentity(tmpStructureSet.Id, tmpStructureSet.AgencyId, tmpStructureSet.Version), true, false);
                            if (checkedObject.StructureSets.Count > 0)
                            {
                                IStructureSetObject checkedStructureSet = checkedObject.StructureSets.First();
                                if (checkedStructureSet.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }
                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpStructureSet.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpStructureSet), tmpStructureSet.Id, tmpStructureSet.AgencyId, tmpStructureSet.Version, "STRUCTURE_SET", itemIsOk));
                        }
                    }

                    foreach (IHierarchicalCodelistObject tmpHierarchicalCodelist in sdmxObjects.HierarchicalCodelists)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetHcl(new ArtefactIdentity(tmpHierarchicalCodelist.Id, tmpHierarchicalCodelist.AgencyId, tmpHierarchicalCodelist.Version), true, false);
                            if (checkedObject.HierarchicalCodelists.Count > 0)
                            {
                                IHierarchicalCodelistObject checkedHierarchicalCodelist = checkedObject.HierarchicalCodelists.First();
                                if (checkedHierarchicalCodelist.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }
                        var foundAgency = (from agency in currentUser.agencies
                                          where agency.id.Equals( tmpHierarchicalCodelist.AgencyId.ToString() )
                                          select agency).ToList<UserAgency>();

                        if ( foundAgency.Count > 0 )
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpHierarchicalCodelist), tmpHierarchicalCodelist.Id, tmpHierarchicalCodelist.AgencyId, tmpHierarchicalCodelist.Version, "HIERARCHICAL_CODELIST", itemIsOk));
                        }
                    }

                    foreach (ICategorisationObject tmpCatObj in sdmxObjects.Categorisations)
                    {
                        itemIsOk = true;
                        try
                        {
                            ISdmxObjects checkedObject = wsModel.GetCategorisation(new ArtefactIdentity(tmpCatObj.Id, tmpCatObj.AgencyId, tmpCatObj.Version), true, false);
                            if (checkedObject.Categorisations.Count > 0)
                            {
                                ICategorisationObject checkedCategorisation = checkedObject.Categorisations.First();
                                if (checkedCategorisation.IsFinal.IsTrue)
                                {
                                    itemIsOk = false;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            itemIsOk = true;
                        }
                        var foundAgency = (from agency in currentUser.agencies
                                           where agency.id.Equals(tmpCatObj.AgencyId.ToString())
                                           select agency).ToList<UserAgency>();

                        if (foundAgency.Count > 0)
                        {
                            items.Add(new ImportedItem(localizedUtils.GetNameableName(tmpCatObj), tmpCatObj.Id, tmpCatObj.AgencyId, tmpCatObj.Version, "CATEGORISATION", itemIsOk));
                        }
                    }
                    Session[IMPORTED_ITEMS_STRING] = items;
                    Session[IMPORTED_SDMX_OBJECT] = sdmxObjects;
                    gridView.DataSource = items;
                    gridView.DataBind();
                    if ( items.Count != 0 )
                    {
                        btnConfirmImport.Visible = true;
                        lblNoItemsAllowed.Visible = false;
                    }
                    else
                    {
                        Utils.AppendScript( "$('#chbSelectAll').hide();" );
                        lblSelectAll.Visible = false;
                        lblNoItemsAllowed.Visible = true;
                        btnConfirmImport.Visible = false;
                    }

                    Utils.AppendScript("openPopUp('importedItemsGridDiv', 600);");
                }
                catch (Exception ex)
                {
                    string msg;
                    if (ex.InnerException != null)
                        msg = ex.InnerException.Message;
                    else
                        msg = ex.Message;

                    Utils.ShowDialog(msg);
                }
            }
            else
            {
                Utils.ShowDialog( Resources.Messages.err_no_file_uploaded );
            }
        }
예제 #6
0
        private ISdmxObjects GetSdmxObjects()
        {
            WSModel wsModel = new WSModel();
            ISdmxObjects sdmxInput;
            ISdmxObjects sdmxFinal;
            IMutableObjects mutableObj = new MutableObjectsImpl();
            LocalizedUtils localizedUtils = new LocalizedUtils(Utils.LocalizedCulture);

            sdmxFinal = new SdmxObjectsImpl();

            try
            {
                sdmxInput = wsModel.GetCategorisation(new ArtefactIdentity(SearchBar1.ucID, SearchBar1.ucAgency, SearchBar1.ucVersion), false,true);

                if (SearchBar1.ucName.Trim() != string.Empty)
                {
                    foreach (ICategorisationObject cat in sdmxInput.Categorisations)
                    {
                        if (localizedUtils.GetNameableName(cat).ToUpper().Contains(SearchBar1.ucName.Trim().ToUpper()))
                            mutableObj.AddCategorisation(cat.MutableInstance);

                    }
                    sdmxFinal = mutableObj.ImmutableObjects;
                }
                else
                    sdmxFinal = sdmxInput;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return sdmxFinal;
        }