/// <summary> /// Adds an experiment. /// </summary> /// <param name="user">The user.</param> /// <param name="campaignId">The campaign id.</param> /// <param name="adGroupId">The ad group id.</param> /// <param name="criterionId">The criterion id.</param> /// <returns>The experiment id.</returns> public long AddExperiment(AdWordsUser user, long campaignId, long adGroupId, long criterionId) { // Get the ExperimentService. ExperimentService experimentService = (ExperimentService)user.GetService(AdWordsService.v201406.ExperimentService); // Get the AdGroupService. AdGroupService adGroupService = (AdGroupService)user.GetService(AdWordsService.v201406.AdGroupService); // Get the AdGroupCriterionService. AdGroupCriterionService adGroupCriterionService = (AdGroupCriterionService)user.GetService(AdWordsService.v201406.AdGroupCriterionService); // Create the experiment. Experiment experiment = new Experiment(); experiment.campaignId = campaignId; experiment.name = "Interplanetary Cruise #" + GetTimeStamp(); experiment.queryPercentage = 10; experiment.startDateTime = DateTime.Now.AddDays(1).ToString("yyyyMMdd HHmmss"); // Create the operation. ExperimentOperation experimentOperation = new ExperimentOperation(); experimentOperation.@operator = Operator.ADD; experimentOperation.operand = experiment; // Add the experiment. ExperimentReturnValue experimentRetVal = experimentService.mutate( new ExperimentOperation[] { experimentOperation }); return(experimentRetVal.value[0].id); }
public JsonResult UpdateBot() { ExperimentService experimentService = new ExperimentService(); experimentService.PushToRedis(); return(Json("okay")); }
public JsonResult Analyze(string input) { ExperimentService experimentService = new ExperimentService(); ExperimentResultViewModel pattern = experimentService.Analyze(input); return(Json(pattern, JsonRequestBehavior.AllowGet)); }
public async Task <IActionResult> PutExperimentSettings([FromBody] ExperimentSettings experimentSettings) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await ExperimentService.UpdateSettingsAsync(experimentSettings); return(NoContent()); }
public async Task <IActionResult> PostExperimentSettings([FromBody] ExperimentSettings experimentSettings) { experimentSettings.LogicalName = "experiment_settings"; experimentSettings.CreatedOn = DateTime.Now; experimentSettings.Experiment = await ExperimentRepository.GetByIdAsync(experimentSettings.ExperimentId); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } experimentSettings = await ExperimentService.CreateSettingsAsync(experimentSettings); return(CreatedAtAction("GetExperimentSettings", new { id = experimentSettings.Id }, experimentSettings)); }
public List <(int, double)> RunExperiment(int startSize, int finalSize, int step, int matrixQuantity, double averChange, BackgroundWorker worker, string processingMessage, string additionalMessage) { List <(int, double)> results = new List <(int, double)>(); var random = new Random(); var solver = new Solver(); var quantity = Math.Floor((double)((finalSize - startSize) / step) + 1); var progress = 1; var interval = (int)(100 / (quantity)); if (additionalMessage != ", R = ") { worker.ReportProgress(0, string.Format("{0}N = {1}{2}", processingMessage, startSize, additionalMessage)); } else { worker.ReportProgress(0, string.Format("{0}N = {1}{2}{3}", processingMessage, startSize, additionalMessage, matrixQuantity)); } for (int i = startSize; i <= finalSize; i += step) { results.Add((i, SearchMeanPercentForSize(i, matrixQuantity, averChange, solver, random))); if ((i + step) <= finalSize) { if (additionalMessage != ", R = ") { worker.ReportProgress(progress * interval, string.Format("{0}N = {1}{2}", processingMessage, i + step, additionalMessage)); } else { worker.ReportProgress(progress * interval, string.Format("{0}N = {1}{2}{3}", processingMessage, i + step, additionalMessage, matrixQuantity)); } } progress++; } var service = new ExperimentService(); service.AddExperimentResult(results, _generator, averChange, matrixQuantity, _cChangeParameters); return(results); }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="experimentId">Id of the experiment to be promoted.</param> public void Run(AdWordsUser user, long experimentId) { // Get the ExperimentService. ExperimentService experimentService = (ExperimentService)user.GetService(AdWordsService.v201607.ExperimentService); // Set experiment's status to PROMOTED. Experiment experiment = new Experiment(); experiment.id = experimentId; experiment.status = ExperimentStatus.PROMOTED; // Create the operation. ExperimentOperation operation = new ExperimentOperation(); operation.@operator = Operator.SET; operation.operand = experiment; try { // Update the experiment. ExperimentReturnValue retVal = experimentService.mutate( new ExperimentOperation[] { operation }); // Display the results. if (retVal != null && retVal.value != null && retVal.value.Length > 0) { Experiment promotedExperiment = retVal.value[0]; Console.WriteLine("Experiment with name = \"{0}\" and id = \"{1}\" was promoted.\n", promotedExperiment.name, promotedExperiment.id); } else { Console.WriteLine("No experiments were promoted."); } } catch (Exception e) { throw new System.ApplicationException("Failed to promote experiment.", e); } }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="campaignId">Id of the campaign to which experiments are /// added.</param> /// <param name="adGroupId">Id of the ad group to which experiments are /// added.</param> /// <param name="criterionId">Id of the criterion for which experiments /// are added.</param> public void Run(AdWordsUser user, long campaignId, long adGroupId, long criterionId) { // Get the ExperimentService. ExperimentService experimentService = (ExperimentService)user.GetService(AdWordsService.v201607.ExperimentService); // Get the AdGroupService. AdGroupService adGroupService = (AdGroupService)user.GetService(AdWordsService.v201607.AdGroupService); // Get the AdGroupCriterionService. AdGroupCriterionService adGroupCriterionService = (AdGroupCriterionService)user.GetService(AdWordsService.v201607.AdGroupCriterionService); // Create the experiment. Experiment experiment = new Experiment(); experiment.campaignId = campaignId; experiment.name = "Interplanetary Cruise #" + ExampleUtilities.GetRandomString(); experiment.queryPercentage = 10; experiment.startDateTime = DateTime.Now.AddDays(1).ToString("yyyyMMdd HHmmss"); // Optional: Set the end date. experiment.endDateTime = DateTime.Now.AddDays(30).ToString("yyyyMMdd HHmmss"); // Optional: Set the status. experiment.status = ExperimentStatus.ENABLED; // Create the operation. ExperimentOperation experimentOperation = new ExperimentOperation(); experimentOperation.@operator = Operator.ADD; experimentOperation.operand = experiment; try { // Add the experiment. ExperimentReturnValue experimentRetVal = experimentService.mutate( new ExperimentOperation[] { experimentOperation }); // Display the results. if (experimentRetVal != null && experimentRetVal.value != null && experimentRetVal.value. Length > 0) { long experimentId = 0; Experiment newExperiment = experimentRetVal.value[0]; Console.WriteLine("Experiment with name = \"{0}\" and id = \"{1}\" was added.\n", newExperiment.name, newExperiment.id); experimentId = newExperiment.id; // Set ad group for the experiment. AdGroup adGroup = new AdGroup(); adGroup.id = adGroupId; // Create experiment bid multiplier rule that will modify ad group bid // for the experiment. ManualCPCAdGroupExperimentBidMultipliers adGroupBidMultiplier = new ManualCPCAdGroupExperimentBidMultipliers(); adGroupBidMultiplier.maxCpcMultiplier = new BidMultiplier(); adGroupBidMultiplier.maxCpcMultiplier.multiplier = 1.5; // Set experiment data to the ad group. AdGroupExperimentData adGroupExperimentData = new AdGroupExperimentData(); adGroupExperimentData.experimentId = experimentId; adGroupExperimentData.experimentDeltaStatus = ExperimentDeltaStatus.MODIFIED; adGroupExperimentData.experimentBidMultipliers = adGroupBidMultiplier; adGroup.experimentData = adGroupExperimentData; // Create the operation. AdGroupOperation adGroupOperation = new AdGroupOperation(); adGroupOperation.operand = adGroup; adGroupOperation.@operator = Operator.SET; // Update the ad group. AdGroupReturnValue adGroupRetVal = adGroupService.mutate(new AdGroupOperation[] { adGroupOperation }); // Display the results. if (adGroupRetVal != null && adGroupRetVal.value != null && adGroupRetVal.value.Length > 0) { AdGroup updatedAdGroup = adGroupRetVal.value[0]; Console.WriteLine("Ad group with name = \"{0}\", id = \"{1}\" and status = \"{2}\" " + "was updated for the experiment.\n", updatedAdGroup.name, updatedAdGroup.id, updatedAdGroup.status); } else { Console.WriteLine("No ad groups were updated."); } // Set ad group criteria for the experiment. Criterion criterion = new Criterion(); criterion.id = criterionId; BiddableAdGroupCriterion adGroupCriterion = new BiddableAdGroupCriterion(); adGroupCriterion.adGroupId = adGroupId; adGroupCriterion.criterion = criterion; // Create experiment bid multiplier rule that will modify criterion bid // for the experiment. ManualCPCAdGroupCriterionExperimentBidMultiplier bidMultiplier = new ManualCPCAdGroupCriterionExperimentBidMultiplier(); bidMultiplier.maxCpcMultiplier = new BidMultiplier(); bidMultiplier.maxCpcMultiplier.multiplier = 1.5; // Set experiment data to the criterion. BiddableAdGroupCriterionExperimentData adGroupCriterionExperimentData = new BiddableAdGroupCriterionExperimentData(); adGroupCriterionExperimentData.experimentId = experimentId; adGroupCriterionExperimentData.experimentDeltaStatus = ExperimentDeltaStatus.MODIFIED; adGroupCriterionExperimentData.experimentBidMultiplier = bidMultiplier; adGroupCriterion.experimentData = adGroupCriterionExperimentData; // Create the operation. AdGroupCriterionOperation adGroupCriterionOperation = new AdGroupCriterionOperation(); adGroupCriterionOperation.operand = adGroupCriterion; adGroupCriterionOperation.@operator = Operator.SET; // Update the ad group criteria. AdGroupCriterionReturnValue adGroupCriterionRetVal = adGroupCriterionService.mutate( new AdGroupCriterionOperation[] { adGroupCriterionOperation }); // Display the results. if (adGroupCriterionRetVal != null && adGroupCriterionRetVal.value != null && adGroupCriterionRetVal.value.Length > 0) { AdGroupCriterion updatedAdGroupCriterion = adGroupCriterionRetVal.value[0]; Console.WriteLine("Ad group criterion with ad group id = \"{0}\", criterion id = " + "\"{1}\" and type = \"{2}\" was updated for the experiment.\n", updatedAdGroupCriterion.adGroupId, updatedAdGroupCriterion.criterion.id, updatedAdGroupCriterion.criterion.CriterionType); } else { Console.WriteLine("No ad group criteria were updated."); } } else { Console.WriteLine("No experiments were added."); } } catch (Exception e) { throw new System.ApplicationException("Failed to add experiment.", e); } }
public ExperimentController(IDatabaseContext context) { _experimentService = new ExperimentService(context); }
public ExperimentController() { _experimentService = new ExperimentService(new DatabaseContext()); }
public ExperimentController(ExperimentService exptSvc) { _exptSvc = exptSvc; }
public ExperimentController(UserManager <ApplicationUser> manager) { _experimentService = new ExperimentService(); _manager = manager; }
public async Task <IActionResult> CheckAvailability([FromQuery] string title, [FromQuery] Guid userId) { var result = await ExperimentService.CheckAvailability(title, userId); return(Ok(result)); }