Ejemplo n.º 1
0
        public void testDecryptMessageWithOneKeyword()
        {
            keywords.Add(KEYWORD1);
            cipher.SetKeywords(keywords);
            String returnedMessage = cipher.Decrypt(CRYPTED_MESSAGE);

            Assert.AreEqual(PARTLY_DECRYPTED_MESSAGE, returnedMessage);
        }
Ejemplo n.º 2
0
        public void testEncryptMessageWithOneKeyword()
        {
            keywords.Add(KEYWORD1);
            cipher.SetKeywords(keywords);
            String returnedMessage = cipher.Encrypt(TEST_MESSAGE);

            Assert.AreEqual(ENCRYPTED_MESSAGE_KEYWORD1.ToLower(), returnedMessage);
        }
Ejemplo n.º 3
0
 public ArtifactData(MainObject main)
 {
     LrsId               = main.MainId.Value;
     OwnerEmployeeId     = main.OwnerEmployeeId;
     OwnerName           = main.OwnerName;
     OwnerEmail          = main.OwnerEmail;
     ReviewStatus        = "Approved";//main.ReviewStatus;
     ReviewProgress      = (int)main.ReviewPercent;
     DocumentType        = main.DocumentType;
     Title               = main.Title;
     StiNumber           = main.StiNumber;
     Revision            = main.Revision;
     CreateDate          = main.CreateDate;
     ModifiedDate        = main.ActivityDate;
     ApprovedDate        = main.ApprovalDate;
     Abstract            = main.Abstract;
     ConferenceName      = main.ConferenceName;
     ConferenceSponsor   = main.ConferenceSponsor;
     ConferenceLocation  = main.ConferenceLocation;
     ConferenceBeginDate = main.ConferenceBeginDate;
     ConferenceEndDate   = main.ConferenceEndDate;
     JournalName         = main.JournalName;
     RelatedSti          = main.RelatedSti;
     main.Contacts.ForEach(n => Contacts.Add(new ContactData(n)));
     main.Authors.ForEach(n => Authors.Add(new AuthorData(n)));
     main.Funding.ForEach(n => Fundings.Add(new FundingData(n)));
     main.Reviewers.ForEach(n => Reviewers.Add(new ReviewerData(n)));
     main.SubjectCategories.ForEach(n => Subjects.Add(n.Data));
     main.KeyWordList.ForEach(n => Keywords.Add(n.Data));
     main.CoreCapabilities.ForEach(n => CoreCapabilities.Add(n.Data));
 }
Ejemplo n.º 4
0
        public _92214()
        {
            LocomotiveSpecifications = new LocomotiveSpecification_9F();

            Title      = "92214, City of Leicester, Class9F, 2-10-0";
            Paragraph1 = "The British Railways BR Standard Class 9F 2-10-0 is a class of steam locomotive designed for British Railways by Robert Riddles. " +
                         "The Class 9F was the last in a series of standardised locomotive classes designed for British Railways during the 1950s, " +
                         "and was intended for use on fast, heavy freight trains over long distances. It was one of the most powerful steam locomotive " +
                         "types ever built for British Railways, and successfully performed its intended duties. The class was given the nickname of 'Spaceships', " +
                         "due to its size and shape. In profile, daylight can be seen between the frames and the boiler.";
            Paragraph2 = "No.92214 was built at Swindon in October, 1959 and after a few weeks at Cardiff Canton it was allocated, " +
                         "in November, to Banbury where it was used to haul the heavy ironstone trains from the Oxfordshire quarries to " +
                         "the steel works in South Wales. No doubt while at Banbury it picked up some of the traffic coming off the Great Central " +
                         "via Culworth Junction. While at Banbury it was also employed on the fast goods services to Old Oak Common.";
            PageTitle       = "92214";
            HtmlFileName    = $"{PageTitle}.html";
            RawImagePath    = Constants.RawDataPath + @"\Locos\92214\";
            ExportImagePath = Constants.LocoRef + "images\\92214\\";
            Order           = 1;

            Keywords.Add("British Railways BR Standard");
            Keywords.Add("Photo collection");
            Keywords.Add("Spaceships");
            Keywords.Add("Robert Riddles");
            Keywords.Add("Oxfordshire quarries");
            Keywords.Add("Great Central");
        }
