コード例 #1
0
        //[System.Web.Http.HttpPost]
        public HttpResponseMessage Post([FromBody] VocabularyWord model)
        {
            if (UserID == null)
            {
                return(ResponseError(HttpStatusCode.Forbidden, "Log in required."));
            }
            Sql sql = new Sql("WHERE OwnerID=@0", UserID);

            int listID = 0;



            if (model.list != null && int.TryParse(model.list, out listID))
            {
                sql.Append("AND ID=@0", listID);
            }

            sql.Append("ORDER BY ID DESC");

            VocabularyList vc = VocabularyList.FirstOrDefault(sql);



            if (vc == null)
            {
                return(ResponseError(HttpStatusCode.PreconditionFailed, "No vocabulary list found."));
            }

            try
            {
                SuomenkieliRepository.AddVocabularyWord(model.word, vc.ID, UserID);
            }
            catch (Exception ex)
            {
                return(ResponseError(HttpStatusCode.InternalServerError, ex.Message));
            }


            int wordID = SuomenkieliRepository.GetWordID(model.word).GetValueOrDefault(); // This should not be null.

            FullWord fWord = SuomenkieliRepository.GetFullWord(wordID);

            string firstDef = (fWord.Definitions.Count > 0) ? fWord.Definitions.First()._Definition : "";

            ResponseWord rWord = new ResponseWord()
            {
                id = fWord.ID, word = fWord._Word, definition = firstDef
            };

            var resp = Request.CreateResponse <ResponseWord>(HttpStatusCode.OK, rWord);

            return(resp);

            //return ResponseOK(rWord);
        }
コード例 #2
0
        private ExploreVM UpdateConceptSet(ExploreVM conceptSet)
        {
            conceptSet.originalSearch = conceptSet.search;

            searchLogger.Info("search: {0} user: {1}", conceptSet.search, User.Identity.Name);

            conceptSet.isAdmin = User.IsInRole("Administrator");
            List <FullWord> results = SuomenkieliRepository.GetWordsByExplore(conceptSet);

            conceptSet.resultList = results;

            return(conceptSet);
        }
コード例 #3
0
        private IEnumerable <VocabularyListVM> GetListOfVocabularyListVM(int[] ids)
        {
            IEnumerable <VocabularyList> vLists = VocabularyList.Fetch("WHERE OwnerID=@0 AND ID IN @1", UserID, ids);

            List <VocabularyListVM> vmLists = new List <VocabularyListVM>();

            foreach (VocabularyList vList in vLists)
            {
                VocabularyListVM vmList = new VocabularyListVM(vList);
                vmList.WordList = SuomenkieliRepository.GetFullWordListByListID(vmList.ID);
                vmLists.Add(vmList);
            }

            return(vmLists);
        }
コード例 #4
0
        private VocabularyListVM GetVocabularyListVW(int id)
        {
            VocabularyList vl = VocabularyList.First("WHERE id=@0 AND OwnerID=@1", id, UserID);

            if (vl == null)
            {
                return(null);
            }

            VocabularyListVM vlm = new VocabularyListVM(vl);


            //List<VocabularyList_Word> vlWords = VocabularyList_Word.Fetch("WHERE VocabularyListID = @0 ORDER BY Rank", id);

            //int[] wordIDs = vlWords.Select(t => t.WordID).ToArray();
            List <FullWord> vlFW = SuomenkieliRepository.GetFullWordListByListID(vlm.ID);


            vlm.WordList = vlFW;

            return(vlm);
        }
コード例 #5
0
        public HttpResponseMessage Delete([FromBody] VocabularyWord model)
        {
            if (UserID == null)
            {
                return(ResponseError(HttpStatusCode.Forbidden, "Log in required."));
            }
            Sql sql = new Sql("WHERE OwnerID=@0", UserID);

            int listID = 0;


            if (model.list != null && int.TryParse(model.list, out listID))
            {
                sql.Append("AND ID=@0", listID);
            }

            sql.Append("ORDER BY ID DESC");

            VocabularyList vc = VocabularyList.FirstOrDefault(sql);



            if (vc == null)
            {
                return(ResponseError(HttpStatusCode.PreconditionFailed, "No vocabulary list found."));
            }

            try
            {
                SuomenkieliRepository.RemoveVocabularyWord(model.word, vc.ID, UserID);
            }
            catch (Exception ex)
            {
                return(ResponseError(HttpStatusCode.InternalServerError, ex.Message));
            }

            return(ResponseOK(model.word));
        }
コード例 #6
0
 public void Put([FromBody] ListOrder value)
 {
     Debug.Write(value);
     SuomenkieliRepository.OrderVocabularyList(value.list, value.order);
 }