Beispiel #1
0
        public HttpResponseMessage GetAllDocs(string dbName, bool conflicts, bool include_docs, [FromBody] object msg)
        {
            // TODO: all docs returns too much!!!
            // Maybe unambigous because mulitple docs with same id returned!!!
            // TODO: FIX!

            Console.WriteLine(msg.ToString());
            JObject       AskedForIds       = JObject.Parse(msg.ToString());
            var           AskedForIdsParsed = AskedForIds["keys"];
            List <string> AskedIdsList      = AskedForIdsParsed.ToObject <List <string> >();

            List <List <PouchData> > AskedDataList = new List <List <PouchData> >();

            using (DatabaseContext db = new DatabaseContext())
            {
                foreach (string cId in AskedIdsList)
                {
                    List <PouchData> cDataList = new List <PouchData>();

                    // TODO: make smarter
                    if (dbName.Equals("Tickets"))
                    {
                        cDataList.AddRange(db.Tickets.Where(entity => entity._id.Equals(cId)).ToList());
                    }
                    AskedDataList.Add(cDataList);
                }
            }

            string retMessage = "";

            using (ReturnParser parser = new ReturnParser())
            {
                retMessage = parser.ParseAllDocsReturn(AskedDataList);
            }

            using (MessageControllerHelper helper = new MessageControllerHelper())
            {
                return(helper.GetJsonResponse(HttpStatusCode.OK, new StringContent(retMessage)));
            }
        }