private Embed FormatStockResponse(StockModel response) { var Company = response.Company; var Quote = response.StockQuote; var changeString = new StringBuilder() .AppendLine("```diff") .AppendLine(PriceChangeToString( Quote.Current, Quote.PreviousClose)) .Append("```").ToString().Trim(); return(new EmbedBuilder() { Color = Color.DarkRed, Title = string.Format("{0} ({1})", Company.Name, response.Symbol), Description = Company.Exchange, Url = Company?.Weburl.ValidateUri(), ThumbnailUrl = Company?.Logo.ValidateUri(), Fields = new List <EmbedFieldBuilder>() { EmbedFormat.MakeField("Price:", Quote.Current.ToString()), EmbedFormat.MakeField("Prev Close:", Quote.PreviousClose.ToString(), true), EmbedFormat.MakeField("Low:", Quote.Low.ToString(), true), EmbedFormat.MakeField("High:", Quote.High.ToString(), true), EmbedFormat.MakeField("Change:", changeString), EmbedFormat.MakeField("Updated:", DateFormat.UnixTimeToDate(Quote.Timestamp)) } }.Build()); }
private Embed FormatOmdbResponse(Movie response) { string titleUrl = string.Empty; var ratings = new StringBuilder("*none*"); if (response.Ratings?.Length > 0) { ratings.Clear(); foreach (var rating in response.Ratings) { ratings.AppendFormat("{0}: {1}", rating.Source.Replace("Internet Movie Database", "IMDB"), rating.Value) .AppendLine(); } } if (!string.IsNullOrEmpty(response.ImdbId)) { titleUrl = string.Format(_options.IanImdbIdUrl, response.ImdbId); } return(new EmbedBuilder { Author = EmbedFormat.MakeAuthor(response.Title, titleUrl), Description = response.Plot, ThumbnailUrl = response?.Poster.ValidateUri(), Fields = new List <EmbedFieldBuilder>() { EmbedFormat.MakeField("Released:", DateFormat.ToWesternDate(response.Released)), EmbedFormat.MakeField("Actors:", response.Actors), EmbedFormat.MakeField("Ratings:", ratings.ToString().Trim()) } }.Build()); }