private static List<BookDetails> _book()
        {
            List<BookDetails> list = new List<BookDetails>();

            var query = new QueryDocument();
            var cursor = fik.Find(query);
            foreach (var obj in cursor)
            {
                BookDetails item= new BookDetails();
                item.id = obj["id"].AsInt32;
                item.title = obj["title"].AsString;
                item.path = obj["path"].AsString;
                item.category = obj["category"].AsString;
                item.state = obj["state"].AsString;
                list.Add(item);
            }
            return list;
        }
        private static List<BookDetails> book()
        {
            List<BookDetails> list = new List<BookDetails>();

            //var query = new QueryDocument();
            MongoCursor<BsonDocument> cursor = fik.Find(query);

            if (pos[1] > 0 && pos[0] < fik.Count())
            {
                cursor.Skip = pos[0];
                cursor.Limit = pos[1];
            }
            foreach (var obj in cursor)
            {
                BookDetails item = new BookDetails();
                item.id = obj["id"].AsInt32;
                item.title = obj["title"].AsString;
                item.path = obj["path"].AsString;
                item.category = obj["category"].AsString;
                item.state = obj["state"].AsString;
                item.summary = obj["summary"].AsString;
                item.rating = obj["rating"].AsString;
                item.size = obj["size"].AsString;
                item.comment = obj["comment"].AsString;
                item.author = new string[obj["author"].AsBsonArray.Count];
                item.genre = new string[obj["genre"].AsBsonArray.Count];
                for (int i = 0; i < obj["author"].AsBsonArray.Count; ++i) item.author[i] = obj["author"].AsBsonArray[i].ToString();
                for (int i = 0; i < obj["genre"].AsBsonArray.Count; ++i) item.genre[i] = obj["genre"].AsBsonArray[i].ToString();
                list.Add(item);
            }
            maxCount = (int)cursor.Count();
            //FileStream fin = new FileStream("c://out"+ System.DateTime.Now.Second.ToString() +".txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
            //StreamWriter cout = new StreamWriter(fin, System.Text.Encoding.Default);
            //cout.WriteLine(maxCount + "    " + cursor.Count());
            //cout.Close();
            //fin.Close();
            return list;
        }
 public ActionResult search(BookDetails searchDetails)
 {
     if(searchDetails.searchName == null)
     return RedirectToAction("Index", new System.Web.Routing.RouteValueDictionary(new { genre = searchDetails.genre[0],
                                                                                        size = searchDetails.size,
                                                                                        rating = searchDetails.rating,
                                                                                        state = searchDetails.state,
                                                                                        category = searchDetails.category }));
     return RedirectToAction("Index", new System.Web.Routing.RouteValueDictionary(new { blah = searchDetails.blah, searchName = searchDetails.searchName }));
 }