Ejemplo n.º 5
0
        public _80080()
        {
            //LocomotiveSpecifications = new LocomotiveSpecification_9F();

            Title      = "80080, British Railways Standard Class 4 tank, 2-6-4T";
            Paragraph1 = "The British Railways Standard Class 4 tank is a class of steam locomotive, " +
                         "one of the BR standard classes built during the 1950s. They were used primarily on commuter and outer suburban services. " +
                         "They were capable of reaching speeds of 75 mph (113 km/h).";
            Paragraph2 = "The Standard 4 tanks were originally allocated to all regions of British Railways, " +
                         "bar the Western. They became particularly associated with the London, Tilbury and Southend line (LT&S) " +
                         "working commuter services out of London, until that route was electrified in 1962. They were also widely " +
                         "used in East Sussex and Kent, working from Brighton, Tunbridge Wells and Three Bridges on those lines of " +
                         "the former London Brighton and South Coast Railway that were not electrified. Another group worked from " +
                         "Polmadie depot in the Scottish region on the Glasgow commuter services. Note that, from July 1962, " +
                         "a batch displaced by electrification of the LT&S was transferred to the Western Region's Swansea (East Dock) " +
                         "and Shrewsbury districts, as well as other regions.";
            PageTitle       = "80080";
            HtmlFileName    = $"{PageTitle}.html";
            RawImagePath    = Constants.RawDataPath + @"\Locos\80080\";
            ExportImagePath = Constants.LocoRef + "images\\80080\\";
            Order           = 1;

            Keywords.Add("British Railways BR Standard");

            Keywords.Add("Robert Riddles");
            Keywords.Add("Standard Class 4 tank");
            Keywords.Add("80080");
        }
Ejemplo n.º 6
0
        public _92134()
        {
            LocomotiveSpecifications = new LocomotiveSpecification_9F();

            Title      = "92134, Class9F, 2-10-0";
            Paragraph1 = "The British Railways BR Standard Class 9F 2-10-0 is a class of steam locomotive designed for British Railways by Robert Riddles. " +
                         "The Class 9F was the last in a series of standardised locomotive classes designed for British Railways during the 1950s, " +
                         "and was intended for use on fast, heavy freight trains over long distances. It was one of the most powerful steam locomotive " +
                         "types ever built for British Railways, and successfully performed its intended duties. The class was given the nickname of 'Spaceships', " +
                         "due to its size and shape. In profile, daylight can be seen between the frames and the boiler.";
            Paragraph2 = "92134 was built at Crewe Works in June 1957 and allocated on completion to Saltley, " +
                         "On its withdrawal on 31 December 1966, it was allocated to Birkenhead " +
                         "It was sold to Woodham Brothers for scrap and moved to their scrapyard at Barry Island in June 1967. " +
                         "Rescued for preservation in December 1980, 92134 became the 116th locomotive to leave Barry after having been there for 13 years and 6 months";
            PageTitle       = "92134";
            HtmlFileName    = $"{PageTitle}.html";
            RawImagePath    = Constants.RawDataPath + @"\Locos\92134\";
            ExportImagePath = Constants.LocoRef + "images\\92134\\";
            Order           = 1;

            Keywords.Add("British Railways BR Standard");
            Keywords.Add("Photo collection");
            Keywords.Add("Sole surviving Single Chimney 9F");
            Keywords.Add("Spaceships");
            Keywords.Add("Robert Riddles");
            Keywords.Add("Oxfordshire quarries");
            Keywords.Add("Great Central");
        }
Ejemplo n.º 7
0
 public static void SepByKeyword()
 {
     if (Colorids.Count == 0)
     {
         SepByColorId(false);
     }
     foreach (List <Card> color in SepedCardsByColorId)
     {
         Keywords.Add(new List <string>());
         SepedCardsByKeywords.Add(new List <List <Card> >());
         foreach (Card card in color)
         {
             foreach (String keyword in card.Keywords)
             {
                 if (!Keywords[Keywords.Count - 1].Contains(keyword))
                 {
                     Keywords[Keywords.Count - 1].Add(keyword);
                     SepedCardsByKeywords[SepedCardsByKeywords.Count - 1].Add(new List <Card>());
                     SepedCardsByKeywords[SepedCardsByKeywords.Count - 1][Keywords[Keywords.Count - 1].Count - 1].Add(card);
                 }
                 else
                 {
                     SepedCardsByKeywords[SepedCardsByKeywords.Count - 1][Keywords[Keywords.Count - 1].IndexOf(keyword)].Add(card);
                 }
             }
         }
     }
 }
