Example #1
0
        public static String ItemiseWorkday2(Workday workday)
        {
            StringBuilder sb = new StringBuilder();
            DurationConverter dc = new DurationConverter();
            sb.Append("<h1 style=\"font-size: 46px; font-weight: normal; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\">" +
            "timecard for " + workday.StartTime.ToString("D") + "</h1>\n" +
            "<h2 style=\"font-weight: normal; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\">" +
            "Generated by <a href=\"BLAH BLAH BLAH\">Timecard</a> for Windows Phone 7</h2>\n");
            sb.Append("<div style=\"width: 250px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\" >\n");
            sb.Append("<div style=\"font-size: 25px; font-weight: bold; color: #1BA1E2;\">" + workday.StartTime.ToString("t") + "</div>\n");
            sb.Append("<div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">Start Work</div>\n");
            TimeSpan TotalDuration = workday.EndTime - workday.StartTime;
            foreach (PunchSegment segment in workday.WorkSegments)
            {
                if (segment.SegmentCategory == Category.Break)
                {
                    TotalDuration -= segment.Duration;
                }
                sb.Append("<div style=\"" + Cat2Style(segment.SegmentCategory) + "\">\n");
                sb.Append("<div style=\"font-size: 25px; font-weight: bold;\">" + segment.StartTime.ToString("t") + "</div>\n");
                sb.Append("<div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">" + segment.StartLabel + "</div>\n");
                sb.Append("<div style=\"margin-left: 20px; padding: 15px; border-left-width: medium; border-left-style: solid; vertical-align: middle;\">\n<div style=\"color: #000000;\">");
                sb.Append(dc.Convert(segment.Duration, typeof(String), null, null) + " = " + segment.Duration.TotalHours.ToString("F") + " hrs");
                sb.Append("</div></div>");
                sb.Append("<div style=\"font-size: 25px; font-weight: bold;\">" + segment.EndTime.ToString("t") + "</div>\n");
                sb.Append("<div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">" + segment.EndLabel + "</div></div>\n");
            }
            sb.Append("<div style=\"font-size: 25px; font-weight: bold; color: #1BA1E2;\">" + workday.EndTime.ToString("t") + "</div>\n");
            sb.Append("<div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">End Work</div>\n");

            sb.Append("<div style=\"color: #000000; border-top: thin solid black; margin-top: 20px; text-align: right;\"><div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">Total Work Time:</div>" + dc.Convert(TotalDuration, typeof(String), null, null) + " = " + TotalDuration.TotalHours.ToString("F") + " hrs" + "</div>\n</div>");
            return sb.ToString();
        }
Example #2
0
        public static String ItemiseWorkday(Workday workday)
        {
            StringBuilder sb = new StringBuilder();
            DurationConverter dc = new DurationConverter();
            sb.Append("<div class=\"timesheet\">\n");
            sb.Append("<div class=\"time meta\">" + workday.StartTime.ToString("t") + "</div>\n");
            sb.Append("<div class=\"label\">Start Work</div>\n");
            TimeSpan TotalDuration = workday.EndTime - workday.StartTime;
            foreach (PunchSegment segment in workday.WorkSegments)
            {
                if (segment.SegmentCategory == Category.Break)
                {
                    TotalDuration -= segment.Duration;
                }
                sb.Append("<div class=\"segment " + Cat2Class(segment.SegmentCategory) + "\">\n");
                sb.Append("<div class=\"time\">" + segment.StartTime.ToString("t") + "</div>\n");
                sb.Append("<div class=\"label\">" + segment.StartLabel + "</div>\n");
                sb.Append("<div class=\"duration\">\n<div>");
                sb.Append(dc.Convert(segment.Duration, typeof(String), null, null) + " = " + segment.Duration.TotalHours.ToString("F") + " hrs");
                sb.Append("</div></div>");
                sb.Append("<div class=\"time\">" + segment.EndTime.ToString("t") + "</div>\n");
                sb.Append("<div class=\"label\">" + segment.EndLabel + "</div></div>\n");
            }
            sb.Append("<div class=\"time meta\">" + workday.EndTime.ToString("t") + "</div>\n");
            sb.Append("<div class=\"label\">End Work</div>\n");

            sb.Append("<div class=\"total\"><div class=\"label\">Total Work Time:</div>" + dc.Convert(TotalDuration, typeof(String), null, null) + " = " + TotalDuration.TotalHours.ToString("F") + " hrs"+"</div>\n</div>");
            return sb.ToString();
        }
Example #3
0
        public static String ItemiseWorkday2(Workday workday)
        {
            StringBuilder     sb = new StringBuilder();
            DurationConverter dc = new DurationConverter();

            sb.Append("<h1 style=\"font-size: 46px; font-weight: normal; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\">" +
                      "timecard for " + workday.StartTime.ToString("D") + "</h1>\n" +
                      "<h2 style=\"font-weight: normal; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\">" +
                      "Generated by <a href=\"BLAH BLAH BLAH\">Timecard</a> for Windows Phone 7</h2>\n");
            sb.Append("<div style=\"width: 250px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\" >\n");
            sb.Append("<div style=\"font-size: 25px; font-weight: bold; color: #1BA1E2;\">" + workday.StartTime.ToString("t") + "</div>\n");
            sb.Append("<div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">Start Work</div>\n");
            TimeSpan TotalDuration = workday.EndTime - workday.StartTime;

            foreach (PunchSegment segment in workday.WorkSegments)
            {
                if (segment.SegmentCategory == Category.Break)
                {
                    TotalDuration -= segment.Duration;
                }
                sb.Append("<div style=\"" + Cat2Style(segment.SegmentCategory) + "\">\n");
                sb.Append("<div style=\"font-size: 25px; font-weight: bold;\">" + segment.StartTime.ToString("t") + "</div>\n");
                sb.Append("<div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">" + segment.StartLabel + "</div>\n");
                sb.Append("<div style=\"margin-left: 20px; padding: 15px; border-left-width: medium; border-left-style: solid; vertical-align: middle;\">\n<div style=\"color: #000000;\">");
                sb.Append(dc.Convert(segment.Duration, typeof(String), null, null) + " = " + segment.Duration.TotalHours.ToString("F") + " hrs");
                sb.Append("</div></div>");
                sb.Append("<div style=\"font-size: 25px; font-weight: bold;\">" + segment.EndTime.ToString("t") + "</div>\n");
                sb.Append("<div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">" + segment.EndLabel + "</div></div>\n");
            }
            sb.Append("<div style=\"font-size: 25px; font-weight: bold; color: #1BA1E2;\">" + workday.EndTime.ToString("t") + "</div>\n");
            sb.Append("<div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">End Work</div>\n");

            sb.Append("<div style=\"color: #000000; border-top: thin solid black; margin-top: 20px; text-align: right;\"><div style=\"width: 130px; font-size: small; text-align: right; color: #000000;\">Total Work Time:</div>" + dc.Convert(TotalDuration, typeof(String), null, null) + " = " + TotalDuration.TotalHours.ToString("F") + " hrs" + "</div>\n</div>");
            return(sb.ToString());
        }
Example #4
0
        public static String ItemiseWorkday(Workday workday)
        {
            StringBuilder     sb = new StringBuilder();
            DurationConverter dc = new DurationConverter();

            sb.Append("<div class=\"timesheet\">\n");
            sb.Append("<div class=\"time meta\">" + workday.StartTime.ToString("t") + "</div>\n");
            sb.Append("<div class=\"label\">Start Work</div>\n");
            TimeSpan TotalDuration = workday.EndTime - workday.StartTime;

            foreach (PunchSegment segment in workday.WorkSegments)
            {
                if (segment.SegmentCategory == Category.Break)
                {
                    TotalDuration -= segment.Duration;
                }
                sb.Append("<div class=\"segment " + Cat2Class(segment.SegmentCategory) + "\">\n");
                sb.Append("<div class=\"time\">" + segment.StartTime.ToString("t") + "</div>\n");
                sb.Append("<div class=\"label\">" + segment.StartLabel + "</div>\n");
                sb.Append("<div class=\"duration\">\n<div>");
                sb.Append(dc.Convert(segment.Duration, typeof(String), null, null) + " = " + segment.Duration.TotalHours.ToString("F") + " hrs");
                sb.Append("</div></div>");
                sb.Append("<div class=\"time\">" + segment.EndTime.ToString("t") + "</div>\n");
                sb.Append("<div class=\"label\">" + segment.EndLabel + "</div></div>\n");
            }
            sb.Append("<div class=\"time meta\">" + workday.EndTime.ToString("t") + "</div>\n");
            sb.Append("<div class=\"label\">End Work</div>\n");

            sb.Append("<div class=\"total\"><div class=\"label\">Total Work Time:</div>" + dc.Convert(TotalDuration, typeof(String), null, null) + " = " + TotalDuration.TotalHours.ToString("F") + " hrs" + "</div>\n</div>");
            return(sb.ToString());
        }
        public void ShouldConvertNullDuration()
        {
            var converter = new DurationConverter();

            var result = converter.Convert(null, null, null, null);

            Assert.AreEqual("00:00:00", result);
        }
Example #6
0
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value is double doubleValue)
        {
            return(_converter.Convert(TimeSpan.FromMilliseconds(doubleValue), targetType, parameter, culture));
        }

        throw new NotSupportedException();
    }
        public void ShouldConvertSecondsToString()
        {
            var time = 60;

            var converter = new DurationConverter();

            var result = converter.Convert(time, null, null, null);

            Assert.AreEqual("00:01:00", result);
        }
        public void ShouldConvertTimeCodeToString()
        {
            var time = new TimeCode(0, 30, 10, 0, SmpteFrameRate.Smpte2997NonDrop);

            var converter = new DurationConverter();

            var result = converter.Convert(time, null, null, null);

            Assert.AreEqual("00:30:10:00", result);
        }
Example #9
0
        protected string FormatDuration(double durationSeconds)
        {
            var culture          = ServiceRegistration.Get <ILocalization>().CurrentCulture;
            DurationConverter dc = new DurationConverter();
            object            time;

            if (dc.Convert(durationSeconds, null, null, culture, out time))
            {
                return(time.ToString());
            }
            return("-");
        }
Example #10
0
        public MVideoDetails(Video video)
        {
            VideoId = video.Id;
            if (video.Snippet != null)
            {
                Title       = video.Snippet.Title;
                Description = video.Snippet.Description;
                IsLive      = video.Snippet.LiveBroadcastContent == "live";
            }

            Statistics = new MVideoStatistics(video.Statistics);

            if (video.ContentDetails == null)
            {
                return;
            }

            Duration   = DurationConverter.Convert(video.ContentDetails.Duration);
            Definition = video.ContentDetails.Definition;
            IsPaid     = video.ContentDetails.RegionRestriction != null;
        }