void RenderActivitySigns(GameEntity company, ChannelInfo channel) { bool isActiveChannel = Marketing.IsActiveInChannel(company, channel.ID); Draw(ChosenImage, isActiveChannel); Draw(ChosenCheckMark, isActiveChannel); }
List <long> NormalizeGraphData(GameEntity p, int start, int end, int necessaryMetrics) { var metrics = p.metricsHistory.Metrics .Where(m => m.Date >= start) .ToList(); //var necessaryMetrics = (end - start) / Constants.PERIOD; // metrics are saved each 7 days var metricsCount = metrics.Count(); //Debug.Log($"Found {metricsCount} / {necessaryMetrics} queries for {p.company.Name}"); var insertBefore = necessaryMetrics - metricsCount; for (var i = 0; i < insertBefore; i++) { metrics.Add(GetMetricMockup(0, start + i * Balance.PERIOD)); } // add current value metrics.Add(GetMetricMockup(Marketing.GetClients(p), CurrentIntDate + 1)); var result = metrics.OrderBy(m => m.Date); //var loggedMetrics = result.Select(m => $"date={m.Date}, audience={Format.Minify(m.AudienceSize)}"); //Debug.Log("normalising " + p.company.Name + $" (Entity{p.creationIndex}: {result.Count()}/{necessaryMetrics} " + string.Join("\n", loggedMetrics)); return(result .Select(m => m.AudienceSize) .ToList()); }
public static Marketing GetLeadSourceByLeadSourceID(int LeadSourceID) { Marketing marketing = new Marketing(); SqlMarketingProvider sqlMarketingProvider = new SqlMarketingProvider(); marketing = sqlMarketingProvider.GetMarketingByLeadSourceID(LeadSourceID); return marketing; }
public static Marketing GetMarketingByMarketingID(int MarketingID) { Marketing marketing = new Marketing(); SqlMarketingProvider sqlMarketingProvider = new SqlMarketingProvider(); marketing = sqlMarketingProvider.GetMarketingByMarketingID(MarketingID); return marketing; }
public static Marketing GetCustomerByCustomerID(int CustomerID) { Marketing marketing = new Marketing(); SqlMarketingProvider sqlMarketingProvider = new SqlMarketingProvider(); marketing = sqlMarketingProvider.GetMarketingByCustomerID(CustomerID); return marketing; }
public void SetPivotPositionings() { var positioning = Marketing.GetPositioning(Flagship); var positionings = Marketing.GetNichePositionings(Flagship); var favouriteSegments = positioning.Loyalties.Select((l, i) => new { l, i }).Where(r => r.l >= 0).Select(r => r.i); var favouriteCount = favouriteSegments.Count(); var pivotPositionings = new List <ProductPositioning>(); // positionings.Where(p => p.Loyalties.All((l, i) => l >= 0 && positioning.Loyalties[i] >= 0)); foreach (var p in positionings) { bool willNotLosePreviousUsers = true; var newFavouriteCount = p.Loyalties.Count(l => l >= 0); for (var i = 0; i < p.Loyalties.Count; i++) { bool likesAudience = positioning.Loyalties[i] >= 0; bool willHateAudience = p.Loyalties[i] < 0; if (likesAudience && willHateAudience) { willNotLosePreviousUsers = false; } } //willNotLosePreviousUsers && if (newFavouriteCount <= favouriteCount) { pivotPositionings.Add(p); } } SetPositionings(pivotPositionings); }
void EmphasizeCompanySize() { var position = Companies.GetDirectCompetitors(company, Q, true) .OrderByDescending(Marketing.GetUsers) .Select((c, i) => new { c, i, share = Marketing.GetUsers(c) }) .First(cc => cc.c.company.Id == company.company.Id) .i; // Markets.GetPositionOnMarket(Q, company); var max = 1f; var min = 0.5f; var scale = max / (1 + position); if (position == 0) { scale = max; } else if (position == 1) { scale = max * 0.8f; } else if (position == 2 || position == 3) { scale = max * 0.7f; } else { scale = min; } scale = Mathf.Clamp(scale, min, max); transform.localScale = new Vector3(scale, scale, 1); }
void ReleaseProduct(GameEntity product) { if (Companies.IsReleaseableApp(product)) { Marketing.ReleaseApp(gameContext, product); } }
public override string RenderValue() { var task = TeamTask; var cost = Economy.GetTeamTaskCost(Flagship, task); var costs = Format.Money(cost) + " / week"; if (task is TeamTaskFeatureUpgrade) { var f = task as TeamTaskFeatureUpgrade; return($"Upgrading {f.NewProductFeature.Name} feature"); } if (task is TeamTaskChannelActivity f1) { var gain = Marketing.GetChannelClientGain(Flagship, f1.ChannelId); return($"Marketing in Channel {f1.ChannelId} (+{Format.Minify(gain)} users / week). Costs {costs}"); } if (task.IsHighloadTask) { var f = task as TeamTaskSupportFeature; return($"{task.GetPrettyName()} can maintain {Format.Minify(f.SupportFeature.SupportBonus.Max)} users. Costs {costs}"); } return("???"); }
public static GoalRequirements GoalFirstUsers(GameEntity company, GameContext gameContext) { return(new GoalRequirements { have = Marketing.GetClients(company), need = company.companyGoal.MeasurableGoal }); }
void ManageChannels(GameEntity product) { if (Marketing.IsNeedsMoreMarketersForCampaign(product)) { TryHireWorker(product, WorkerRole.Marketer); if (Marketing.IsNeedsMoreMarketersForCampaign(product)) { return; } } // TODO COPIED FROM MarketingChannelController.cs //var channels = Markets.GetAffordableMarketingChannels(product, gameContext); var channels = Markets.GetMaintainableMarketingChannels(product, gameContext) .Where(c => !Marketing.IsActiveInChannel(product, c.ID)) .OrderByDescending(c => c.Batch) .Take(8); if (!channels.Any()) { return; } var channel = channels.First(); var task = TeamTaskChannelActivity.FromChannel(channel); // new TeamTaskChannelActivity(channelId, Marketing.GetChannelCost(product, channelId)); Teams.AddTeamTask(product, ScheduleUtils.GetCurrentDate(gameContext), gameContext, 0, task); }
public override void Execute() { var channel = MarketingChannelView.channel; var company = Flagship; var relay = FindObjectOfType <FlagshipRelayInCompanyView>(); var channelId = channel.ID; var task = new TeamTaskChannelActivity(channelId, Marketing.GetChannelCost(company, channelId)); relay.AddPendingTask(task); var channelList = FindObjectOfType <MarketingChannelsListView>(); if (channelList != null) { // view render to recalculate features count channelList.ViewRender(); if (channelList.count == 0) { CloseModal("Marketing"); } MarketingChannelView.ViewRender(); } }
private static ProductRoot CreateProductRoot( string file, ParseState state, Product product, IReadOnlyList <Hierarchy> branch, IReadOnlyList <ProductVariant> productVariants, Marketing marketing, IReadOnlyList <Option> optionsItems, IReadOnlyList <Specification> specificationsLabeledItems, IReadOnlyList <Image> linksSelectedImages, IReadOnlyList <Hierarchy> hierarchies, Detail detail) { return(new ProductRoot( file, state.PartNumber, state.PartnerPartNumber, state.LanguageId, product, branch, productVariants, marketing, optionsItems, specificationsLabeledItems, new Links(state.Links.PdfLinkDataSheet, state.Links.PdfLinkManual, linksSelectedImages), hierarchies, detail )); }
protected override void Execute(List <GameEntity> entities) { var companies = Companies.GetProductCompanies(gameContext); foreach (var product in companies) { // churn users var churn = Marketing.GetChurnClients(product, gameContext); Marketing.AddClients(product, -churn); // add users if (product.isControlledByPlayer || product.isRelatedToPlayer) { //Debug.Log("Will lose " + churn); continue; } /*var myChannels = product.companyMarketingActivities.Channels; * * foreach (var c in myChannels) * { * var channelId = c.Key; * * var clients = Marketing.GetChannelClientGain(product, channelId); * Marketing.AddClients(product, clients); * }*/ } }
void ChurnUsers(GameEntity[] products, GameEntity niche) { var clientContainers = niche.nicheClientsContainer.Clients; var dumpingCompanies = products.Where(p => p.isDumping); var totalBrands = dumpingCompanies.Sum(p => p.branding.BrandPower); for (var i = 0; i < products.Length; i++) { var p = products[i]; var churnClients = Marketing.GetChurnClients(contexts.game, p.company.Id); Marketing.AddClients(p, -churnClients); clientContainers[0] += churnClients; continue; // send churn users to dumping companies foreach (var d in dumpingCompanies) { float clients = churnClients; if (totalBrands == 0) { clients /= dumpingCompanies.Count(); } else { clients *= p.branding.BrandPower / totalBrands; } Marketing.AddClients(d, (long)(clients)); } } }
public void LoadMarktingInfo(int CustometID) { Marketing marketing = new Marketing(); marketing = MarketingManager.GetCustomerByCustomerID(CustometID); // marketing.MarketingID= int.Parse(ddlMarketingID.SelectedValue); marketing.CustomerID = CustometID; mMarketingID.Value = marketing.MarketingID.ToString(); ddlMarketingAgentID.SelectedIndex = ddlMarketingAgentID.Items.IndexOf(ddlMarketingAgentID.Items.FindByValue(marketing.MarketingAgentID.ToString())); ddlMarketingCloserID.SelectedIndex = ddlMarketingCloserID.Items.IndexOf(ddlMarketingCloserID.Items.FindByValue(marketing.MarketingCloserID.ToString())); ddlMarketingVanueID.SelectedIndex = ddlMarketingVanueID.Items.IndexOf(ddlMarketingVanueID.Items.FindByValue(marketing.MarketingVanueID.ToString())); ddlLeadSourceID.SelectedIndex = ddlLeadSourceID.Items.IndexOf(ddlLeadSourceID.Items.FindByValue(marketing.LeadSourceID.ToString())); ddlGiftID.SelectedIndex = ddlLeadSourceID.Items.IndexOf(ddlGiftID.Items.FindByValue(marketing.GiftID.ToString())); ddlGiftID.SelectedIndex = ddlLeadSourceID.Items.IndexOf(ddlGiftID.Items.FindByValue(marketing.GiftID.ToString())); if (marketing.DepositAmount != 0) { txtDepositAmount.Text = marketing.DepositAmount.ToString(); } if (marketing.Refundable) { ddlDepositRefundable.SelectedIndex = ddlDepositRefundable.Items.IndexOf(ddlDepositRefundable.Items.FindByValue("True")); } else { ddlDepositRefundable.SelectedIndex = ddlDepositRefundable.Items.IndexOf(ddlDepositRefundable.Items.FindByValue("False")); } txtNotes.Text = marketing.Notes; }
public void insetMarketing(int cunstoreID) { Marketing marketing = new Marketing(); // marketing.MarketingID= int.Parse(ddlMarketingID.SelectedValue); marketing.CustomerID = cunstoreID; marketing.MarketingAgentID = int.Parse(ddlMarketingAgentID.SelectedValue); marketing.MarketingCloserID = int.Parse(ddlMarketingCloserID.SelectedValue); marketing.MarketingVanueID = int.Parse(ddlMarketingVanueID.SelectedValue); marketing.LeadSourceID = int.Parse(ddlLeadSourceID.SelectedValue); marketing.GiftID = int.Parse(ddlGiftID.SelectedValue); decimal result = 0; if (decimal.TryParse(txtDepositAmount.Text, out result)) { marketing.DepositAmount = decimal.Parse(txtDepositAmount.Text); } else { marketing.DepositAmount = 0; } marketing.Refundable = ddlDepositRefundable.SelectedValue == "Yes" ? true : false; marketing.Notes = txtNotes.Text; int resutl = MarketingManager.InsertMarketing(marketing); }
public void UpdateMarketing() { Marketing marketing = new Marketing(); marketing.MarketingID = Convert.ToInt32(mMarketingID.Value); marketing.CustomerID = Convert.ToInt32(mCusomerID.Value); marketing.MarketingAgentID = int.Parse(ddlMarketingAgentID.SelectedValue); marketing.MarketingCloserID = int.Parse(ddlMarketingCloserID.SelectedValue); marketing.MarketingVanueID = int.Parse(ddlMarketingVanueID.SelectedValue); marketing.LeadSourceID = int.Parse(ddlLeadSourceID.SelectedValue); marketing.GiftID = int.Parse(ddlGiftID.SelectedValue); decimal result = 0; if (decimal.TryParse(txtDepositAmount.Text, out result)) { marketing.DepositAmount = decimal.Parse(txtDepositAmount.Text); } else { marketing.DepositAmount = 0; } marketing.Refundable = ddlDepositRefundable.SelectedValue == "Yes" ? true : false; marketing.Notes = txtNotes.Text; MarketingManager.UpdateMarketing(marketing); }
void RenderUsers() { var users = Marketing.GetUsers(company); var growth = Marketing.GetAudienceChange(company, Q, true); var growthSum = growth.Sum(); var growthSign = Format.SignOf(growthSum); var growthPhrase = $"<b>{growthSign}{Format.MinifyToInteger(growthSum)}</b>"; var growthDescription = Visuals.Colorize(growthPhrase, growthSum > 0); Growth.text = $"<b>{Format.MinifyToInteger(users)}</b> users"; if (growthSum != 0) { Growth.text += $" ({growthDescription})"; } Users.text = $"<b>{company.company.Name}</b>"; if (users != previousUsers) { AnimationSpawner.Spawn(Visuals.Colorize(growthPhrase + " users", growthSum > 0), null); // PlaySound(); previousUsers = users; } }
public override void ViewRender() { base.ViewRender(); var company = Flagship; var tasks = new List <TeamTask>(); for (var teamId = 0; teamId < company.team.Teams.Count; teamId++) { var team = company.team.Teams[teamId]; for (var slotId = 0; slotId < team.Tasks.Count; slotId++) { if (team.Tasks[slotId].IsMarketingTask) { tasks.Add(team.Tasks[slotId]); } //tasks.Add(new SlotInfo { SlotId = slotId, TeamId = teamId }); } } var marketingTasks = tasks .OrderByDescending(t => Marketing.GetChannelClientGain(company, (t as TeamTaskChannelActivity).ChannelId)) .Take(12); SetItems(marketingTasks); }
void RenderClients(GameEntity company) { if (Clients != null) { Clients.text = Format.Minify(Marketing.GetClients(company)); } }
void ManageMarketing(GameEntity product) { var brandingCost = Marketing.GetBrandingCost(product, gameContext); var targetingCost = Marketing.GetTargetingCost(product, gameContext); if (product.isRelease) { if (Companies.IsEnoughResources(product, brandingCost)) { Marketing.StartBrandingCampaign(product, gameContext); } if (Companies.IsEnoughResources(product, targetingCost)) { Marketing.StartTargetingCampaign(product, gameContext); } } else { if (Companies.IsReleaseableApp(product, gameContext)) { Marketing.ReleaseApp(gameContext, product); } else { Marketing.StartTestCampaign(product, gameContext); } } }
public override string RenderValue() { return(""); var clients = Markets.GetAudienceSize(Q, SelectedNiche); var flow = Marketing.GetClientFlow(Q, SelectedNiche); return($"{Format.Minify(clients)} users\n\n+{Format.Minify(flow)} this month"); var potential = Markets.GetMarketPotential(Q, SelectedNiche); if (potential == 0) { return("???"); } var niche = Markets.GetNiche(Q, SelectedNiche); var min0 = Markets.GetMarketPotentialMin(niche); var max0 = Markets.GetMarketPotentialMax(niche); var min = Math.Min(min0, max0); var max = Math.Max(min0, max0); return(Format.Money(min) + " ... " + Format.Money(max)); }
public override string RenderValue() { var demand = Marketing.GetClientFlow(Q, SelectedNiche); var audience = Markets.GetAudienceSize(Q, SelectedNiche); return($"{Format.Minify(audience)} users"); // (+{Format.Minify(demand)} weekly)"; }
static void Main(string[] args) { //Set these before running. var serverid = 0000; var marketinApiKey = ""; var injectionApiKey = ""; var marketing = new Marketing(marketinApiKey, serverid); var content = marketing.GetContent(); foreach (var tent in content) { Console.WriteLine(tent.ToString()); } var recipients = new List <System.Net.Mail.MailAddress>(); //Keep adding as many recipients as you need. recipients.Add(new MailAddress("*****@*****.**", "example guy")); var mailer = new Mailer(injectionApiKey, serverid); mailer.SendMergeMessageWithUnlimitedRecipientsUsingHelper(recipients.ToArray()); //mailer.SendMergeMessageWithMultipleRecipientsUsingHelper(); Console.WriteLine("Press Enter to Continue."); Console.ReadLine(); }
public override void ViewRender() { base.ViewRender(); var companies = Companies.GetCompetitorsOf(Flagship, Q, true); var interval = 40; if (SortByIncome) { companies = companies.OrderBy(c => Economy.GetIncome(Q, c)); //maxValue = companies.Max(c => Economy.GetCompanyIncome(Q, c)); //minValue = companies.Min(c => Economy.GetCompanyIncome(Q, c)); var income = Economy.GetIncome(Q, Flagship); maxValue = income * (100 + interval) / 100; minValue = income * (100 - interval) / 100; } else { companies = companies.OrderBy(Marketing.GetUsers); var clients = Marketing.GetUsers(Flagship); maxValue = clients * (100 + interval) / 100; minValue = clients * (100 - interval) / 100; //maxValue = companies.Max(Marketing.GetClients); //minValue = companies.Min(Marketing.GetClients); } SetItems(companies); }
public Marketing GetMarketingFromReader(IDataReader reader) { try { Marketing marketing = new Marketing ( DataAccessObject.IsNULL <int>(reader["MarketingID"]), DataAccessObject.IsNULL <int>(reader["CustomerID"]), DataAccessObject.IsNULL <int>(reader["MarketingAgentID"]), DataAccessObject.IsNULL <int>(reader["MarketingCloserID"]), DataAccessObject.IsNULL <int>(reader["MarketingVanueID"]), DataAccessObject.IsNULL <int>(reader["LeadSourceID"]), DataAccessObject.IsNULL <int>(reader["GiftID"]), DataAccessObject.IsNULL <decimal>(reader["DepositAmount"]), DataAccessObject.IsNULL <bool>(reader["Refundable"]), DataAccessObject.IsNULL <string>(reader["Notes"]) ); return(marketing); } catch (Exception ex) { return(null); } }
protected override void Execute(List <GameEntity> entities) { var products = Companies.GetProductCompanies(gameContext); foreach (var product in products) { var ideaPerExpertise = Balance.IDEA_PER_EXPERTISE; var expertiseLevel = product.companyResource.Resources.ideaPoints / ideaPerExpertise; if (expertiseLevel > 0) { product.expertise.ExpertiseLevel += expertiseLevel; Companies.SpendResources(product, new TeamResource(0, 0, 0, expertiseLevel * ideaPerExpertise, 0)); } } // release AI apps if can var releasableAIApps = products .Where(p => Companies.IsReleaseableApp(p, gameContext)) .Where(p => !Companies.IsPlayerFlagship(gameContext, p)) ; foreach (var concept in releasableAIApps) { Marketing.ReleaseApp(gameContext, concept); } }
public override void Execute() { var channelId = ChannelInfo.ID; var product = Flagship; var payer = MyCompany; if (Marketing.IsActiveInChannel(product, channelId)) { Debug.Log("Is active already"); return; } if (Marketing.IsNeedsMoreMarketersForCampaign(product)) { NotificationUtils.AddSimplePopup(Q, "Hire more marketers!"); return; } var task = TeamTaskChannelActivity.FromChannel(ChannelInfo); // new TeamTaskChannelActivity(channelId, Marketing.GetChannelCost(product, channelId)); var cost = Teams.GetTaskCost(product, task, Q); /*if (Companies.IsEnoughResources(payer, cost)) * {*/ if (Teams.AddTeamTask(product, CurrentIntDate, Q, 0, task)) { Animate(Visuals.Negative($"-{Format.Money(cost)}")); } //} }
string GetCompanyHint(bool hasControl) { StringBuilder hint = new StringBuilder(company.company.Name); var position = Markets.GetPositionOnMarket(Q, company); // var clients = Marketing.GetUsers(company); var change = Marketing.GetAudienceChange(company, Q); //CompanyGrowth.text = Format.SignOf(change) + Format.Minify(change); //CompanyGrowth.color = Visuals.GetColorPositiveOrNegative(change); //CompanyGrowth.GetComponent<Hint>().SetHint($"Audience change: <b>{Format.Minify(change)}</b>"); hint.AppendLine($"\n\n"); hint.AppendLine($"Users: <b>{Format.Minify(clients)}</b> (#{position + 1})"); hint.AppendLine($"Audience change: <b>{Format.Minify(change)}</b>"); hint.AppendLine(GetProfitDescription()); if (hasControl) { hint.AppendLine(Visuals.Colorize("\nYou control this company", Colors.COLOR_CONTROL)); } return(hint.ToString()); }
private void OnEnable() { //segmentId = Flagship.productTargetAudience.SegmentId; segmentId = Marketing.GetCoreAudienceId(Flagship); // Mathf.Clamp(Flagship.productPositioning.Positioning, 0, Marketing.GetAudienceInfos().Count); // Marketing.GetAudienceInfos().Where(a => a.ID == ).First().ID; ViewRender(); }
private void Initialize() { random = new System.Random(); model = new Model(); marketing = model.Marketing; training = model.Training; }
public void AddAdjustment(Marketing.DiscountDetail discount) { this.DiscountDetails.Add(discount); }
public void AddShippingDiscount(Marketing.DiscountDetail discount) { this.ShippingDiscountDetails.Add(discount); }
public void AddOrderDiscount(Marketing.DiscountDetail discount) { this.OrderDiscountDetails.Add(discount); }
public bool UpdateMarketing(Marketing marketing) { using (SqlConnection connection = new SqlConnection(this.ConnectionString)) { SqlCommand cmd = new SqlCommand("UpdateMarketing", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MarketingID", SqlDbType.Int).Value = marketing.MarketingID; cmd.Parameters.Add("@CustomerID", SqlDbType.Int).Value = marketing.CustomerID; cmd.Parameters.Add("@MarketingAgentID", SqlDbType.Int).Value = marketing.MarketingAgentID; cmd.Parameters.Add("@MarketingCloserID", SqlDbType.Int).Value = marketing.MarketingCloserID; cmd.Parameters.Add("@MarketingVanueID", SqlDbType.Int).Value = marketing.MarketingVanueID; cmd.Parameters.Add("@LeadSourceID", SqlDbType.Int).Value = marketing.LeadSourceID; cmd.Parameters.Add("@GiftID", SqlDbType.Int).Value = marketing.GiftID; cmd.Parameters.Add("@DepositAmount", SqlDbType.Decimal).Value = marketing.DepositAmount; cmd.Parameters.Add("@Refundable", SqlDbType.Bit).Value = marketing.Refundable; cmd.Parameters.Add("@Notes", SqlDbType.NVarChar).Value = marketing.Notes; connection.Open(); int result = cmd.ExecuteNonQuery(); return result == 1; } }
public static bool UpdateMarketing(Marketing marketing) { SqlMarketingProvider sqlMarketingProvider = new SqlMarketingProvider(); return sqlMarketingProvider.UpdateMarketing(marketing); }
public Marketing GetMarketingFromReader(IDataReader reader) { try { Marketing marketing = new Marketing ( DataAccessObject.IsNULL<int>(reader["MarketingID"]), DataAccessObject.IsNULL<int>(reader["CustomerID"]), DataAccessObject.IsNULL<int>(reader["MarketingAgentID"]), DataAccessObject.IsNULL<int>(reader["MarketingCloserID"]), DataAccessObject.IsNULL<int>(reader["MarketingVanueID"]), DataAccessObject.IsNULL<int>(reader["LeadSourceID"]), DataAccessObject.IsNULL<int>(reader["GiftID"]), DataAccessObject.IsNULL<decimal>(reader["DepositAmount"]), DataAccessObject.IsNULL<bool>(reader["Refundable"]), DataAccessObject.IsNULL<string>(reader["Notes"]) ); return marketing; } catch(Exception ex) { return null; } }
public MarketingView(Marketing m) { InitializeComponent(); }
public static int InsertMarketing(Marketing marketing) { SqlMarketingProvider sqlMarketingProvider = new SqlMarketingProvider(); return sqlMarketingProvider.InsertMarketing(marketing); }
public Marketing GetMarketing(int CodMarketing) { using (SmartBagEntities entities = new SmartBagEntities()) { try { Marketing tBT_Marketing = (from mk in entities.TBT_MARKETING.Where(x => x.CodMarketing == CodMarketing) join tpM in entities.TBT_TIPO_MARKETING on mk.CodTipoMarketing equals tpM.CodTipoMarketing join m in entities.TBT_MARCA on mk.CodMarca equals m.CodMarca select new Marketing { CodMarketing = (int)mk.CodMarketing, CodTipoMarketing = (int)tpM.CodTipoMarketing, TipoMarketing = tpM.Descricao, CodMarca = m.CodMarca, Marca = m.Descricao, Titulo = mk.Titulo, Descricao = mk.Descricao, TipoArquivo = mk.TipoArquivo, NomeArquivo = mk.NomeArquivo, Ativo = mk.IndAtivo == 1, Destaque = mk.IndDestaque == 1, DataCadastro = mk.CtrlDataOperacao.Value }).FirstOrDefault(); return(tBT_Marketing); } catch (Exception e) { throw e; } } }