Esempio n. 1
0
    private void ParseDailyPageContent(DailyPageResponse response)
    {
        List <PictureData> localPictures = DatabaseManager.GetLocalPictures();

        this.dailyTabInfo         = new DailyTabInfo();
        this.dailyTabInfo.monthes = new List <DailyMonthInfo>();
        if (response.months != null)
        {
            for (int i = 0; i < response.months.Count; i++)
            {
                DailyMonthInfo dailyMonthInfo = new DailyMonthInfo();
                dailyMonthInfo.monthName  = ((!string.IsNullOrEmpty(response.months[i].monthName)) ? response.months[i].monthName : string.Empty);
                dailyMonthInfo.monthIndex = response.months[i].monthIndex;
                dailyMonthInfo.year       = response.months[i].year;
                dailyMonthInfo.pics       = new List <PictureData>();
                for (int j = 0; j < response.months[i].pics.Count; j++)
                {
                    WebPicData  webPic      = response.months[i].pics[j];
                    PictureData pictureData = this.ParseWebPic(webPic, response.paths, localPictures, false);
                    if (pictureData != null)
                    {
                        pictureData.SetDailyTabDate(response.months[i].pics.Count - j);
                        pictureData.SetPicClass(PicClass.Daily);
                        dailyMonthInfo.pics.Add(pictureData);
                    }
                }
                this.dailyTabInfo.monthes.Add(dailyMonthInfo);
            }
        }
        if (response.daily != null)
        {
            this.dailyTabInfo.dailyPic          = new DailyPicInfo();
            this.dailyTabInfo.dailyPic.day      = ((!string.IsNullOrEmpty(response.daily.day)) ? response.daily.day : string.Empty);
            this.dailyTabInfo.dailyPic.desc     = ((!string.IsNullOrEmpty(response.daily.description)) ? response.daily.description : string.Empty);
            this.dailyTabInfo.dailyPic.month    = ((!string.IsNullOrEmpty(response.daily.month)) ? response.daily.month : string.Empty);
            this.dailyTabInfo.dailyPic.btnLabel = (response.daily.cta ?? string.Empty);
            PictureData pictureData2 = this.ParseWebPic(response.daily.pic, response.paths, localPictures, false);
            if (pictureData2 != null)
            {
                pictureData2.SetPicClass(PicClass.Daily);
                this.dailyTabInfo.dailyPic.picData = pictureData2;
            }
            else
            {
                this.dailyTabInfo.dailyPic = null;
            }
        }
    }
Esempio n. 2
0
    public int CalculateDailyCompletePercent()
    {
        if (this.dailyTabInfo == null || this.dailyTabInfo.monthes == null)
        {
            return(-1);
        }
        int num  = 0;
        int num2 = 0;

        for (int i = 0; i < this.dailyTabInfo.monthes.Count; i++)
        {
            DailyMonthInfo dailyMonthInfo = this.dailyTabInfo.monthes[i];
            if (dailyMonthInfo.pics != null)
            {
                for (int j = 0; j < dailyMonthInfo.pics.Count; j++)
                {
                    num++;
                    if (dailyMonthInfo.pics[j].Solved)
                    {
                        num2++;
                    }
                }
            }
        }
        if (num == 0)
        {
            return(-1);
        }
        int num3 = Mathf.RoundToInt((float)num2 / (float)num * 100f);

        if (num3 == 0 && num2 > 0)
        {
            num3 = 1;
        }
        FMLogger.vCore(string.Concat(new object[]
        {
            "daily progress:",
            num3,
            " tc:",
            num,
            " sp:",
            num2
        }));
        return(num3);
    }