Ejemplo n.º 8
0
        public void setDefaultArgs()
        {
            if (Directories.Count == 0)
            {
                foreach (DriveInfo d in DriveInfo.GetDrives())
                {
                    Directories.Add(d.Name);
                }
            }

            if (Keywords.Count == 0)
            {
                foreach (string s in DefaultKeywords)
                {
                    Keywords.Add(s);
                }
            }

            if (FileTypes.Count == 0)
            {
                foreach (string s in DefaultFileTypes)
                {
                    FileTypes.Add(s);
                }
            }
        }
Ejemplo n.º 9
0
        private static void setDefaultArgs()
        {
            if (Directories.Count == 0)
            {
                foreach (DriveInfo d in DriveInfo.GetDrives())
                {
                    Directories.Add(d.Name);
                }
            }

            if (Keywords.Count == 0)
            {
                foreach (string s in DefaultKeywords)
                {
                    Keywords.Add(s);
                }
            }

            if (FileTypes.Count == 0)
            {
                foreach (string s in DefaultFileTypes)
                {
                    FileTypes.Add(s);
                }
            }

            regexSearcher = new RegexSearch(Keywords);
        }
Ejemplo n.º 10
0
        public Class25_D5185()
        {
            Title           = "D5185, Class 25, SulzerType2";
            PageTitle       = "D5185";
            HtmlFileName    = $"{PageTitle}.html";
            RawImagePath    = Constants.RawDataPath + @"\Locos\Class25-D5185\";
            ExportImagePath = Constants.LocoRef + "images\\D5185\\";
            Order           = 2;
            Paragraph1      = "The British Rail Class 25 diesel locomotives, also known as Sulzer Type 2 were a class of 327 locomotives built " +
                              "between 1961 and 1967 for British Rail. They were numbered in two series, D5151-D5299 and D7500-D7677";
            Paragraph2 = "The Class 24 locomotives were the precursor of the Class 25 design but after the delivery of their first few units " +
                         "it became apparent that the speed ceiling of 75 mph (121 km/h) was unduly restrictive and the provision of additional power " +
                         "would be advantageous. In the course of normal development the power output of the Sulzer six-cylinder engine had been increased " +
                         "by 90 hp (67 kW) to give a continuous traction output of 1,250 bhp (930 kW) at 750 rpm by the introduction of charge air cooling " +
                         "and the first locomotives to use this became known as Class 25 locomotives.";
            Paragraph3 = "The Class 25 locos were primarily designed for freight work, but a significant number were fitted with boilers for heating " +
                         "passenger trains. Throughout the 1970s they could be found at work across the whole of the British Rail network although the " +
                         "Eastern and Southern Regions never had an allocation. Though regular performers into the early 1980s on Crewe–Cardiff passenger " +
                         "trains, they are best known in that respect for their use on the summer Saturday trains to Aberystwyth, a task they relinquished " +
                         "in 1984. The final Class 25 locomotive was withdrawn from service in March 1987.";

            Keywords.Add("British Rail");
            Keywords.Add("British Rail Class 25");
            Keywords.Add("SulzerType2");
            Keywords.Add("Class 23");
            Keywords.Add("D5185");
            Keywords.Add("Sulzer six-cylinder engine ");
        }
Ejemplo n.º 11
0
 public void CopyLayoutsToKeywords()
 {
     foreach (var layout in Layouts)
     {
         Keywords.Add(layout.Name);
     }
 }
Ejemplo n.º 12
0
        /// <summary>
        /// Method <c>loadData</c> performs the reading of
        /// the csv file containing the library extract data.
        /// It populates all data collection contained within
        /// this Library.
        /// It is called from the Library constructor, but
        /// can also be called from a Public method Load()
        /// </summary>
        private async void loadData()
        {
            //  Locate the csv file.
            var dataFile = await Helpers.DataFileHelper.GetDataFile();

            if (dataFile != null)
            {
                //  Set up the streamreader to access the file, Read only mode
                using (StreamReader reader = new StreamReader(await dataFile.OpenStreamForReadAsync()))
                {
                    while (!reader.EndOfStream)
                    {
                        string data = reader.ReadLine();
                        //  split the data into a Book record and add to the Books collection.
                        var book = Helpers.DeserialiseData.ToBook(data, _libraryBookFactory);
                        Books.Add(book);
                        //  Add to other model classes
                        Authors.Add(book.Author);
                        Titles.Add(book.Title);
                        Isbns.Add(book.ISBN);
                        //  Split the keywords and add them if they don't exist.
                        foreach (string kw in book.KeyWords)
                        {
                            Keywords.Add(kw);
                        }
                        Keywords.Sort();
                    }
                }
            }
        }
