Exemplo n.º 1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,NomeRede,NomeArquivo,Descricao,DataUpload")] ArquivoRedeBayesiana arquivoRedeBayesiana)
        {
            if (id != arquivoRedeBayesiana.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(arquivoRedeBayesiana);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ArquivoRedeBayesianaExists(arquivoRedeBayesiana.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(arquivoRedeBayesiana));
        }
        public async Task <ActionResult <ArquivoRedeBayesiana> > PostArquivoRedeBayesiana(ArquivoRedeViewModel arg)
        {
            ArquivoRedeService   arquivoRedeService = new ArquivoRedeService(_context);
            ArquivoRedeBayesiana arq = await arquivoRedeService.AddArquivoRedeBayesiana(arg);

            return(CreatedAtAction("GetArquivoRedeBayesiana", new { id = arq.ID }, arq));
        }
        public async Task <FileBayesianNetwork> GetRedeBayesiana(ArquivoRedeBayesiana arg)
        {
            var serializerSettings = new JsonSerializerSettings
            {
                TypeNameHandling           = TypeNameHandling.Auto,
                ContractResolver           = new CollectionAsObjectResolver(),
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            };
            var serializer = JsonSerializer.Create(serializerSettings);

            FileBayesianNetwork redeBayesiana;

            // read from disk
            using (FileStream stream = new FileStream(@"RepoArquivos/" + @arg.NomeArquivo, FileMode.Open))
            {
                var streamReader = new StreamReader(stream);
                var jsonReader   = new JsonTextReader(streamReader);
                redeBayesiana = serializer.Deserialize <FileBayesianNetwork>(jsonReader);
            }
            return(redeBayesiana);
        }
Exemplo n.º 4
0
        // GET: NetworkNodeBelief/Create
        public ActionResult Create(int id)
        {
            _nodeBeliefService.IdRede = id;
            ArquivoRedeBayesiana arquivoRedeBayesiana = _context.ArquivosRedeBayesiana.Find(id);

            if (arquivoRedeBayesiana == null)
            {
                return(NotFound());
            }
            ServiceRedeBayesiana serviceRede   = new ServiceRedeBayesiana();
            FileBayesianNetwork  redeBayesiana = JsonConvert.DeserializeObject <FileBayesianNetwork>(arquivoRedeBayesiana.ArquivoJson);

            List <Node> lstNode = redeBayesiana.Nodes.Where(n => n.Parents.Count == 0).ToList();

            foreach (var item in _nodeBeliefService.NodesBelief)
            {
                Node _node = lstNode.Where(n => n.Id == item.Id).SingleOrDefault();
                if (_node != null)
                {
                    lstNode.Remove(_node);
                }
            }
            ViewData["Id"]         = new SelectList(lstNode, "Id", "Id");
            ViewData["BeliefType"] = new[]
            {
                new SelectListItem()
                {
                    Value = ((int)TypeBelief.Presente).ToString(), Text = "Presente"
                },
                new SelectListItem()
                {
                    Value = ((int)TypeBelief.Ausente).ToString(), Text = "Ausente"
                },
                new SelectListItem()
                {
                    Value = ((int)TypeBelief.Default).ToString(), Text = "Default"
                },
            };
            return(View());
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Create(IFormFile file, string nomeRede, string descricaoRede)
        {
            var result = string.Empty;

            using (var reader = new StreamReader(file.OpenReadStream()))
            {
                result = reader.ReadToEnd();
            }

            ArquivoRedeViewModel arquivoRede = new ArquivoRedeViewModel();

            arquivoRede.RedeBayesianaJson = JsonConvert.DeserializeObject <FileBayesianNetwork>(result);
            arquivoRede.Descricao         = descricaoRede;
            arquivoRede.NomeRede          = nomeRede;

            ArquivoRedeService   arquivoRedeService = new ArquivoRedeService(_context);
            ArquivoRedeBayesiana arq = await arquivoRedeService.AddArquivoRedeBayesiana(arquivoRede);


            return(RedirectToAction("Details", new { id = arq.ID }));
            // return View(arq);
        }
        public async Task <ArquivoRedeBayesiana> AddArquivoRedeBayesiana(ArquivoRedeViewModel arg)
        {
            ArquivoRedeBayesiana arquivoRedeBayesiana = new ArquivoRedeBayesiana();

            arquivoRedeBayesiana.DataUpload  = DateTime.Now;
            arquivoRedeBayesiana.Descricao   = arg.Descricao;
            arquivoRedeBayesiana.NomeRede    = string.IsNullOrEmpty(arg.NomeRede) ? arg.RedeBayesianaJson.Network.name : arg.NomeRede;
            arquivoRedeBayesiana.ArquivoJson = JsonConvert.SerializeObject(arg.RedeBayesianaJson);



            //Necessario salvar para obter id para usar no nome do arquivo
            _context.ArquivosRedeBayesiana.Add(arquivoRedeBayesiana);
            await _context.SaveChangesAsync();

            //Atualiza nome arquivo com Id e salva novamente
            arquivoRedeBayesiana.NomeArquivo = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + "_" + arquivoRedeBayesiana.ID.ToString("D8") + ".json";
            _context.ArquivosRedeBayesiana.Update(arquivoRedeBayesiana);
            await _context.SaveChangesAsync();

            var serializerSettings = new JsonSerializerSettings
            {
                TypeNameHandling           = TypeNameHandling.Auto,
                ContractResolver           = new CollectionAsObjectResolver(),
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            };
            var serializer = JsonSerializer.Create(serializerSettings);


            // write to disk
            using (FileStream stream = new FileStream(@"RepoArquivos/" + @arquivoRedeBayesiana.NomeArquivo, FileMode.Create))
            {
                var streamWriter = new StreamWriter(stream);
                var jsonWriter   = new JsonTextWriter(streamWriter);
                serializer.Serialize(jsonWriter, arg.RedeBayesianaJson);
                jsonWriter.Flush();
            }
            return(arquivoRedeBayesiana);
        }