// GET public ActionResult Index(int pGenerationId) { foreach (var generationModel in GenerationModelController.GenerationModels) { if (generationModel.Id == pGenerationId) { GenerationModel selectedGeneration = generationModel; return(View(selectedGeneration)); } } return(RedirectToAction("Index", "Generations")); }
private static GenerationModel GenerateGenerationModel(Generation pGeneration) { GenerationModel model = new GenerationModel() { Id = pGeneration.Id, Population = GenerateGenerationOfModels(pGeneration), FitnessAverage = pGeneration.FitnessAverage, WorstFitness = pGeneration.WorstRun.Fitness, BestFitness = pGeneration.BestRun.Fitness }; return(model); }
public async Task <string> SetPowerUsageGeneration(GenerationModel model) { var generation = new Generation { Email = model.Email, DeviceId = "123456789", GenerationInKW = model.ActualBackdeliverSolarProductionOwn.Sum() }; var response = await SmartContractService.SetPowerUsageGeneration(generation); return(response); }
public void AddToCurrentGeneration(RenderResultModel renderResult) { GenerationModel <RenderResultModel> newGeneration = new GenerationModel <RenderResultModel>(CurrentGeneration, renderResult); foreach (string fileName in renderResult.OutputPaths) { List <GenerationModel <RenderResultModel> > previousGens = _generations.ContainsKey(fileName) ? _generations[fileName] : null; if (previousGens is null || !previousGens.Any()) { _generations.Add(fileName, new List <GenerationModel <RenderResultModel> > { newGeneration }); }
public async Task SetPowerUsageGenTest() { //given var manager = new SmartContractManager(); var generation = new GenerationModel { Email = "*****@*****.**", ActualBackdeliverSolarProductionOwn = new List <int> { 1000, 200, 3000 } }; //when var actual = await manager.SetPowerUsageGeneration(generation); //then Assert.IsNotNull(actual); }
public async Task <IHttpActionResult> Generate(GenerationModel model) { dynamic data = new ExpandoObject(); try { var config = new GeneratorConfig { StartDate = model.StartDate, EndDate = model.EndDate, OpenTime = model.OpenTime.ToTodayDateTime(), CloseTime = model.CloseTime.ToTodayDateTime(), LimitNumber = model.LimitNumber, LimitOption = model.LimitOption }; var generationResponse = await _instantWinService.GenerateInstantWinMoments(config, model.Allocable); data.GeneratedNumber = generationResponse.generatedNumber; var response = new ApiResponse { Success = generationResponse.status, Message = "SUCCESS", Data = data }; return(Ok(response)); } catch (Exception e) { data.Description = e.Message; var apiResponse = new ApiResponse { Success = false, Message = "FAILED", Data = data }; return(Content(HttpStatusCode.InternalServerError, apiResponse)); } }
public async Task <IHttpActionResult> PostGeneration(GenerationModel model) { try { //1. Authorize Request if (!IsAuthorized()) { _logger.Warn($"{ nameof(this.PostGeneration)} Unauthorised user"); return(Unauthorized()); } var postContent = Request.Content.ReadAsStringAsync().Result; _logger.Info($"{ nameof(this.PostGeneration)} Payload : {postContent}"); var content = JsonConvert.SerializeObject(model); _logger.Info($"{ nameof(this.PostGeneration)} Payload : {content}"); model = new GenerationModel { Email = "*****@*****.**", ActualBackdeliverSolarProductionOwn = new List <int> { 1000, 200, 3000 } }; //2. Post Generation var result = await SmartContractManager.SetPowerUsageGeneration(model); _logger.Info($"{ nameof(this.PostGeneration)} Consumption Post Success"); return(Ok(result)); } catch (Exception ex) { _logger.Error($"{ nameof(this.PostGeneration)} Error :{ex}"); } return(Ok()); }
private void generateButton_Click(object sender, EventArgs e) { var noOfClauseTuple = getNoOfClauses(); var lengthOfClausesTuple = getLengthOfClause(); var generationModel = new GenerationModel { GeneratorType = (GeneratorTypeEnum)generatorTypeComboBox.SelectedItem, FileName = fileNameTextBox.Text, NoOfVariables = (int)noOfVariableUpDown.Value, NoOfRepetitions = (int)repetitionsUpDown.Value, LengthOfClauseType = lengthOfClausesTuple.Item1, LengthOfClauseValue = lengthOfClausesTuple.Item2, NoOfClausesType = noOfClauseTuple.Item1, NoOfClausesValue = noOfClauseTuple.Item2, NegationPropability = (double)negPropUpDown.Value, }; IGeneratorImpl generatorImpl = new GeneratorImpl(generationModel); var result = generatorImpl.generate(); var message = $"Successfully generated dimacs: {result} / {generationModel.NoOfRepetitions}"; MessageBox.Show(message); }
// Actual work public void DoWork() { List <GenerationModel> generations = new List <GenerationModel>(); while (!_shouldStop) { GenerationCounter++; float[] results = Population.evaluateGeneration(Connection, Fitness); // posting generation statistics float avg = results.Average(); float max = results.Max(); float min = results.Min(); postGenerationResults(avg, max, min); GenerationModel model = new GenerationModel(); model.GenerationId = GenerationCounter; model.FitnessValues = results; generations.Add(model); if (_shouldStop || GenerationCounter >= MAX_GENERATIONS) { break; } // creating new population Population.createNewGeneration(Crossover, Mutation); } CreateExcelReport(generations); if (EvolutionStoppedEvent != null) { EvolutionStoppedEvent(); } }
public async Task Add(GenerationModel generationModel) { await _databaseContext.Generations.AddAsync(generationModel); await _databaseContext.SaveChangesAsync(); }
private void button3_Click(object sender, EventArgs e) { try { #region 校验 if (string.IsNullOrWhiteSpace(this.txtSave.Text)) { MessageBox.Show("保存路径不能为空!"); return; } if (string.IsNullOrWhiteSpace(this.txtSelect.Text)) { MessageBox.Show("请选择XML文件!"); return; } if (!File.Exists(this.txtSelect.Text)) { MessageBox.Show("选择的XML文件不存在!"); return; } #if DEBUG this.txtModule.Text = string.IsNullOrWhiteSpace(this.txtModule.Text) ? "generation" : this.txtModule.Text; this.txtPrimaryPath.Text = string.IsNullOrWhiteSpace(this.txtPrimaryPath.Text) ? "generation" : this.txtPrimaryPath.Text; #endif if (string.IsNullOrWhiteSpace(this.txtPrimaryPath.Text)) { MessageBox.Show("一级名称不能为空!"); return; } if (string.IsNullOrWhiteSpace(this.txtModule.Text)) { MessageBox.Show("模块名不能为空!"); return; } #endregion // 序列化XML StringReader xmlReader = Utils.XmlUtil.getStrXml(this.txtSelect.Text); XmlSerializer xmlSer = new XmlSerializer(typeof(GenerationModel)); GenerationModel generationModel = (GenerationModel)xmlSer.Deserialize(xmlReader); xmlReader.Close(); if (generationModel == null) { MessageBox.Show("序列化XML文件存在问题,请检查格式!"); return; } IModule module; if (generationModel.DataArea.GridIsShow == (int)DefaultSetting.IsShow.YES && generationModel.DataArea.ChartIsShow == (int)DefaultSetting.IsShow.NO) { // 新建一个只有列表的模块 module = new GridImpl(); } else { module = new GridImpl(); } GeneralPropertyModel generalPropertyModel = new GeneralPropertyModel(); generalPropertyModel.GenerationModel = generationModel; generalPropertyModel.Path = this.txtSave.Text; generalPropertyModel.MoudleName = this.txtModule.Text; module.Init(generalPropertyModel); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public GeneratorImpl(GenerationModel generationModel) { _generationModel = generationModel; _generator = GeneratorResolver.getGenerator(generationModel.GeneratorType); _clauseWriter = new CnfClauseWriter(); }