void RenderMarketName(NicheType nicheType) { var industryType = Markets.GetIndustry(nicheType, Q); var hasCompany = Companies.HasCompanyOnMarket(MyCompany, nicheType, Q); var isInterestingMarket = MyCompany.companyFocus.Niches.Contains(nicheType); var marketColorName = Colors.COLOR_MARKET_ATTITUDE_NOT_INTERESTED; if (hasCompany) { marketColorName = Colors.COLOR_MARKET_ATTITUDE_HAS_COMPANY; } else if (isInterestingMarket) { marketColorName = Colors.COLOR_MARKET_ATTITUDE_FOCUS_ONLY; } bool isOurIndustry = MyCompany.companyFocus.Industries.Contains(industryType); var industryColorName = isOurIndustry ? Colors.COLOR_MARKET_ATTITUDE_HAS_COMPANY : Colors.COLOR_MARKET_ATTITUDE_NOT_INTERESTED; var coloredMarket = Visuals.Colorize(Enums.GetFormattedNicheName(nicheType), marketColorName); var coloredIndustry = Visuals.Colorize(Enums.GetFormattedIndustryName(industryType), industryColorName); NicheName.text = $"{coloredMarket}\n<i>{coloredIndustry}</i>"; }
void Render() { var industry = ScreenUtils.GetSelectedIndustry(Q); var niches = Markets.GetObservableNichesInIndustry(industry, Q); GetComponent <NicheListView>().SetItems(niches); }
/// <summary> /// Fetch symbols, market ids and exchanger's information /// </summary> /// <param name="args">Add additional attributes for each exchange</param> /// <returns></returns> public override async ValueTask <Markets> FetchMarkets(Dictionary <string, object> args = null) { var _result = new Markets(); publicClient.ExchangeInfo.ApiCallWait(TradeType.Public); { var _markets = new List <MarketItem>() { new MarketItem() { symbol = "btc_jpy", baseId = "btc", quoteId = "jpy" }, // the only real pair //new MarketItem() { symbol= "eth_jpy", baseId= "eth", quoteId= "jpy" }, //new MarketItem() { symbol= "etc_jpy", baseId= "etc", quoteId= "jpy" }, //new MarketItem() { symbol= "dao_jpy", baseId= "dao", quoteId= "jpy" }, //new MarketItem() { symbol= "lsk_jpy", baseId= "lsk", quoteId= "jpy" }, //new MarketItem() { symbol= "fct_jpy", baseId= "fct", quoteId= "jpy" }, //new MarketItem() { symbol= "xmr_jpy", baseId= "xmr", quoteId= "jpy" }, //new MarketItem() { symbol= "rep_jpy", baseId= "rep", quoteId= "jpy" }, //new MarketItem() { symbol= "xrp_jpy", baseId= "xrp", quoteId= "jpy" }, //new MarketItem() { symbol= "zec_jpy", baseId= "zec", quoteId= "jpy" }, //new MarketItem() { symbol= "xem_jpy", baseId= "xem", quoteId= "jpy" }, //new MarketItem() { symbol= "ltc_jpy", baseId= "ltc", quoteId= "jpy" }, //new MarketItem() { symbol= "dash_jpy", baseId= "dash", quoteId= "jpy" }, //new MarketItem() { symbol= "eth_btc", baseId= "eth", quoteId= "btc" }, //new MarketItem() { symbol= "etc_btc", baseId= "etc", quoteId= "btc" }, //new MarketItem() { symbol= "lsk_btc", baseId= "lsk", quoteId= "btc" }, //new MarketItem() { symbol= "fct_btc", baseId= "fct", quoteId= "btc" }, //new MarketItem() { symbol= "xmr_btc", baseId= "xmr", quoteId= "btc" }, //new MarketItem() { symbol= "rep_btc", baseId= "rep", quoteId= "btc" }, //new MarketItem() { symbol= "xrp_btc", baseId= "xrp", quoteId= "btc" }, //new MarketItem() { symbol= "zec_btc", baseId= "zec", quoteId= "btc" }, //new MarketItem() { symbol= "xem_btc", baseId= "xem", quoteId= "btc" }, //new MarketItem() { symbol= "ltc_btc", baseId= "ltc", quoteId= "btc" }, //new MarketItem() { symbol= "dash_btc", baseId= "dash", quoteId= "btc" }, }; _markets.ForEach((m) => { var _base_name = publicClient.ExchangeInfo.GetCommonCurrencyName(m.baseId); var _quote_name = publicClient.ExchangeInfo.GetCommonCurrencyName(m.quoteId); m.baseName = _base_name; m.quoteName = _quote_name; m.marketId = _base_name + "/" + _quote_name; m.active = true; }); _result.result = _markets.ToDictionary(m => m.marketId, m => m as IMarketItem); var _json_result = publicClient.GetResponseMessage(); { _result.SetResult(_json_result); } } return(await Task.FromResult(_result)); }
/// <summary> /// Fetch symbols, market ids and exchanger's information /// </summary> /// <param name="args">Add additional attributes for each exchange</param> /// <returns></returns> public override async Task <Markets> FetchMarkets(Dictionary <string, object> args = null) { var _result = new Markets(); publicClient.ExchangeInfo.ApiCallWait(TradeType.Public); { var _params = publicClient.MergeParamsAndArgs(args); var _json_value = await publicClient.CallApiGet1Async("/v1/markets", _params); #if DEBUG _result.rawJson = _json_value.Content; #endif var _json_result = publicClient.GetResponseMessage(_json_value.Response); if (_json_result.success == true) { var _markets = publicClient.DeserializeObject <Dictionary <string, ZMarketItem> >(_json_value.Content); foreach (var _market in _markets) { var _m = _market.Value; var _split_symbol = _market.Key.Split('_'); _m.symbol = _market.Key; _m.baseId = _split_symbol[0]; _m.quoteId = _split_symbol[1]; _m.baseName = publicClient.ExchangeInfo.GetCommonCurrencyName(_m.baseId); _m.quoteName = publicClient.ExchangeInfo.GetCommonCurrencyName(_m.quoteId); _m.marketId = _m.baseName + "/" + _m.quoteName; _m.lot = (decimal)Math.Pow(10.0, -_m.precision.quantity); _m.active = true; _m.limits.quantity.min = (decimal)Math.Pow(10.0, -_m.precision.quantity); _m.limits.quantity.max = decimal.MaxValue; _m.limits.price.min = (decimal)Math.Pow(10.0, -_m.precision.price); _m.limits.price.max = decimal.MaxValue; _m.limits.amount = new MarketMinMax { min = _m.limits.quantity.min * _m.limits.price.min, max = decimal.MaxValue }; _m.precision.amount = _m.precision.price * _m.precision.quantity; _result.result.Add(_m.marketId, _m); } } _result.SetResult(_json_result); } return(_result); }
public ActionResult DeleteConfirmed(int id) { Markets market = db.Markets.Find(id); db.Markets.Remove(market); db.SaveChanges(); return(RedirectToAction("Index")); }
public override string RenderValue() { var product = SelectedCompany; var cost = Markets.GetClientAcquisitionCost(product.product.Niche, Q) * 1000; return(cost.ToString("0.0") + "$"); }
public override void ViewRender() { base.ViewRender(); var perspectiveNiches = Markets.GetPerspectiveAdjacentNiches(Q, MyCompany); SetItems(perspectiveNiches); }
public override bool HideIf() { var niche = Markets.Get(Q, SelectedNiche); var isResearching = Cooldowns.HasTask(Q, new CompanyTaskExploreMarket(SelectedNiche)); return(niche.hasResearch || isResearching); }
public override bool Condition() { var niche = Markets.GetNiche(Q, SelectedNiche); // or there are no companies return(niche.hasResearch && Markets.GetCompetitorsAmount(SelectedNiche, Q) > 0); }
public override void ViewRender() { base.ViewRender(); var funds = Markets.GetFinancialStructuresWithSameInterests(Q, MyCompany); SetItems(funds.ToArray()); }
internal static void ExploreMarket(CompanyTask task, GameContext gameContext) { var nicheType = (task as CompanyTaskExploreMarket).NicheType; var niche = Markets.Get(gameContext, nicheType); niche.AddResearch(1); }
public override void ViewRender() { base.ViewRender(); var rating = Markets.GetMarketRating(Q, SelectedNiche); GetComponent <SetAmountOfStars>().SetStars(rating); }
public bool ReadConfigure() { Markets market = (Markets)Enum.Parse(typeof(Markets), "zhCN", true); feed = new Feed(market, "RAA", "DataPro"); feed.LastBuildTime = DateTime.UtcNow; return(true); }
public void SetIndustry(IndustryType industry, InputField Input) { var niches = Markets.GetPlayableNichesInIndustry(industry, Q).Where(m => Markets.IsAppropriateStartNiche(m, Q)).ToArray(); var index = Random.Range(0, niches.Count()); var niche = niches[index].niche.NicheType; SetNiche(niche, Input); }
void CalculateROI(GameEntity company) { // calculate ROI var allChannels = Markets.GetAllMarketingChannels(Q); maxROI = allChannels.Max(c => Marketing.GetChannelCostPerUser(company, c.marketingChannel.ChannelInfo.ID)); minROI = allChannels.Min(c => Marketing.GetChannelCostPerUser(company, c.marketingChannel.ChannelInfo.ID)); }
public override void ViewRender() { base.ViewRender(); var players = Markets.GetProductsOnMarket(Q, SelectedNiche).OrderByDescending(p => Marketing.GetClients(p)); SetItems(players.ToArray()); }
public void SetEntity(GameEntity c, bool darkImage) { company = c; EnableDarkTheme = darkImage; bool hasControl = Companies.GetControlInCompany(MyCompany, c, Q) > 0; Name.text = c.company.Name; // .Substring(0, 1); Name.color = Visuals.GetColorFromString(hasControl ? Colors.COLOR_CONTROL : Colors.COLOR_NEUTRAL); SetEmblemColor(); LinkToProjectView.CompanyId = c.company.Id; ShowProductChanges.SetEntity(company); var isRelatedToPlayer = Companies.IsRelatedToPlayer(Q, c); ConceptProgress.SetCompanyId(c.company.Id); //ConceptProgress.gameObject.SetActive(isRelatedToPlayer); CompanyHint.SetHint(GetCompanyHint(hasControl)); var clients = Marketing.GetClients(company); Concept.text = Format.Minify(clients); // Products.GetProductLevel(c) + "LVL"; var position = Markets.GetPositionOnMarket(Q, company); PositionOnMarket.text = $"#{position + 1}"; var level = Products.GetProductLevel(company); PositionOnMarket.text = $"{level}LVL"; Dumping.SetCompanyId(c.company.Id); if (Profitability != null) { var profit = Economy.GetProfit(Q, company.company.Id); var marketShare = Companies.GetMarketShareOfCompanyMultipliedByHundred(c, Q); var shareChange = 1; bool isGrowing = Companies.IsCompanyGrowing(company, Q); //Profitability.text = Visuals.DescribeValueWithText(shareChange, marketShare + "%", marketShare + "%", ""); Profitability.text = Visuals.Colorize(marketShare + "%", isGrowing); Profitability.text = Visuals.Positive(marketShare + "%"); //Profitability.GetComponent<Hint>().SetHint( // profit > 0 ? // Visuals.Positive($"This company is profitable!\nProfit: +{Format.Money(profit)}") : // Visuals.Negative($"This company loses {Format.Money(-profit)} each month!") // ); } var financing = Economy.GetMarketingFinancing(company); AggressiveMarketing.SetActive(financing == Products.GetMaxFinancing); }
protected override void Execute(List <GameEntity> entities) { var niches = Markets.GetNiches(gameContext); foreach (var n in niches) { CheckMarket(n); } }
public void AddMarket(Resource resource) { Market market = new Market(resource); Markets.Add(resource.Type, market); market.AssignTown(this); AddResource(resource); }
private static void RemoveTechLeaders(GameEntity product, GameContext gameContext) { var players = Markets.GetProductsOnMarket(gameContext, product).ToArray(); foreach (var p in players) { p.isTechnologyLeader = false; } }
protected override void Execute(List <GameEntity> entities) { GameEntity[] niches = Markets.GetNiches(gameContext); foreach (var niche in niches) { Markets.FillMarket(niche, gameContext); } }
// always positive or equal to zero public static int GetDifferenceBetweenMarketDemandAndAppConcept(GameEntity product, GameContext gameContext) { var niche = Markets.Get(gameContext, product.product.Niche); var demand = GetMarketDemand(niche); var level = GetProductLevel(product); return(demand - level); }
public static bool IsInInvestorsSphereOfInfluence(GameEntity shareholder, GameEntity company) { if (!company.hasProduct) { return(Markets.IsShareSameInterests(company, shareholder)); } return(shareholder.companyFocus.Niches.Contains(company.product.Niche)); }
void Render() { var industries = Markets.GetIndustries(Q); for (var i = 0; i < industries.Length; i++) { RenderIndustry(industries[i].industry.IndustryType, i, industries.Length); } }
public override void ViewRender() { base.ViewRender(); bool show = Markets.IsExploredMarket(Q, SelectedNiche) && MyCompany.isWantsToExpand; GetComponent <LinkTo>().enabled = show; GetComponent <Text>().text = show ? Visuals.Link("Market Info") : ""; }
private void OnEnable() { amountOfNichesSqrt = Mathf.Sqrt(Markets.GetNiches(Q).Length); X = X0; Y = Y0; RedrawMap(); }
private static Markets SetMarketInactive(Markets markets) { foreach (Market market in markets.MarketList) { market.Active = false; } return(markets); }
//---------------------------------------------------------------------------------- protected static Markets SetMarketActive(Markets markets) { foreach (Market market in markets.MarketList) { market.Active = true; } return(markets); }
public override string GetTitle(NotificationMessageTrendsChange message) { var nicheType = message.nicheType; var nicheName = Enums.GetFormattedNicheName(nicheType); var niche = Markets.Get(Q, nicheType); return(GetShortTitle(Markets.GetMarketState(niche), nicheName)); }
void AutoFillFocusNichesByIndustry(GameEntity company) { var niches = Markets.GetNichesInIndustry(company.companyFocus.Industries[0], Q); foreach (var n in niches) { Companies.AddFocusNiche(company, n.niche.NicheType, Q); } }
/// <summary>Creates a new instance of MintPal API .NET's client service.</summary> /// <param name="publicApiKey">Your public API key.</param> /// <param name="privateApiKey">Your private API key.</param> public MintPalClient(string publicApiKey, string privateApiKey) { var apiWebClient = new ApiWebClient(Helper.ApiUrlBase); Authenticator = new Authenticator(apiWebClient, publicApiKey, privateApiKey); Markets = new Markets(apiWebClient); Trading = new Trading(apiWebClient); Wallet = new Wallet(apiWebClient); }
/// <summary>Creates a new instance of Poloniex API .NET's client service.</summary> /// <param name="publicApiKey">Your public API key.</param> /// <param name="privateApiKey">Your private API key.</param> public PoloniexClient(string publicApiKey, string privateApiKey) { var apiWebClient = new ApiWebClient(Helper.ApiUrlHttpsBase); Authenticator = new Authenticator(apiWebClient, publicApiKey, privateApiKey); Markets = new Markets(apiWebClient); Trading = new Trading(apiWebClient); Wallet = new Wallet(apiWebClient); Live = new Live(); }
internal void Add(Markets market, bool isRealTime) { if (isRealTime) { this.realtime.Add(market); } else { this.delayed.Add(market); } }
public void Builder() { var mark = new Markets(Html("http://reforum.ru/cpanel/realty/admin.html")); // Получаем исходный код всех страниц // создаем список страниц -> делаем проекцию для получения исходного кода страницы -> делаем выравнивание var query = mark.MarketsList .SelectMany(n => Enumerable.Range(1, n.Pages).Select((x, i) => Html(n.Url + (i + 1)))).ToList(); // Делаем запрос на получение всех обратных сылок var q = query.AsParallel().SelectMany(n => { var doc = new HtmlDocument(); doc.LoadHtml(n); return doc.DocumentNode.SelectNodes(".//*[@id='realty_grid']//*[@class='lc_link_under_address']/a") .Select(x => x.GetAttributeValue("href", "")); }).ToList(); // Убираем дубли var noCopy = q.Distinct().ToList(); // NOTE: указываем временной диапазон для csv файла // http://reforum.ru/cpanel/realty/statCsv.html?advertiserId=105699&AdvertAnalytics%5BdateFrom%5D=2015-08-01&AdvertAnalytics%5BdateTo%5D=2015-08-02 //$"http://reforum.ru/cpanel/realty/statCsv.html?advertiserId=105699&AdvertAnalytics%5BdateFrom%5D={DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")}&AdvertAnalytics%5BdateTo%5D={DateTime.Now.ToString("yyyy-MM-dd")}"; //var csv = // string.Format( // "http://reforum.ru/cpanel/realty/statCsv.html?advertiserId=105699&AdvertAnalytics%5BdateFrom%5D={0}&AdvertAnalytics%5BdateTo%5D={1}", // DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd")); var csv = string.Format( "http://reforum.ru/cpanel/realty/statCsv.html?advertiserId=105699&AdvertAnalytics%5BdateFrom%5D={0}&AdvertAnalytics%5BdateTo%5D={1}", DateTime.Now.ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd")); // Получаем csv var str = Html(csv); // Сопостовляем сылки пример // "http://spb.reforum.ru/flat/prodam-pyatikomnatnuyu-kvartiru-140542433.html" по этому номеру 140542433 можно найти в csv всю необходимую инфу //100804131; 3318712; 2015-08-02; 3; 3 // первая и последняя строка мусор нужно скипать /* Формат CSV файла: * 1) номер в сылки 100804131 * 2) RequestId 3318712 НЕ ВСЕГДА ЕСТЬ ПОЧЕМУ ТО! * 3) дата выбрасываем 2015-08-02 * 4) Просмотры карточки 3 * 5) Показы 3 */ var report = str.Split(new[] {"\n"}, StringSplitOptions.RemoveEmptyEntries).Skip(1).Reverse().Skip(1).Select(n => { var tmp = n.Split(';').ToArray(); return new {Number = tmp[0], RequestId = tmp[1], visits = tmp[3]}; }).ToArray(); // Джойним cvs файл(почему то в нем есть дубликаты убираем их) с обратными сылками var result = noCopy .Join(report, x => string.Concat(x.Where(char.IsNumber)), y => y.Number, (x, y) => new { Id = y.RequestId, Url = x, CountView = y.visits }).GroupBy(n => n.Id).Select(n => n.First()); // Создаем XDocumet xDocument = new XDocument( new XDeclaration(null, "utf-8", null), new XElement("Root", result.Select( n => new XElement("Advert", new XElement("Id", n.Id), new XElement("Url", n.Url), new XElement("CountView", n.CountView)) ))); }