예제 #1
0
        public async Task <List <IUserModel> > Get(IChannelModel channel, IMonthModel month)
        {
            var    url = month.ApiUrl.Replace("days.json", "users.json");
            string response;

            try {
                response = await _httpClient.GetStringAsync(url);
            }
            catch (Exception e) {
                _snackbarMessageQueue(e.Message);
                return(null);
            }
            var userList = JsonConvert.DeserializeObject <List <string> >(response);
            var users    = new List <IUserModel>();

            foreach (var user in userList)
            {
                users.Add(new UserModel(user,
                                        $"https://overrustlelogs.net/{channel.Name}%20chatlog/{month.Name}/userlogs/{user.Replace(".txt", string.Empty)}"));
            }
            return(users);
        }
예제 #2
0
 public DayModel(IMonthModel month, IMetonicYearModel year)
 {
     _month = month;
     _year  = year;
 }
예제 #3
0
        public static void DrawCalendar(RenderWindow app, INodesModel nodes, ISunModel sun, IMoonModel moon, IMetonicYearModel year, IMonthModel month, IDayModel day, ISunCountModel sunCount)
        {
            ElementDrawer.CreateRing(app, 270, new Color(0, 0, 0), true);
            DrawNodeRing(app, nodes);
            DrawSunRing(app, sun);
            DrawMoonRing(app, moon);
            ElementDrawer.CreateRing(app, 210, new Color(0, 0, 0), true);
            DrawDayRing(app, day, month);
            DrawSunCountRing(app, sunCount);

            DrawMonthRing(app, month);
            DrawYearRing(app, year);
        }
 private static void SetActiveDayPeg(SKImageInfo info, SKCanvas canvas, IDayModel day, IMonthModel month, CircleShape[] outerRingPegPoints, CircleShape[] innerRingPegPoints)
 {
     ColourActiveDayPeg(day, month, outerRingPegPoints, innerRingPegPoints);
     DrawDayPegPoints(info, canvas, outerRingPegPoints, innerRingPegPoints);
 }
        private static void BuildDayRings(SKImageInfo info, SKCanvas canvas, IDayModel day, IMonthModel month)
        {
            float outerRingPercentageWidth = 31;
            float innerRingPercentageWidth = 26;

            var arcPainter = new SKPaint
            {
                Color       = SKColors.Black,
                Style       = SKPaintStyle.Stroke,
                StrokeWidth = 2
            };

            var dayLabelPainter = new SKPaint
            {
                Color       = Color.FromRgb(0, 0, 0).ToSKColor(),
                Style       = SKPaintStyle.StrokeAndFill,
                StrokeWidth = 2,
                TextSize    = Utility.GetWidthValueFromPercentage(info, 2.5f)
            };

            info = BuildOuterDayRing(info, canvas, outerRingPercentageWidth, arcPainter);
            info = BuildInnerDayRing(info, canvas, innerRingPercentageWidth, arcPainter);

            CircleShape[] outerRingPegPoints = GetOuterPegPoints(info, canvas, outerRingPercentageWidth);
            CircleShape[] innerRingPegPoints = GetInnerPegPoints(info, canvas, innerRingPercentageWidth);

            ConnectDayRingCrossover(canvas, arcPainter, outerRingPegPoints, innerRingPegPoints);
            CreateDayLabels(info, canvas, arcPainter, dayLabelPainter, outerRingPegPoints, innerRingPegPoints);
            SetActiveDayPeg(info, canvas, day, month, outerRingPegPoints, innerRingPegPoints);
        }