// 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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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
                    });
                }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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));
            }
        }
Exemplo n.º 7
0
        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());
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        // 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();
            }
        }
Exemplo n.º 10
0
        public async Task Add(GenerationModel generationModel)
        {
            await _databaseContext.Generations.AddAsync(generationModel);

            await _databaseContext.SaveChangesAsync();
        }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
 public GeneratorImpl(GenerationModel generationModel)
 {
     _generationModel = generationModel;
     _generator       = GeneratorResolver.getGenerator(generationModel.GeneratorType);
     _clauseWriter    = new CnfClauseWriter();
 }