Ejemplo n.º 13
0
        public void AddTag(IDmKeyword tagReference)
        {
            switch (tagReference.Type)
            {
            case TagType.Autor:
                Autors.Add((DmAutor)tagReference);
                break;

            case TagType.Category:
                Categories.Add((DmCategory)tagReference);
                break;

            case TagType.Genre:
                Genres.Add((DmGenre)tagReference);
                break;

            case TagType.People:
                Peoples.Add((DmPeople)tagReference);
                break;

            case TagType.Tag:
                Keywords.Add((DmKeyword)tagReference);
                break;

            case TagType.Collection:
                Collections.Add((DmCollection)tagReference);
                break;
            }
        }
Ejemplo n.º 14
0
 protected void MapDirectives(Action handler, params string[] directives)
 {
     foreach (string directive in directives)
     {
         _directiveParsers.Add(directive, handler);
         Keywords.Add(directive);
     }
 }
Ejemplo n.º 15
0
 static Keywords()
 {
     _dict = new Hashtable(11);
     Keywords.Add("true", Token.True);
     Keywords.Add("false", Token.False);
     Keywords.Add("null", Token.Null);
     //Keywords.Add("typeof", Token.Typeof);
 }
Ejemplo n.º 16
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (keywordTextBox.Text.Length == 0)
            {
                return;
            }

            Keywords.Add(keywordTextBox.Text);
        }
Ejemplo n.º 17
0
 public Form1()
 {
     InitializeComponent();
     Keywords.Add("fn");
     Keywords.Add("s32");
     Tokens.Add(";");
     Tokens.Add("{");
     Tokens.Add("}");
 }
Ejemplo n.º 18
0
 private void ConvertListOfStringsToKeywords(List <string> words)
 {
     foreach (string value in words)
     {
         if (IsValidKeywordValue(value))
         {
             keywords.Add(value);
         }
     }
 }
Ejemplo n.º 19
0
 private void MapKeywords(Action <bool> handler, bool topLevel, params CSharpKeyword[] keywords)
 {
     foreach (CSharpKeyword keyword in keywords)
     {
         _keywordParsers.Add(keyword, handler);
         if (topLevel)
         {
             Keywords.Add(CSharpLanguageCharacteristics.GetKeyword(keyword));
         }
     }
 }
Ejemplo n.º 20
0
 public void SetKeyWords(string keywords)
 {
     this.SendMessageDirect(4005, 0, keywords);
     Keywords.Clear();
     string[] arr = keywords.Split(' ');
     foreach (string s in arr)
     {
         s.Trim();
         Keywords.Add(s);
     }
 }
Ejemplo n.º 21
0
        public bool AddKeyword(DcKeyword keyword)
        {
            if (!KeywordsByName.TryAdd(keyword.Name, keyword))
            {
                return(false);
            }

            Keywords.Add(keyword);
            Flags |= keyword.HistoricalFlag;
            return(true);
        }
 public MainWindow()
 {
     InitializeComponent();
     //Init the Keywords first
     Keywords.Add("hallo", Brushes.Blue);
     Keywords.Add("my", Brushes.Red);
     Keywords.Add("name", Brushes.Green);
     //Add some items to the ListView
     lv.Items.Add("hallo my name");
     lv.Items.Add("hello my name");
     lv.Items.Add("goodbye your name");
 }
Ejemplo n.º 23
0
        public AdvancedBot(string Name, string User)
            : base(Name, User)
        {
            Args = new List <double>();

            /*  Time  */
            Keywords.Add(Keyword.Time, new List <string>()
            {
                "время", "который час", "времени"
            });

            /*  Sub  */
            Keywords.Add(Keyword.Add, new List <string>()
            {
                "сложить", "прибавь", "прибавить", "сложи"
            });

            /*  Sub  */
            Keywords.Add(Keyword.Sub, new List <string>()
            {
                "вычти", "вычесть", "отнять", "отнеми"
            });

            /*  Mult  */
            Keywords.Add(Keyword.Mult, new List <string>()
            {
                "умножь", "умножение", "умножить"
            });

            /*  Div  */
            Keywords.Add(Keyword.Div, new List <string>()
            {
                "деление", "дели", "разделить", "подели", "делить"
            });

            /*  Exchange  */
            Keywords.Add(Keyword.Exchange, new List <string>()
            {
                "курс", "курс валют", "валюты"
            });

            /*  Run  */
            Keywords.Add(Keyword.Run, new List <string>()
            {
                "выполни", "запусти"
            });

            /*  Math  */
            Keywords.Add(Keyword.Math, new List <string>()
            {
                "+", "-", "/", "*", "%"
            });
        }
