Ejemplo n.º 1
0
        public IList <long> CreateFavoriteQuery(BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string query, string title, IList <long> labelIds)
        {
            var now  = DateTime.UtcNow;
            var user = TryGetUser();

            var labels           = GetFavoriteLabelsAndCheckAuthorization(labelIds, user.Id);
            var labelsDictionary = labels.ToDictionary(x => x.Id);
            var itemsToSave      = new List <FavoriteQuery>();

            var bookTypeEnum   = Mapper.Map <BookTypeEnum>(bookType);
            var queryTypeEnum  = Mapper.Map <QueryTypeEnum>(queryType);
            var bookTypeEntity = m_bookVersionRepository.GetBookType(bookTypeEnum);

            foreach (var labelId in labelIds)
            {
                var label = labelsDictionary[labelId];
                label.LastUseTime = now;

                var favoriteItem = new FavoriteQuery
                {
                    BookType      = bookTypeEntity,
                    Query         = query,
                    QueryType     = queryTypeEnum,
                    CreateTime    = now,
                    User          = user,
                    FavoriteLabel = label,
                    Title         = title,
                };
                itemsToSave.Add(favoriteItem);
            }

            var result = m_favoritesRepository.CreateAll(itemsToSave);

            return(result.Cast <long>().ToList());
        }
Ejemplo n.º 2
0
        private ActionResult RedirectToFavoriteQuery(BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string query)
        {
            string area   = null;
            string action = null;

            switch (bookType)
            {
            case BookTypeEnumContract.AudioBook:
                area = "AudioBooks";
                break;

            case BookTypeEnumContract.BibliographicalItem:
                area = "Bibliographies";
                break;

            case BookTypeEnumContract.CardFile:
                area = "CardFiles";
                break;

            case BookTypeEnumContract.Dictionary:
                area = "Dictionaries";
                break;

            case BookTypeEnumContract.Edition:
                area = "Editions";
                break;

            case BookTypeEnumContract.Grammar:
                area = "OldGrammar";
                break;

            case BookTypeEnumContract.ProfessionalLiterature:
                area = "ProfessionalLiterature";
                break;

            case BookTypeEnumContract.TextBank:
                area = "BohemianTextBank";
                break;
            }

            switch (queryType)
            {
            case QueryTypeEnumContract.Search:
                action = "Search";
                break;

            case QueryTypeEnumContract.List:
                action = "List";
                break;

            case QueryTypeEnumContract.Reader:
                return(View("AmbiguousFavoriteRedirect"));
            }

            return(RedirectToAction(action, area, new { area = area, search = query }));
        }
Ejemplo n.º 3
0
        public ActionResult GetFavoriteQueriesCount(long?labelId, BookTypeEnumContract bookType, QueryTypeEnumContract queryType,
                                                    string filterByTitle)
        {
            var client = GetFavoriteClient();
            var result = client.GetFavoriteQueries(0, 0, labelId, bookType, queryType, filterByTitle);

            return(Json(result.TotalCount));
        }
Ejemplo n.º 4
0
        public ActionResult GetFavoriteQueries(long?labelId, BookTypeEnumContract bookType, QueryTypeEnumContract queryType,
                                               string filterByTitle, int start, int count)
        {
            var client = GetFavoriteClient();
            var result = client.GetFavoriteQueries(start, count, labelId, bookType, queryType, filterByTitle);

            return(Json(result.List));
        }
Ejemplo n.º 5
0
 public IList <long> CreateFavoriteQuery(BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string query, string title, IList <long> labelIds)
 {
     return(m_favoriteManager.CreateFavoriteQuery(bookType, queryType, query, title, labelIds));
 }
Ejemplo n.º 6
0
 public int GetFavoriteQueriesCount(long?labelId, BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string filterByTitle)
 {
     return(m_favoriteManager.GetFavoriteQueriesCount(labelId, bookType, queryType, filterByTitle));
 }
Ejemplo n.º 7
0
 public IList <FavoriteQueryContract> GetFavoriteQueries(long?labelId, BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string filterByTitle, int start, int count)
 {
     return(m_favoriteManager.GetFavoriteQueries(labelId, bookType, queryType, filterByTitle, start, count));
 }
Ejemplo n.º 8
0
        public int GetFavoriteQueriesCount(long?labelId, BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string filterByTitle)
        {
            var user          = TryGetUser();
            var bookTypeEnum  = Mapper.Map <BookTypeEnum>(bookType);
            var queryTypeEnum = Mapper.Map <QueryTypeEnum>(queryType);

            var resultCount = m_favoritesRepository.GetFavoriteQueriesCount(labelId, bookTypeEnum, queryTypeEnum, filterByTitle, user.Id);

            return(resultCount);
        }
Ejemplo n.º 9
0
        public IList <FavoriteQueryContract> GetFavoriteQueries(long?labelId, BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string filterByTitle, int start, int count)
        {
            var user          = TryGetUser();
            var bookTypeEnum  = Mapper.Map <BookTypeEnum>(bookType);
            var queryTypeEnum = Mapper.Map <QueryTypeEnum>(queryType);

            var dbResult = m_favoritesRepository.GetFavoriteQueries(labelId, bookTypeEnum, queryTypeEnum, filterByTitle, start, count, user.Id);

            return(Mapper.Map <IList <FavoriteQueryContract> >(dbResult));
        }
Ejemplo n.º 10
0
        public PagedResultList <FavoriteQueryContract> GetFavoriteQueries(int?start, int?count, long?labelId, BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string filterByTitle)
        {
            var user          = TryGetUser();
            var startValue    = PagingHelper.GetStart(start);
            var countValue    = PagingHelper.GetCount(count);
            var bookTypeEnum  = m_mapper.Map <BookTypeEnum>(bookType);
            var queryTypeEnum = m_mapper.Map <QueryTypeEnum>(queryType);

            var dbResult = m_favoritesRepository.InvokeUnitOfWork(x => x.GetFavoriteQueries(labelId, bookTypeEnum, queryTypeEnum, filterByTitle, startValue, countValue, user.Id));

            return(new PagedResultList <FavoriteQueryContract>
            {
                List = m_mapper.Map <List <FavoriteQueryContract> >(dbResult.List),
                TotalCount = dbResult.Count,
            });
        }
Ejemplo n.º 11
0
 public ActionResult GetFavoriteQueriesCount(long?labelId, BookTypeEnumContract bookType, QueryTypeEnumContract queryType, string filterByTitle)
 {
     using (var client = GetMainServiceClient())
     {
         var result = client.GetFavoriteQueriesCount(labelId, bookType, queryType, filterByTitle);
         return(Json(result));
     }
 }