SmartAPI
Open Source .NET RQL library for RedDot CMS / OpenText WSM Management Server
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Pages
ILanguageVariant.cs
Go to the documentation of this file.
1 ï»¿// SmartAPI - .Net programmatic access to RedDot servers
2 //
3 // Copyright (C) 2013 erminas GbR
4 //
5 // This program is free software: you can redistribute it and/or modify it
6 // under the terms of the GNU General Public License as published by the Free Software Foundation,
7 // either version 3 of the License, or (at your option) any later version.
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11 // See the GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License along with this program.
14 // If not, see <http://www.gnu.org/licenses/>.
15 
16 using System.Xml;
17 
18 namespace erminas.SmartAPI.CMS.Project
19 {
21  {
22  string Abbreviation { get; }
23  bool IsCurrentLanguageVariant { get; }
24  bool IsMainLanguage { get; }
25  void Select();
26  }
27 
28  internal class LanguageVariant : RedDotProjectObject, ILanguageVariant
29  {
30  private string _abbreviation;
31  private bool _isCurrentLanguageVariant;
32  private bool _isMainLanguage;
33 
34  internal LanguageVariant(IProject project, XmlElement xmlElement) : base(project, xmlElement)
35  {
36  LoadXml();
37  }
38 
39  public string Abbreviation
40  {
41  get { return _abbreviation; }
42  }
43 
44  public bool IsCurrentLanguageVariant
45  {
46  get { return _isCurrentLanguageVariant; }
47  internal set { _isCurrentLanguageVariant = value; }
48  }
49 
50  public bool IsMainLanguage
51  {
52  get { return _isMainLanguage; }
53  }
54 
55  public void Select()
56  {
57  Project.LanguageVariants.Current = this;
58  }
59 
60  private void LoadXml()
61  {
62  InitIfPresent(ref _isCurrentLanguageVariant, "checked", BoolConvert);
63  InitIfPresent(ref _abbreviation, "language", x => x);
64  InitIfPresent(ref _isMainLanguage, "ismainlanguage", BoolConvert);
65  }
66  }
67 }