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); }
// 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()); }
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); }