private async void LoadNewsContent(string id)
        {
            try
            {
                ICommonService<NewsContent> newsContentService = new CommonService<NewsContent>();
                var task1 = newsContentService.GetObjectAsync("4", "news", id);

                ICommonService<StoryExtra> storyExtraService = new CommonService<StoryExtra>();
                var task2 = storyExtraService.GetObjectAsync("4", "story-extra", id);

                await Task.WhenAll(task2, task1);

                NewsContent content = task1.Result;
                StoryExtra extra = task2.Result;

                if (content != null)
                {
                    this.StoryExtra = extra;
                    this.NewsContent = content;
                    var obj = new { Body = content.Body, CSS = content.Css[0], Image = content.Image, Title = content.Title, ImageSource = content.ImageSource, ShareUrl = content.ShareUrl };
                    Messenger.Default.Send<NotificationMessage>(new NotificationMessage(obj, "OnLoadCompleted"));
                    //Delay to destroy animation
                    await Task.Delay(500);
                    this.IsActive = false;
                }
                else
                {
                    MessageDialog msg = new MessageDialog(newsContentService.ExceptionsParameter, "提示");
                    await msg.ShowAsync();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

        }
        public static string NumberToWords(int number)
        {
            if (number == 0)
                return "zero";

            if (number < 0)
                return "minus " + NumberToWords(Math.Abs(number));

            string words = "";

            if ((number / 1000000) > 0)
            {
                words += NumberToWords(number / 1000000) + " million ";
                number %= 1000000;
            }

            if ((number / 1000) > 0)
            {
                words += NumberToWords(number / 1000) + " thousand ";
                number %= 1000;
            }

            if ((number / 100) > 0)
            {
                words += NumberToWords(number / 100) + " hundred ";
                number %= 100;
            }

            if (number > 0)
            {
                if (words != "")
                    words += "and ";

                var unitsMap = new[] { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
                var tensMap = new[] { "zero", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };

                if (number < 20)
                    words += unitsMap[number];
                else
                {
                    words += tensMap[number / 10];
                    if ((number % 10) > 0)
                        words += "-" + unitsMap[number % 10];
                }
            }

            return words;
        }
        private async TTask SaveAsync()
        {
            var registration = new
            {
                TaskId = _selectedTask.Id,
                Start = _date.Date.Add(_start),
                End = _date.Date.Add(_end),
                Remarks = _remarks
            };
            
            try
            {
                await _apiService.CreateRegistrationAsync(App.EmployeeId, registration);
                Reset();

                var dlg = new MessageDialog("Saved!", "Create Registration");
                await dlg.ShowAsync();
            }
            catch (Exception ex)
            {
                var dlg = new MessageDialog($"An error occurred while creating the registration: {ex.Message}", "Create Registration");
                await dlg.ShowAsync();
            }
        }