示例#1
0
        public static async Task<ObservableCollection<MemberItemTrackingStatus>> getTrackingItemStatus(long trackingitemid)
        {
            ObservableCollection<MemberItemTrackingStatus> ritemstatuscollection = new ObservableCollection<MemberItemTrackingStatus>();
            methodLibrary mlb = new methodLibrary();
            string userclass = await mlb.readSerializedUserClass();
            RootObjectUsers rusers = new RootObjectUsers();
            rusers = Users.usersDataDeserializer(userclass);

            Library_APICall apiLibrary = new Library_APICall();
            string resp = await apiLibrary.apiCall((string)ApplicationData.Current.LocalSettings.Values["Tokens"], "https://api.teamsnap.com/v3/tracked_item_statuses/search?tracked_item_id=" + trackingitemid);
            RootObjectTrackingItemStatus ritemstatus = trackingStatusDataDeserializer(resp);

            Dictionary<string, int> rstatus_items_data_ht = new Dictionary<string, int>();
            for (int i = 0; i < ritemstatus.collection.items[0].data.Count; i++)
            {
                if (!rstatus_items_data_ht.ContainsKey(ritemstatus.collection.items[0].data[i].name))
                {
                    rstatus_items_data_ht.Add(ritemstatus.collection.items[0].data[i].name, i);
                }
            }
            ritemstatuscollection.Clear();
            for (int i = 0; i < ritemstatus.collection.items.Count; i++)
            {
                MemberItemTrackingStatus robj = new MemberItemTrackingStatus();
                robj.object_id = ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["id"]].value == null ? 0 : (long)ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["id"]].value;
                robj.trackingitemid = ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["tracked_item_id"]].value == null ? 0 : (long)ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["tracked_item_id"]].value;
                robj.status = ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["status"]].value == null ? "" : (string)ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["status"]].value;
                robj.member_id = ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["member_id"]].value == null ? 0 : (long)ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["member_id"]].value;
                robj.status_code = ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["status_code"]].value == null ? 0 : (long)ritemstatus.collection.items[i].data[(int)rstatus_items_data_ht["status_code"]].value;
                CollectionUsersTeamMembers rmember = new CollectionUsersTeamMembers();
                rmember = mlb.getMemberInfoFromFile(rusers, robj.member_id);
                robj.member_name = rmember.fullname;
                ritemstatuscollection.Add(robj);
            }
            
            return ritemstatuscollection;
        }
示例#2
0
        public static async Task<ObservableCollection<Comments>> createCollection(string response)
        {
            methodLibrary mlb = new methodLibrary();
            string userclass = await mlb.readSerializedUserClass();
            RootObjectUsers rusers = Users.usersDataDeserializer(userclass);
            ObservableCollection<Comments> rphotocomments = new ObservableCollection<Comments>();
            try
            {
                RootObjectMediaComments rmediacom = mediaCommentsDataDeserializer(response);
                if (rmediacom.collection.items != null)
                {
                    Dictionary<string, int> rmediacom_itemdata_ht = new Dictionary<string, int>();
                    for (int i = 0; i < rmediacom.collection.items[0].data.Count; i++)
                    {
                        if (!rmediacom_itemdata_ht.ContainsKey(rmediacom.collection.items[0].data[i].name))
                        {
                            rmediacom_itemdata_ht.Add(rmediacom.collection.items[0].data[i].name, i);
                        }
                    }

                    for (int i = 0; i < rmediacom.collection.items.Count; i++)
                    {
                        Comments cm = new Comments();
                        CollectionUsersTeamMembers rmembers = new CollectionUsersTeamMembers();
                        cm.comment = (string)rmediacom.collection.items[i].data[(int)rmediacom_itemdata_ht["comment"]].value;
                        cm.memberid = rmediacom.collection.items[i].data[(int)rmediacom_itemdata_ht["member_id"]].value == null ? 0 : (long)rmediacom.collection.items[i].data[(int)rmediacom_itemdata_ht["member_id"]].value;
                        cm.mediaid = rmediacom.collection.items[i].data[(int)rmediacom_itemdata_ht["team_medium_id"]].value == null ? 0 : (long)rmediacom.collection.items[i].data[(int)rmediacom_itemdata_ht["team_medium_id"]].value;
                        rmembers = mlb.getMemberInfoFromFile(rusers, cm.memberid);
                        cm.membername = rmembers.first_name + " " + rmembers.last_name;
                        cm.memberphoto = rmembers.member_thumbnail_uri;
                        DateTime lastupdatetime = rmediacom.collection.items[i].data[(int)rmediacom_itemdata_ht["updated_at"]].value == null ? DateTime.MinValue : (DateTime)rmediacom.collection.items[i].data[(int)rmediacom_itemdata_ht["updated_at"]].value;
                        if (lastupdatetime.CompareTo(DateTime.MinValue) > 0)
                        {
                            if (lastupdatetime.CompareTo(DateTime.UtcNow.AddDays(-1)) > 0)
                            {
                                TimeSpan ts = DateTime.Now.Subtract(lastupdatetime);
                                if (ts.Hours == 0)
                                {
                                    if (ts.Minutes == 0)
                                    {
                                        cm.lastupdatedat = "A few seconds ago";
                                    }
                                    else if (ts.Minutes < 5 && ts.Minutes > 0)
                                    {
                                        cm.lastupdatedat = "A few min ago";
                                    }
                                    else
                                    {
                                        cm.lastupdatedat = ts.Minutes + " min ago";
                                    }
                                }
                                else
                                {
                                    if (ts.Hours == 1)
                                    {
                                        cm.lastupdatedat = "An hour ago";
                                    }
                                    else
                                    {
                                        cm.lastupdatedat = ts.Hours + " hours ago";
                                    }
                                }
                            }
                            else
                            {
                                DateTime localtime = lastupdatetime.ToLocalTime();
                                cm.lastupdatedat = String.Format("{0:ddd, MMM dd, yyyy}", localtime);
                            }
                        }
                        rphotocomments.Add(cm);
                    }
                }
            }
            catch (Exception ex)
            {

            }
            return rphotocomments;
        }