Esempio n. 1
0
        /// <summary>
        /// Reads the Alias file and creates a AliasItem containg the information read
        /// </summary>
        /// <param name="path">Path to the Alias file</param>
        /// <returns>A AliasItem containg the information from the Alias file</returns>
        /// <remarks>
        /// If the alias file do not have a language specified in the name then the
        /// default language specified in the settings will be used
        /// </remarks>
        public object Handle(string path, DatabaseLogger logger)
        {
            string fileName    = System.IO.Path.GetFileNameWithoutExtension(path);
            int    splittIndex = fileName.IndexOf('_');

            AliasItem alias = new AliasItem();

            if (splittIndex < 0)
            {
                //No underscore in the file name use the default language
                alias.Language = Settings.Current.General.Language.DefaultLanguage;
            }
            else
            {
                alias.Language = fileName.Substring(splittIndex + 1);
            }
            try
            {
                alias.Alias = ReadAll(path);
            }
            catch (System.IO.IOException ex)
            {
                logger(new DatabaseMessage()
                {
                    MessageType = DatabaseMessage.BuilderMessageType.Error, Message = "Could not read file " + path
                });
                _logger.Warn(ex.ToString());
                return(null);
            }

            return(alias);
        }
Esempio n. 2
0
 public void NewItem(object item, string path)
 {
     if (item is AliasItem)
     {
         AliasItem alias = (AliasItem)item;
         if (Array.IndexOf(_languages, alias.Language) >= 0)
         {
             if (_currentItems[alias.Language].Text == _currentItems[alias.Language].SortCode)
             {
                 _currentItems[alias.Language].SortCode = alias.Alias;
             }
             _currentItems[alias.Language].Text = alias.Alias;
         }
     }
     else if (item is LinkItem)
     {
         LinkItem itm = (LinkItem)item;
         if (Array.IndexOf(_languages, itm.Language) >= 0)
         {
             if (CheckIfLinkShallBeAdded(path, _currentItems[itm.Language]))
             {
                 //Url url = new Url(itm.Text, "", path, "", PresCategory.NotSet, itm.Location, LinkPres.NotSet);
                 Url url = new Url(itm.Text, "", "MENU_TEST", itm.Location, "", PresCategory.NotSet, itm.Location, LinkPres.NotSet);
                 _currentItems[itm.Language].SubItems.Add(url);
             }
         }
     }
     else if (item is MenuSortItem)
     {
         MenuSortItem sort = item as MenuSortItem;
         if (Array.IndexOf(_languages, sort.Language) >= 0)
         {
             _currentItems[sort.Language].SortCode = sort.SortString;
         }
     }
     else if (item is PCAxis.Paxiom.PXMeta)
     {
         PCAxis.Paxiom.PXMeta meta = (PCAxis.Paxiom.PXMeta)item;
         foreach (var language in _languages)
         {
             if (meta.HasLanguage(language))
             {
                 meta.SetLanguage(language);
                 TableLink tbl = CreateTableLink(meta, path);
                 _currentItems[language].AddSubItem(tbl);
             }
             else
             {
                 if (!_languageDependent)
                 {
                     if (meta.HasLanguage(Settings.Current.General.Language.DefaultLanguage))
                     {
                         meta.SetLanguage(Settings.Current.General.Language.DefaultLanguage);
                     }
                     else
                     {
                         meta.SetLanguage("default");
                     }
                     TableLink tbl = CreateTableLink(meta, path);
                     _currentItems[language].AddSubItem(tbl);
                 }
             }
         }
     }
 }