Beispiel #1
0
        public async Task <List <Request_NEW> > populateReqsAsync()
        {
            var reqData = await firebaseClient
                          .Child("requests")
                          .OnceAsync <IDictionary <string, Object> >();

            List <items> itemListN  = new List <items>();
            var          fbItemList = await firebaseClient
                                      .Child("items")
                                      .OnceAsync <items>();

            foreach (var item in fbItemList)
            {
                items itemActual = item.Object;
                itemActual.ID = item.Key;
                itemListN.Add(itemActual);
            }
            List <Request_NEW> reqListN = new List <Request_NEW>();

            foreach (var area in reqData)
            {
                Request_NEW req = new Request_NEW();
                req.ZoneID = area.Key;
                foreach (var requestID in area.Object)
                {
                    Request currReq = JsonConvert.DeserializeObject <Request>(requestID.Value.ToString());
                    currReq.ID = requestID.Key;
                    foreach (var item in currReq.Contents)
                    {
                        items itemF = itemListN.Find(x => x.ID == item.Key);
                        items itemN = new items(itemF.BgCol, itemF.Icon, itemF.Name, itemF.Name_CL, itemF.Requested, item.Value, itemF.Limit);
                        items itemR = new items(itemF.BgCol, itemF.Icon, itemF.Name, itemF.Name_CL, itemF.Requested, item.Value, itemF.Limit);
                        itemN.ID = item.Key;
                        itemR.ID = item.Key;
                        currReq.addItem(itemN);
                        req.addItem(itemR);
                    }
                    req.ReqList.Add(currReq);
                }
                reqListN.Add(req);
            }
            reqList  = reqListN;
            itemList = itemListN;
            return(reqListN);
        }
Beispiel #2
0
        public ArraySegment <byte> toReqAsync(FirebaseObject <IDictionary <string, object> > d)
        {
            //check if request in list
            Request_NEW req     = new Request_NEW();
            bool        success = false;

            req.ZoneID = d.Key;
            req.ReqList.Clear();
            req.ItemList.Clear();
            foreach (var singularRequest in d.Object)
            {
                Request currReq;
                if (singularRequest.Value.ToString() == "System.Object")
                {
                    currReq = firebaseClient
                              .Child("requests")
                              .Child(req.ZoneID)
                              .Child(singularRequest.Key)
                              .OnceSingleAsync <Request>()
                              .Result;
                }
                else
                {
                    currReq = JsonConvert.DeserializeObject <Request>(singularRequest.Value.ToString());
                }
                currReq.ID = singularRequest.Key;
                foreach (var item in currReq.Contents)
                {
                    items itemF = itemList.Find(x => x.ID == item.Key);
                    items itemN = new items(itemF.BgCol, itemF.Icon, itemF.Name, itemF.Name_CL, item.Value, itemF.Requested, itemF.Limit);
                    items itemR = new items(itemF.BgCol, itemF.Icon, itemF.Name, itemF.Name_CL, item.Value, itemF.Requested, itemF.Limit);
                    itemN.ID = item.Key;
                    itemR.ID = item.Key;
                    req.addItem(itemR);
                }
                req.ReqList.Add(currReq);
            }
            reqList.RemoveAll(x => x.ZoneID == req.ZoneID);
            reqList.Add(req);
            ArraySegment <byte> bruh = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(req));

            return(bruh);
        }