Ejemplo n.º 24
0
        public void AddKeyword(string keyword, bool isDefault = false)
        {
            Keywords.Add(keyword);
            string alias = upperOnly.Replace(keyword, "");

            Aliases.Add(alias);

            if (isDefault)
            {
                SetDefaultKeyword(keyword);
            }
        }
Ejemplo n.º 25
0
        private static SearchKeyword AddKeyword(SearchKeyword keyword)
        {
            SearchKeyword existingItem = Keywords.FirstOrDefault(x => x.Id == keyword.Id);

            if (existingItem != null)
            {
                return(existingItem);
            }

            Keywords.Add(keyword);
            return(keyword);
        }
Ejemplo n.º 26
0
        public Class43_43044()
        {
            Title           = "43044, Class 43";
            PageTitle       = "43044";
            HtmlFileName    = $"{PageTitle}.html";
            RawImagePath    = Constants.RawDataPath + @"\Locos\Class43-43044\";
            ExportImagePath = Constants.LocoRef + "images\\43044\\";
            Order           = 2;
            Paragraph1      = "";
            Paragraph2      = "";
            Paragraph3      = "";

            Keywords.Add("HST");
        }
Ejemplo n.º 27
0
        public Keywords GetKeywords(string documentId)
        {
            var keywords = new Keywords();

            var uDocument = App.Core.GetDocumentByID(long.Parse(documentId));

            foreach (KeywordRecord uKeywordRecord in uDocument.KeywordRecords.Where(x => x.KeywordRecordType.RecordType != RecordType.MultiInstance))
            {
                foreach (Keyword uKeyword in uKeywordRecord.Keywords)
                {
                    var keywordType = new KeywordType(uKeyword.KeywordType.ID,
                                                      uKeyword.KeywordType.Name,
                                                      GetSystemTypeFromUnityType(uKeyword.KeywordType.DataType),
                                                      uKeyword.KeywordType.DefaultValue);
                    ObjectLibrary.Keyword keyword = null;
                    switch (uKeyword.KeywordType.DataType)
                    {
                    case KeywordDataType.AlphaNumeric:
                        keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.AlphaNumericValue);
                        break;

                    case KeywordDataType.Currency:
                    case KeywordDataType.SpecificCurrency:
                        keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.CurrencyValue);
                        break;

                    case KeywordDataType.Date:
                    case KeywordDataType.DateTime:
                        keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.DateTimeValue);
                        break;

                    case KeywordDataType.FloatingPoint:
                        keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.FloatingPointValue);
                        break;

                    case KeywordDataType.Numeric20:
                        keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.Numeric20Value);
                        break;

                    case KeywordDataType.Numeric9:
                        keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.Numeric9Value);
                        break;
                    }
                    keywords.Add(keyword);
                }
            }

            return(keywords);
        }
Ejemplo n.º 28
0
        public SolverSyntaxCore()
        {
            TextChars.Add('_');
            BreakChars.Add('(');
            BreakChars.Add(')');
            BreakChars.Add('.');
            BreakChars.Add(',');

            Keywords.Add(new Keyword(KeywordType.LeftBracket, "("));
            Keywords.Add(new Keyword(KeywordType.RightBracket, ")"));
            Keywords.Add(new Keyword(KeywordType.EndLine, ";"));
            Keywords.Add(new Keyword(KeywordType.Comma, ","));

            Keywords.Add(new Operator(KeywordType.Binary, "*", Mul));
            Keywords.Add(new Operator(KeywordType.Binary, "+", Add));
        }
