public static String GetPriceString(PostTemplate template) { StringBuilder builder = new StringBuilder(); DataBase db = Singleton.GetInstance().Context; Single totalPrice = 0.0f; builder.Append("Чек:\n"); builder.Append($"Тип поста ({GetPostTypeName((TypePostTime)template.isPinnedMessage)}): {GetPostTypePrice((TypePostTime)template.isPinnedMessage)} грн\n"); if (template.isPinnedMessage == 0) { builder.Append("Старндартное сообщение постится в указаное время!\n"); } else { builder.Append("Сообщение с закрепом постится каждый день в 12:00, удалятся каждый день в 11:00!\n"); } //totalPrice += GetPostTypePrice((TypePostTime)template.isPinnedMessage); foreach (PostChannel item in template.PostChannel) { if (item.Channel != null) { totalPrice += StartSession.NumberOfParticipants(item.Channel.InviteLink.Split("@")[1]) * (item.Channel.Price + GetPostTypePrice((TypePostTime)template.isPinnedMessage)); } else { Channel channel = db.GetChannel(item.ChannelId); totalPrice += StartSession.NumberOfParticipants(channel.InviteLink.Split("@")[1]) * (item.Channel.Price + GetPostTypePrice((TypePostTime)template.isPinnedMessage)); } builder.Append($"{item.Channel.ChannelName}: {item.Channel.Price} грн\n"); } builder.Append($"\n"); foreach (PostTime item in template.PostTime) { if (item.Time != System.DateTime.Today) { totalPrice += PriceData.postTypeTime; builder.Append($"\nПост на {item.Time.ToString("hh:mm:ss, dd.MM.yyyy")}: {PriceData.postTypeTime} грн"); } } builder.Append($"\n\nВсего: {(Int32)totalPrice} грн"); return(builder.ToString()); }
public static LabeledPrice[] GetLabelPrices(PostTemplate template) { List <LabeledPrice> prices = new List <LabeledPrice>(); DataBase db = Singleton.GetInstance().Context; Single totalPrice = 0.0f; //totalPrice += GetPostTypePrice((TypePostTime)template.isPinnedMessage); String temp = ""; if (template.isPinnedMessage == 0) { temp = "Старндартное сообщение постится в указаное время!\n"; } else { temp = "Сообщение с закрепом постится каждый день в 12:00, удалятся каждый день в 11:00!\n"; } prices.Add(new LabeledPrice($"Тип поста: {GetPostTypeName((TypePostTime)template.isPinnedMessage)} " + temp, (Int32)GetPostTypePrice((TypePostTime)template.isPinnedMessage) * 100)); foreach (PostChannel item in template.PostChannel) { if (item.Channel != null) { totalPrice = StartSession.NumberOfParticipants(item.Channel.InviteLink.Split("@")[1]) * (item.Channel.Price + GetPostTypePrice((TypePostTime)template.isPinnedMessage)); } else { Channel channel = db.GetChannel(item.ChannelId); totalPrice = StartSession.NumberOfParticipants(channel.InviteLink.Split("@")[1]) * (item.Channel.Price + GetPostTypePrice((TypePostTime)template.isPinnedMessage)); } if (totalPrice < 0) { totalPrice = 1; } prices.Add(new LabeledPrice($"Чат {item.Channel.ChannelName}", ((Int32)item.Channel.Price * 100) + (Convert.ToInt32(totalPrice) * 100))); } foreach (PostTime item in template.PostTime) { if (item.Time != System.DateTime.Today) { prices.Add(new LabeledPrice($"Пост на {item.Time.ToString("hh:mm:ss, dd.MM.yyyy:")} ", (Int32)PriceData.postTypeTime * 100)); } } return(prices.ToArray()); }
public static Single GetTotalPrice(PostTemplate template) { DataBase db = Singleton.GetInstance().Context; Single totalPrice = 0.0f; //totalPrice += GetPostTypePrice((TypePostTime)template.isPinnedMessage); foreach (PostChannel item in template.PostChannel) { if (item.Channel != null) { totalPrice += StartSession.NumberOfParticipants(item.Channel.InviteLink.Split("@")[1]) * (item.Channel.Price + GetPostTypePrice((TypePostTime)template.isPinnedMessage)); } else { Channel channel = db.GetChannel(item.ChannelId); totalPrice += StartSession.NumberOfParticipants(channel.InviteLink.Split("@")[1]) * (item.Channel.Price + GetPostTypePrice((TypePostTime)template.isPinnedMessage)); } } foreach (PostTime item in template.PostTime) { if (item.Time != System.DateTime.Today) { totalPrice += PriceData.postTypeTime; } } if ((totalPrice * 100) > 0) { return(totalPrice * 100); } else { return(100); } }