예제 #1
0
파일: QueryTest.cs 프로젝트: sm-g/diagnosis
        public void WordQueryByTitleUpperCase()
        {
            var w1  = session.Load <Word>(IntToGuid <Word>(1));
            var res = WordQuery.ByTitle(session)(w1.Title.ToUpper());

            Assert.AreEqual(w1, res);
        }
예제 #2
0
        protected override void OnOk()
        {
            foreach (var crit in word.Crits)
            {
                var l = OptionsLoader.FromFormat(crit.OptionsFormat);
                crit.Options = l.ReplaceWord(crit.Options, oldTitle, word.Title);
            }

            (word as IEditableObject).EndEdit();

            // если такое слово уже было, делааем доступным врачу
            var toSave = WordQuery.ByTitle(Session)(word.Title) ?? word;

            AuthorityController.CurrentDoctor.AddWords(toSave.ToEnumerable());
            Session.DoSave(toSave);
            this.Send(Event.EntitySaved, toSave.AsParams(MessageKeys.Entity));
        }
예제 #3
0
파일: VocLoader.cs 프로젝트: sm-g/diagnosis
        /// <summary>
        /// Делает тексты словаря словами словаря.
        /// Возвращает созданные слова.
        /// </summary>
        /// <param name="voc"></param>
        private IEnumerable <Word> CreateWordsFromTemp(Vocabulary voc, IEnumerable <WordTemplate> templates)
        {
            // для каждого шаблона есть слово
            Contract.Ensures(templates.Select(x => x.Title.ToLower())
                             .Except(voc.Words.Select(x => x.Title.ToLower())).Count() == 0);

            var created = new List <Word>();

            foreach (var text in templates.Select(x => x.Title))
            {
                var existing = WordQuery.ByTitle(session)(text); // для любого врача, в любом регистре
                if (existing == null)
                {
                    var w = new Word(text);
                    voc.AddWord(w);
                    created.Add(w);
                }
                else
                {
                    voc.AddWord(existing);
                }
            }
            return(created);
        }