Ejemplo n.º 29
0
        public SRVClass_Repton()
        {
            Title           = "SR V Class 926, Repton, 4-4-0";
            PageTitle       = "926";
            HtmlFileName    = $"{PageTitle}.html";
            RawImagePath    = Constants.RawDataPath + @"\Locos\Repton\";
            ExportImagePath = Constants.LocoRef + "images\\Repton\\";
            Order           = 3;
            Paragraph1      = "The SR V class, more commonly known as the Schools class, is a class of steam locomotive designed by Richard Maunsell for the Southern Railway. The class was a cut down version of his Lord Nelson class but also incorporated components from Urie and Maunsell's LSWR/SR King Arthur class. It was the last locomotive in Britain to be designed with a 4-4-0 wheel arrangement, and was the most powerful class of 4-4-0 ever produced in Europe. All 40 of the class were named after English public schools, and were designed to provide a powerful class of intermediate express passenger locomotive on semi-fast services for lines which could cope with high axle loads but some of which had short turntables. Because of the use of a ‘’King Arthur’’ firebox, rather than the square-topped Belpaire firebox used on the Lord Nelsons, the class could be used on lines with a restricted loading gauge and some of the best performance by the class was on the heavily restricted Tonbridge to Hastings line. The locomotives performed well from the beginning but were subject to various minor modifications to improve their performance over the years. The class operated until 1961 when mass withdrawals took place and all had gone by December 1962. Three examples are now preserved on heritage railways in Britain.";
            Paragraph2      = "926, Repton, is owned by the North Yorkshire Moors Railway. It was completed in May 1934 and entered service on the Bournemouth route, with some time operating between Waterloo and Portsmouth before that line was electrified. It was one of the last of the class to be overhauled by British Railways in 1960, so was considered a good choice for preservation. In December 1962 the engine was withdrawn from service, and in 1966 it was purchased and overhauled at Eastleigh, before moving to the United States. It was donated by the purchaser to Steamtown, U.S.A. in Bellows Falls, Vermont, US. Steamtown loaned the engine to the Cape Breton Steam Railway in Canada, where it operated a regular passenger service. In 1989 it was sold again, and returned to the UK to the NYMR, where it was again overhauled and found to be in good condition. Recently returned to service following an overhaul. 30926 has also operated on the mainline between Whitby and Grosmont with occasional visits to Battersby.";

            Keywords.Add("SR V Class 926");
            Keywords.Add("Schools class");
            Keywords.Add("Richard Maunsell");
            Keywords.Add("Repton");
        }
        public Class20_D8098()
        {
            Title           = "D8098, Class 20, Bo-Bo";
            Paragraph1      = "The British Rail (BR) Class 20, otherwise known as an English Electric Type 1, is a class of diesel-electric locomotive. In total, 228 locomotives in the class were built by English Electric between 1957 and 1968, the large number being in part because of the failure of other early designs in the same power range to provide reliable locomotives.";
            Paragraph2      = "The locomotives were originally numbered D8000–D8199 and D8300–D8327. They are known by railway enthusiasts as 'Choppers'";
            PageTitle       = "D8098";
            HtmlFileName    = $"{PageTitle}.html";
            RawImagePath    = Constants.RawDataPath + @"\Locos\Class20-D8098\";
            ExportImagePath = Constants.LocoRef + "images\\D8098\\";
            Order           = 2;

            Keywords.Add("British Rail");
            Keywords.Add("English Electric Type 1");
            Keywords.Add("Choppers");
            Keywords.Add("Class 20");
        }
Ejemplo n.º 31
0
        public Keywords GetKeywords(string documentId)
        {
            var keywords = new Keywords();

            var uDocument = App.Core.GetDocumentByID(long.Parse(documentId));
            foreach (KeywordRecord uKeywordRecord in uDocument.KeywordRecords.Where(x => x.KeywordRecordType.RecordType != RecordType.MultiInstance))
            {
                foreach (Keyword uKeyword in uKeywordRecord.Keywords)
                {
                    var keywordType = new KeywordType(uKeyword.KeywordType.ID,
                                                                    uKeyword.KeywordType.Name,
                                                                    GetSystemTypeFromUnityType(uKeyword.KeywordType.DataType),
                                                                    uKeyword.KeywordType.DefaultValue);
                    ObjectLibrary.Keyword keyword = null;
                    switch (uKeyword.KeywordType.DataType)
                    {
                        case KeywordDataType.AlphaNumeric:
                            keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.AlphaNumericValue);
                            break;
                        case KeywordDataType.Currency:
                        case KeywordDataType.SpecificCurrency:
                            keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.CurrencyValue);
                            break;
                        case KeywordDataType.Date:
                        case KeywordDataType.DateTime:
                            keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.DateTimeValue);
                            break;
                        case KeywordDataType.FloatingPoint:
                            keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.FloatingPointValue);
                            break;
                        case KeywordDataType.Numeric20:
                            keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.Numeric20Value);
                            break;
                        case KeywordDataType.Numeric9:
                            keyword = new ObjectLibrary.Keyword(keywordType, uKeyword.Numeric9Value);
                            break;
                    }
                    keywords.Add(keyword);
                }
            }

            return keywords;
        }